@adonis-agora/durable 1.0.0-rc.24 → 1.0.0-rc.25
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.
- package/CHANGELOG.md +8 -0
- package/dist/assets/spa/assets/index-DFNxrdSx.css +1 -0
- package/dist/assets/spa/assets/{index-DduaFPz8.js → index-cmhkQ5N1.js} +2 -2
- package/dist/assets/spa/assets/{index-DduaFPz8.js.map → index-cmhkQ5N1.js.map} +1 -1
- package/dist/assets/spa/index.html +2 -2
- package/dist/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +5 -0
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/copy-guard.d.ts +39 -0
- package/dist/src/copy-guard.d.ts.map +1 -0
- package/dist/src/copy-guard.js +108 -0
- package/dist/src/copy-guard.js.map +1 -0
- package/dist/src/dashboard/index.d.ts +1 -1
- package/dist/src/dashboard/index.js +1 -1
- package/dist/src/doctor/checks.d.ts +3 -0
- package/dist/src/doctor/checks.d.ts.map +1 -1
- package/dist/src/doctor/checks.js +24 -0
- package/dist/src/doctor/checks.js.map +1 -1
- package/dist/src/engine.d.ts +1 -0
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +2 -0
- package/dist/src/engine.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/assets/spa/assets/index-ChDc-SJJ.css +0 -1
|
@@ -46,7 +46,7 @@ Error generating stack: `+e.message+`
|
|
|
46
46
|
`},C_=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},w_=function(){p.useEffect(function(){return document.body.setAttribute(x_,(C_()+1).toString()),function(){var e=C_()-1;e<=0?document.body.removeAttribute(x_):document.body.setAttribute(x_,e.toString())}},[])},T_=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;w_();var a=p.useMemo(function(){return y_(i)},[i]);return p.createElement(b_,{styles:S_(a,!t,i,n?``:`!important`)})},E_=!1;if(typeof window<`u`)try{var D_=Object.defineProperty({},"passive",{get:function(){return E_=!0,!0}});window.addEventListener(`test`,D_,D_),window.removeEventListener(`test`,D_,D_)}catch{E_=!1}var O_=E_?{passive:!1}:!1,k_=function(e){return e.tagName===`TEXTAREA`},A_=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!k_(e)&&n[t]===`visible`)},j_=function(e){return A_(e,`overflowY`)},M_=function(e){return A_(e,`overflowX`)},N_=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),I_(e,r)){var i=L_(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},P_=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},F_=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},I_=function(e,t){return e===`v`?j_(t):M_(t)},L_=function(e,t){return e===`v`?P_(t):F_(t)},R_=function(e,t){return e===`h`&&t===`rtl`?-1:1},z_=function(e,t,n,r,i){var a=R_(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=L_(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&I_(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},B_=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},V_=function(e){return[e.deltaX,e.deltaY]},H_=function(e){return e&&`current`in e?e.current:e},U_=function(e,t){return e[0]===t[0]&&e[1]===t[1]},W_=function(e){return`
|
|
47
47
|
.block-interactivity-${e} {pointer-events: none;}
|
|
48
48
|
.allow-interactivity-${e} {pointer-events: all;}
|
|
49
|
-
`},G_=0,K_=[];function q_(e){var t=p.useRef([]),n=p.useRef([0,0]),r=p.useRef(),i=p.useState(G_++)[0],a=p.useState(h_)[0],o=p.useRef(e);p.useEffect(function(){o.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Gg([e.lockRef.current],(e.shards||[]).map(H_),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=p.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=B_(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=N_(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=N_(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return z_(h,t,e,h===`h`?s:c,!0)},[]),c=p.useCallback(function(e){var n=e;if(K_.length&&K_[K_.length-1]===a){var r=`deltaY`in n?V_(n):B_(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&U_(e.delta,r)})[0];if(i&&i.should)n.cancelable&&n.preventDefault();else if(!i){var c=(o.current.shards||[]).map(H_).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=p.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:J_(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=p.useCallback(function(e){n.current=B_(e),r.current=void 0},[]),d=p.useCallback(function(t){l(t.type,V_(t),t.target,s(t,e.lockRef.current))},[]),f=p.useCallback(function(t){l(t.type,B_(t),t.target,s(t,e.lockRef.current))},[]);p.useEffect(function(){return K_.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,O_),document.addEventListener(`touchmove`,c,O_),document.addEventListener(`touchstart`,u,O_),function(){K_=K_.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,O_),document.removeEventListener(`touchmove`,c,O_),document.removeEventListener(`touchstart`,u,O_)}},[]);var m=e.removeScrollBar,h=e.inert;return p.createElement(p.Fragment,null,h?p.createElement(a,{styles:W_(i)}):null,m?p.createElement(T_,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function J_(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Y_=a_(o_,q_),X_=p.forwardRef(function(e,t){return p.createElement(c_,Ug({},e,{ref:t,sideCar:Y_}))});X_.classNames=c_.classNames;var Z_=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Q_=new WeakMap,$_=new WeakMap,ev={},tv=0,nv=function(e){return e&&(e.host||nv(e.parentNode))},rv=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=nv(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},iv=function(e,t,n,r){var i=rv(t,Array.isArray(e)?e:[e]);ev[n]||(ev[n]=new WeakMap);var a=ev[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Q_.get(e)||0)+1,l=(a.get(e)||0)+1;Q_.set(e,c),a.set(e,l),o.push(e),c===1&&i&&$_.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),tv++,function(){o.forEach(function(e){var t=Q_.get(e)-1,i=a.get(e)-1;Q_.set(e,t),a.set(e,i),t||($_.has(e)||e.removeAttribute(r),$_.delete(e)),i||e.removeAttribute(n)}),tv--,tv||(Q_=new WeakMap,Q_=new WeakMap,$_=new WeakMap,ev={})}},av=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Z_(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),iv(r,i,n,`aria-hidden`)):function(){return null}},ov=Object.defineProperty,sv=(e,t)=>ov(e,`name`,{value:t,configurable:!0}),cv=`Dialog`,[lv,uv]=Qm(cv),[dv,fv]=lv(cv),pv=sv(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=p.useRef(null),c=p.useRef(null),{nodes:l,registry:u}=fg(),[d,f]=mh({prop:r,defaultProp:i??!1,onChange:a,caller:cv}),[h,g]=p.useState(0),[_,v]=p.useState(0);return(0,m.jsx)(dv,{scope:t,triggerRef:s,contentRef:c,contentId:ah(),titleId:ah(),descriptionId:ah(),titlePresent:h>0,descriptionPresent:_>0,setTitleCount:g,setDescriptionCount:v,open:d,onOpenChange:f,onOpenToggle:p.useCallback(()=>f(e=>!e),[f]),modal:o,branchNodes:l,branchRegistry:u,children:n})},`Dialog`),mv=`DialogPortal`,[hv,gv]=lv(mv,{forceMount:void 0}),_v=sv(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=fv(mv,t);return(0,m.jsx)(hv,{scope:t,forceMount:n,children:p.Children.map(r,e=>(0,m.jsx)(Ag,{present:n||a.open,children:(0,m.jsx)(Eg,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),vv=`DialogOverlay`,yv=p.forwardRef(sv(function(e,t){let n=gv(vv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=fv(vv,e.__scopeDialog);return a.modal?(0,m.jsx)(Ag,{present:r||a.open,children:(0,m.jsx)(xv,{...i,ref:t})}):null},`DialogOverlay`)),bv=xh(`DialogOverlay.RemoveScroll`),xv=p.forwardRef(sv(function(e,t){let{__scopeDialog:n,...r}=e,i=fv(vv,n),a=Jm(t,Qh());return(0,m.jsx)(X_,{as:bv,allowPinchZoom:!0,shards:p.useMemo(()=>[i.contentRef,...i.branchNodes.map(e=>({current:e}))],[i.contentRef,i.branchNodes]),children:(0,m.jsx)(Rh.div,{"data-state":Ov(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),Sv=`DialogContent`,Cv=p.forwardRef(sv(function(e,t){let n=gv(Sv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=fv(Sv,e.__scopeDialog);return(0,m.jsx)(Ag,{present:r||a.open,children:a.modal?(0,m.jsx)(wv,{...i,ref:t}):(0,m.jsx)(Tv,{...i,ref:t})})},`DialogContent`)),wv=p.forwardRef(sv(function(e,t){let n=fv(Sv,e.__scopeDialog),r=p.useRef(null),i=Jm(t,n.contentRef,r);return p.useEffect(()=>{let e=r.current;if(e)return av(e)},[]),(0,m.jsx)(Ev,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:zm(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:zm(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:zm(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Tv=p.forwardRef(sv(function(e,t){let n=fv(Sv,e.__scopeDialog),r=p.useRef(!1),i=p.useRef(!1);return(0,m.jsx)(Ev,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),Ev=p.forwardRef(sv(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,"aria-describedby":o,children:s,...c}=e,l=fv(Sv,n);return Vg(),(0,m.jsx)(dg,{registry:l.branchRegistry,children:(0,m.jsx)(lg,{asChild:!0,loop:!0,trapped:r,branches:l.branchNodes,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,m.jsx)(Zh,{role:`dialog`,id:l.contentId,"aria-labelledby":l.titlePresent?l.titleId:void 0,"aria-describedby":l.descriptionPresent?Dv(o,l.descriptionId):o,"data-state":Ov(l.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1),children:s})})})},`DialogContentImpl`));function Dv(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}sv(Dv,`concatAriaDescribedby`);function Ov(e){return e?`open`:`closed`}sv(Ov,`getState`);var kv=`[cmdk-group=""]`,Av=`[cmdk-group-items=""]`,jv=`[cmdk-group-heading=""]`,Mv=`[cmdk-item=""]`,Nv=`${Mv}:not([aria-disabled="true"])`,Pv=`cmdk-item-select`,Fv=`data-value`,Iv=(e,t,n)=>Fm(e,t,n),Lv=p.createContext(void 0),Rv=()=>p.useContext(Lv),zv=p.createContext(void 0),Bv=()=>p.useContext(zv),Vv=p.createContext(void 0),Hv=p.forwardRef((e,t)=>{let n=ny(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=ny(()=>new Set),i=ny(()=>new Map),a=ny(()=>new Map),o=ny(()=>new Set),s=ey(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:m,loop:h,disablePointerSelection:g=!1,vimBindings:_=!0,...v}=e,y=ah(),b=ah(),x=ah(),S=p.useRef(null),C=ay();ty(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),ty(()=>{C(6,A)},[]);let w=p.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=p.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??Iv;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(Av);t?t.appendChild(e.parentElement===t?e:e.closest(`${Av} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Av} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${kv}[${Fv}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Fv);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(kv)?.querySelector(jv))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${Mv}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(Nv)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(Fv))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(Fv))}function F(e){let t=j()?.closest(kv),n;for(;t&&!n;)t=e>0?Qv(t,kv):$v(t,kv),n=t?.querySelector(Nv);n?w.setState(`value`,n.getAttribute(Fv)):P(e)}let I=()=>N(M().length-1),L=e=>{e.preventDefault(),e.metaKey?I():e.altKey?F(1):P(1)},R=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return p.createElement(Rh.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:_&&e.ctrlKey&&L(e);break;case`ArrowDown`:L(e);break;case`p`:case`k`:_&&e.ctrlKey&&R(e);break;case`ArrowUp`:R(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(Pv);t.dispatchEvent(e)}}}}},p.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:cy},c),sy(e,e=>p.createElement(zv.Provider,{value:w},p.createElement(Lv.Provider,{value:T},e))))}),Uv=p.forwardRef((e,t)=>{let n=ah(),r=p.useRef(null),i=p.useContext(Vv),a=Rv(),o=ey(e),s=o.current?.forceMount??i?.forceMount;ty(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=iy(n,r,[e.value,e.children,r],e.keywords),l=Bv(),u=ry(e=>e.value&&e.value===c.current),d=ry(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);p.useEffect(()=>{let t=r.current;if(t&&!e.disabled)return t.addEventListener(Pv,f),()=>t.removeEventListener(Pv,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;m(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function m(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:h,value:g,onSelect:_,forceMount:v,keywords:y,...b}=e;return p.createElement(Rh.div,{ref:qm(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!h,"aria-selected":!!u,"data-disabled":!!h,"data-selected":!!u,onPointerMove:h||a.getDisablePointerSelection()?void 0:m,onClick:h?void 0:f},e.children)}),Wv=p.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=ah(),s=p.useRef(null),c=p.useRef(null),l=ah(),u=Rv(),d=ry(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));ty(()=>u.group(o),[]),iy(o,s,[e.value,e.heading,c]);let f=p.useMemo(()=>({id:o,forceMount:i}),[i]);return p.createElement(Rh.div,{ref:qm(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&p.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),sy(e,e=>p.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},p.createElement(Vv.Provider,{value:f},e))))}),Gv=p.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=p.useRef(null),a=ry(e=>!e.search);return!n&&!a?null:p.createElement(Rh.div,{ref:qm(i,t),...r,"cmdk-separator":``,role:`separator`})}),Kv=p.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Bv(),o=ry(e=>e.search),s=ry(e=>e.selectedItemId),c=Rv();return p.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),p.createElement(Rh.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),qv=p.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=p.useRef(null),o=p.useRef(null),s=ry(e=>e.selectedItemId),c=Rv();return p.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),p.createElement(Rh.div,{ref:qm(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},sy(e,e=>p.createElement(`div`,{ref:qm(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),Jv=p.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return p.createElement(pv,{open:n,onOpenChange:r},p.createElement(_v,{container:o},p.createElement(yv,{"cmdk-overlay":``,className:i}),p.createElement(Cv,{"aria-label":e.label,"cmdk-dialog":``,className:a},p.createElement(Hv,{ref:t,...s}))))}),Yv=p.forwardRef((e,t)=>ry(e=>e.filtered.count===0)?p.createElement(Rh.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Xv=p.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return p.createElement(Rh.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},sy(e,e=>p.createElement(`div`,{"aria-hidden":!0},e)))}),Zv=Object.assign(Hv,{List:qv,Item:Uv,Input:Kv,Group:Wv,Separator:Gv,Dialog:Jv,Empty:Yv,Loading:Xv});function Qv(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function $v(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function ey(e){let t=p.useRef(e);return ty(()=>{t.current=e}),t}var ty=typeof window>`u`?p.useEffect:p.useLayoutEffect;function ny(e){let t=p.useRef();return t.current===void 0&&(t.current=e()),t}function ry(e){let t=Bv(),n=()=>e(t.snapshot());return p.useSyncExternalStore(t.subscribe,n,n)}function iy(e,t,n,r=[]){let i=p.useRef(),a=Rv();return ty(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Fv,s),i.current=s}),i}var ay=()=>{let[e,t]=p.useState(),n=ny(()=>new Map);return ty(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function oy(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function sy({asChild:e,children:t},n){return e&&p.isValidElement(t)?p.cloneElement(oy(t),{ref:t.ref},n(t.props.children)):n(t)}var cy={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function ly({...e}){return(0,m.jsx)(Nf,{"data-slot":`dialog`,...e})}function uy({...e}){return(0,m.jsx)(hf,{"data-slot":`dialog-portal`,...e})}function dy({className:e,...t}){return(0,m.jsx)(Dc,{"data-slot":`dialog-overlay`,className:J(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function fy({className:e,children:t,showCloseButton:n=!0,...r}){return(0,m.jsxs)(uy,{children:[(0,m.jsx)(dy,{}),(0,m.jsxs)(ff,{"data-slot":`dialog-content`,className:J(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r,children:[t,n&&(0,m.jsxs)(Oc,{"data-slot":`dialog-close`,render:(0,m.jsx)(Wi,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`}),children:[(0,m.jsx)(ht,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function py({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`dialog-header`,className:J(`flex flex-col gap-2`,e),...t})}function my({className:e,showCloseButton:t=!1,children:n,...r}){return(0,m.jsxs)(`div`,{"data-slot":`dialog-footer`,className:J(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,m.jsx)(Oc,{render:(0,m.jsx)(Wi,{variant:`outline`}),children:`Close`})]})}function hy({className:e,...t}){return(0,m.jsx)(Pf,{"data-slot":`dialog-title`,className:J(`cn-font-heading leading-none font-medium`,e),...t})}function gy({className:e,...t}){return(0,m.jsx)(kc,{"data-slot":`dialog-description`,className:J(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function _y({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:J(`group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var vy=Hi(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function yy({className:e,align:t=`inline-start`,...n}){return(0,m.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:J(vy({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function by({className:e,...t}){return(0,m.jsx)(Zv,{"data-slot":`command`,className:J(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...t})}function xy({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!1,...a}){return(0,m.jsxs)(ly,{...a,children:[(0,m.jsxs)(py,{className:`sr-only`,children:[(0,m.jsx)(hy,{children:e}),(0,m.jsx)(gy,{children:t})]}),(0,m.jsx)(fy,{className:J(`top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0`,r),showCloseButton:i,children:n})]})}function Sy({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,m.jsxs)(_y,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,m.jsx)(Zv.Input,{"data-slot":`command-input`,className:J(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t}),(0,m.jsx)(yy,{children:(0,m.jsx)(mt,{className:`size-4 shrink-0 opacity-50`})})]})})}function Cy({className:e,...t}){return(0,m.jsx)(Zv.List,{"data-slot":`command-list`,className:J(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...t})}function wy({className:e,...t}){return(0,m.jsx)(Zv.Group,{"data-slot":`command-group`,className:J(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function Ty({className:e,children:t,...n}){return(0,m.jsxs)(Zv.Item,{"data-slot":`command-item`,className:J(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:**:[svg]:text-foreground`,e),...n,children:[t,(0,m.jsx)(yt,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function Ey({className:e,...t}){return(0,m.jsx)(`kbd`,{"data-slot":`kbd`,className:J(`pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3`,e),...t})}function Dy(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>[e.label,...e.keywords??[]].some(e=>e.toLowerCase().includes(n)))}function Oy(e,t){(0,p.useEffect)(()=>{if(!e)return;let n=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),t(e=>!e))};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t])}function ky({onOpen:e,className:t,label:n=`Search all consoles`}){return(0,m.jsxs)(`button`,{type:`button`,onClick:e,"aria-keyshortcuts":`Control+K Meta+K`,"aria-label":n,className:J(`flex h-[26px] items-center gap-2 rounded-[6px] px-2.5 text-[11px] font-medium text-dim transition-colors hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60`,t),children:[(0,m.jsx)(mt,{className:`size-[13px]`}),(0,m.jsx)(`span`,{className:`hidden sm:inline`,children:`Search`}),(0,m.jsx)(Ey,{className:`mono hidden h-4 text-[9px] sm:inline-flex`,children:`⌘K`})]})}function Ay({className:e}){return(0,m.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:14,height:14,fill:`none`,"aria-hidden":!0,"data-agora-search-spinner":``,className:J(`animate-spin text-dim motion-reduce:animate-none`,e),children:[(0,m.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,stroke:`currentColor`,strokeOpacity:.25,strokeWidth:1.8}),(0,m.jsx)(`path`,{d:`M14 8a6 6 0 0 0-6-6`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`})]})}function jy(){return(0,m.jsxs)(`div`,{"data-agora-search-skeleton":``,"aria-hidden":!0,className:`p-1`,children:[(0,m.jsx)(`div`,{className:`px-2 py-1.5 text-xs font-medium uppercase tracking-[0.14em] text-muted-foreground`,children:`Searching consoles…`}),[.55,.4,.48].map(e=>(0,m.jsxs)(`div`,{className:`flex items-center gap-2.5 px-2 py-1.5`,children:[(0,m.jsx)(Gf,{className:`size-[18px] shrink-0 rounded-[5px] bg-fg/[0.08] motion-reduce:animate-none`}),(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,m.jsx)(Gf,{className:`h-3 rounded-sm bg-fg/[0.08] motion-reduce:animate-none`,style:{width:`${e*100}%`}}),(0,m.jsx)(Gf,{className:`h-2.5 rounded-sm bg-fg/[0.08] motion-reduce:animate-none`,style:{width:`${e*55}%`}})]})]},e))]})}function My({config:e,commands:t,open:n,onOpenChange:r,placeholder:i=`Search runs, payments, users…`}){let[a,o]=(0,p.useState)(``),[s,c]=(0,p.useState)([]),[l,u]=(0,p.useState)(`idle`),[d,f]=(0,p.useState)(0);(0,p.useEffect)(()=>{n||o(``)},[n]);let h=(0,p.useMemo)(()=>Dy(t??[],a),[t,a]),g=(0,p.useMemo)(()=>{let e=new Map;for(let t of h)e.set(t.group,[...e.get(t.group)??[],t]);return[...e.entries()]},[h]);(0,p.useEffect)(()=>{let t=a.trim();if(t===``||!e){c([]),u(`idle`);return}let n=new AbortController;u(`loading`);let r=setTimeout(()=>{bm(e,t,n.signal).then(e=>{n.signal.aborted||(c(e),u(`done`))},()=>{n.signal.aborted||(c([]),u(`error`))})},200);return()=>{clearTimeout(r),n.abort()}},[a,e,d]);let _=a.trim(),v=e!==void 0&&_!==``,y=v&&l===`loading`,b=y&&s.length>0,x=s.reduce((e,t)=>e+t.hits.length,0)+h.length,S=_!==``&&h.length===0&&s.length===0&&(!v||l===`done`),C=e?`Search all consoles`:`Search`,w=e=>{r(!1),window.location.assign(e)};return(0,m.jsx)(xy,{open:n,onOpenChange:r,title:C,description:e?`Search every console you can open`:`Jump to a page`,className:`sm:max-w-xl`,children:(0,m.jsxs)(by,{shouldFilter:!1,label:C,children:[(0,m.jsxs)(`div`,{className:`relative`,children:[(0,m.jsx)(Sy,{value:a,onValueChange:o,placeholder:i,"aria-label":C,className:`pr-7`}),y&&(0,m.jsx)(Ay,{className:`pointer-events-none absolute top-[calc(50%+2px)] right-3.5 -translate-y-1/2`})]}),(0,m.jsx)(`span`,{role:`status`,className:`sr-only`,children:y?`Searching…`:v&&l===`error`?`Search failed`:_===``?``:`${x} results`}),(0,m.jsxs)(Cy,{className:`max-h-[60vh]`,"aria-busy":y,children:[_===``&&h.length===0&&(0,m.jsx)(`p`,{className:`px-3 py-6 text-center text-[13px] text-dim`,children:`Type to search.`}),S&&(0,m.jsx)(`p`,{"data-agora-search-empty":``,className:`px-3 py-6 text-center text-[13px] text-dim`,children:`Nothing found.`}),g.map(([e,t])=>(0,m.jsx)(wy,{heading:(0,m.jsx)(`span`,{className:`uppercase tracking-[0.14em]`,children:e}),children:t.map(e=>(0,m.jsxs)(Ty,{value:`local:${e.id}`,onSelect:()=>{r(!1),e.onSelect()},children:[e.icon,(0,m.jsx)(`span`,{className:`truncate text-[13px] text-fg`,children:e.label}),e.hint&&(0,m.jsx)(`span`,{className:`ml-auto text-[11px] text-dim`,children:e.hint})]},e.id))},`local:${e}`)),y&&s.length===0&&(0,m.jsx)(jy,{}),s.map(e=>(0,m.jsx)(wy,{"data-stale":b?``:void 0,className:J(`transition-opacity duration-150 motion-reduce:transition-none`,b&&`opacity-50`),heading:(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 uppercase tracking-[0.14em]`,children:[(0,m.jsx)(Rt,{icon:e.icon,accent:Lt(e.id,e.icon),size:18}),e.title]}),children:e.hits.map(t=>(0,m.jsx)(Ty,{value:`${e.id}:${t.href}`,onSelect:()=>w(t.href),children:(0,m.jsxs)(`a`,{href:t.href,tabIndex:-1,className:`flex min-w-0 flex-col`,onClick:e=>{e.preventDefault(),w(t.href)},children:[(0,m.jsx)(`span`,{className:`mono truncate text-[13px] text-fg`,children:t.title}),t.subtitle&&(0,m.jsx)(`span`,{className:`truncate text-[11px] text-dim`,children:t.subtitle})]})},t.href))},e.id)),v&&l===`error`&&(0,m.jsxs)(`p`,{"data-agora-search-error":``,className:`flex items-center justify-center gap-2 px-3 py-3 text-[12px] text-faint`,children:[`The other consoles didn't answer.`,(0,m.jsx)(`button`,{type:`button`,onClick:()=>f(e=>e+1),className:`rounded-sm text-dim underline underline-offset-2 hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60`,children:`Retry`})]})]})]})})}var Ny=p.createContext(void 0);function Py(e){let t=p.useContext(Ny);if(t===void 0&&!e)throw Error(ci(33));return t}var Fy=p.createContext(void 0);function Iy(e){let t=p.useContext(Fy);if(t===void 0&&!e)throw Error(ci(36));return t}var Ly=p.createContext(void 0);function Ry(e=!0){let t=p.useContext(Ly);if(t===void 0&&!e)throw Error(ci(25));return t}var zy=p.createContext(null);function By(e=`root`){let t=p.useContext(zy),n=p.useContext(Fy);return t===null||n===void 0?null:(e===`submenu-trigger`?n.virtualFocus||n.parentVirtualFocus:n.virtualFocus)?t:null}var Vy={visible:!0,ref:null};function Hy(){return Vy}function Uy(e,t,n=`root`){let r=By(n),i=((n===`submenu-trigger`?r?.useSubmenuTrigger:r?.useItem)??Hy)({label:e.label,children:e.children,render:e.render}),a=_i(t,i.ref);return{visible:i.visible,ref:a,props:i.props}}function Wy(e){e.preventDefault()}function Gy(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:c}=e,l=Iy(),u=Ry(!0),d=c.type===`submenu-trigger`,f=d?l.parentVirtualFocus:l.virtualFocus,m=(d&&l.parent.type===`menu`?l.parent.store:l.store).useState(`webkitAriaSelected`,n),{events:h}=a.useState(`floatingTreeRoot`),g=a.useState(`open`),_=u!==void 0,v=!f&&g&&n?0:-1;return p.useMemo(()=>({id:r,role:`menuitem`,tabIndex:v,"aria-selected":m,onMouseDown:f?Wy:void 0,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&h.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&h.emit(`close`,{domEvent:e.nativeEvent,reason:sa})},onMouseUp(e){if(u){let t=u.initialCursorPointRef.current;if(u.initialCursorPointRef.current=null,_&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||_&&!Oo&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!_||e.button===2)&&c.type===`regular-item`&&pi(s.current,e,{detail:1,pointerType:`mouse`})}}),[t,v,r,h,i,a.context.allowMouseUpTriggerRef,o,s,u,_,c.type,m,f])}var Ky={type:`regular-item`};function qy(e){let{closeOnClick:t,disabled:n,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:l}=e,u=p.useRef(null),{getButtonProps:d,buttonRef:f}=mi({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),m=Gy({closeOnClick:t,highlighted:r,id:i,nodeId:l,store:a,typingRef:o,itemRef:u,itemMetadata:c}),h=p.useCallback(e=>Jr(m,{onMouseEnter(e){c.type===`submenu-trigger`&&c.setActive(e.nativeEvent)}},e,d),[m,d,c]),g=_i(u,f);return p.useMemo(()=>({getItemProps:h,itemRef:g}),[h,g])}var Jy=p.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function Yy(){return p.useContext(Jy)}function Xy(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=Yy(),u=p.useRef(-1),[d,f]=p.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),m=a??d,h=p.useRef(null),g=p.useCallback(e=>{let t=h.current;t&&s(t),h.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return X(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:g,index:m}}var Zy=p.createContext(void 0);function Qy(){let e=p.useContext(Zy);if(e===void 0)throw Error(ci(31));return e}var $y=p.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=p.useState(void 0),c=Mi(`div`,e,{ref:t,props:{role:`group`,"aria-labelledby":o,...a}});return(0,m.jsx)(Zy.Provider,{value:s,children:c})}),eb=p.forwardRef(function(e,t){let n=By()?.Group??$y;return(0,m.jsx)(n,{...e,ref:t})}),tb=p.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=$i(a),c=Qy();return X(()=>(c(s),()=>{c(e=>e===s?void 0:e)}),[c,s]),Mi(`div`,e,{ref:t,props:{id:s,"aria-hidden":!0,...o}})}),nb=p.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!0,style:l,...u}=e,{store:d}=Iy(),f=Xy({guess:!0,label:a}),p=$i(i),m=d.useState(`disabled`),h=d.useState(`isActive`,f.index),g=d.useState(`floatingNodeId`),_=d.useState(`itemProps`),v=s||m,{getItemProps:y,itemRef:b}=qy({closeOnClick:c,disabled:v,highlighted:h,id:p,store:d,nativeButton:o,nodeId:g,itemMetadata:Ky});return Mi(`div`,e,{state:{disabled:v,highlighted:h},props:[_,u,y],ref:[b,t,f.ref]})}),rb=p.forwardRef(function(e,t){let n=Uy(e,t);return n.visible?(0,m.jsx)(nb,{...e,ref:n.ref}):null}),ib=p.createContext(void 0);function ab(e){let t=p.useContext(ib);if(t===void 0&&!e)throw Error(ci(69));return t}var ob=p.createContext(void 0);function sb(){return p.useContext(ob)}function cb(e,t){let n=Ii(e.render);if(p.isValidElement(n)){let e=n.props;if(Object.hasOwn(e,`id`))return e.id??``}return e.id??t}function lb(e,t,n){let r=cb(e,t),i=r===t?void 0:r;return[r,p.useCallback(e=>n?.(e?i:void 0),[i,n])]}function ub(e,t,n){let r=Ii(e.render),i=p.isValidElement(r)?r.props:void 0,a=e[`aria-label`]??i?.[`aria-label`],o=e[`aria-labelledby`]??i?.[`aria-labelledby`];return o==null&&!a&&(o=t?t.id||void 0:n||void 0),o}var db=p.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,id:o,initialFocus:s,...c}=e,{store:l,defaultFloatingId:u,setRenderedFloatingId:d,virtualFocus:f,orientation:h}=Iy(),g=sb(),{side:_,align:v}=Py(),y=ab(!0)!=null,b=l.useState(`open`),x=l.useState(`transitionStatus`),S=l.useState(`popupProps`),C=l.useState(`mounted`),w=l.useState(`instantType`),T=l.useState(`activeTriggerElement`),E=l.useState(`parent`),D=l.useState(`lastOpenChangeReason`),O=l.useState(`rootId`),k=l.useState(`floatingRootContext`),A=l.useState(`floatingTreeRoot`),j=l.useState(`closeDelay`),M=l.useState(`hoverEnabled`),N=l.useState(`disabled`),P=l.useState(`openMethod`),F=l.useState(`activeTriggerId`),I=l.useState(`listElement`),[L,R]=lb(e,u,d),z=ub(e,T,F),B=E.type===`menu`?g:void 0,ee=E.type===`context-menu`,V=s??E.type!==`menu`;s===void 0&&I&&E.type!==`menu`&&(V=()=>l.state.activeIndex===null&&I),to({open:b,ref:l.context.popupRef,onComplete(){b&&l.context.onOpenChangeComplete?.(!0)}}),p.useEffect(()=>{function e(e){l.setOpen(!1,ea(e.reason,e.domEvent))}return A.events.on(`close`,e),()=>{A.events.off(`close`,e)}},[A.events,l]),Ru(k,{enabled:M&&!N&&!ee&&E.type!==`menubar`,closeDelay:j});let te=l.useStateSetter(`popupElement`),{parentVirtualFocusRef:ne,handleFocus:H}=(p.useContext(zy)?.useParentHandoff??pb)(l,E,b,f),re=Mi(`div`,e,{state:{transitionStatus:x,side:_,align:v,open:b,nested:E.type===`menu`,instant:w},ref:[t,l.context.popupRef,te,R],stateAttributesMapping:ts,props:[S,{id:L,...I?{role:`presentation`}:{role:`menu`,"aria-orientation":h===`horizontal`?`horizontal`:void 0,"aria-labelledby":z},onKeyDown(e){B?.onPopupKeyDown?.(e),y&&cf.has(e.key)&&e.stopPropagation()},onFocus:H},Ap(x),c,{"data-rootownerid":O}]}),U=E.type===void 0||ee;(T||E.type===`menubar`&&D!==`outside-press`)&&(U=!0);let ie=B?.getReturnElement??ne;return(0,m.jsx)(Al,{context:k,openInteractionType:P,modal:ee,disabled:!C,returnFocus:a??ie??U,explicitReturnFocus:a===void 0&&ie?!1:void 0,initialFocus:V,restoreFocus:!0,getInsideElements:E.type===void 0?()=>[l.context.beforeTriggerFocusGuardRef.current]:void 0,externalTree:E.type===`menubar`?void 0:A,previousFocusableElement:T,nextFocusableElement:E.type===void 0?l.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:l.context.beforeContentFocusGuardRef,children:re})}),fb={parentVirtualFocusRef:void 0,handleFocus:void 0};function pb(){return fb}var mb=p.forwardRef(function(e,t){let n=By()?.Popup??db;return(0,m.jsx)(n,{...e,ref:t})}),hb=p.createContext(void 0);function gb(){let e=p.useContext(hb);if(e===void 0)throw Error(ci(32));return e}var _b=p.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i,parent:a}=Iy();if(!(i.useState(`mounted`)||n))return null;let o=a.type===`menu`||a.type===`menubar`?`group`:void 0;return(0,m.jsx)(hb.Provider,{value:n,children:(0,m.jsx)(fl,{ref:t,...r,portalOwnerRole:o})})});function vb(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Y(i),[,o]=p.useState(0),s=Vr(bb).current,c=Vr(yb).current,l=p.useRef(0),u=p.useRef(!0),d=p.useRef(null),f=p.useRef(null),h=Y(()=>{u.current||(u.current=!0,o(e=>e+1))}),g=Y((e,t)=>{c.set(e,t),h()}),_=Y(e=>{c.delete(e),h()}),v=Y(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function y(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!Cb(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&wb(r,n)>0){t.disconnect(),h();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=Sb(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let b=Y(()=>{let[e,t]=xb(c),n=v(e),r=d.current,i=!r||r.length!==e.length||e.some((e,t)=>{let n=r[t];return e.index!==n.index||e.element!==n.element||e.registration.index!==n.registration.index||e.registration.metadata!==n.registration.metadata});y(t),d.current=e,u.current=!1,i&&(s.forEach(e=>e(n)),a(n))});X(()=>(!u.current&&d.current&&v(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,v]),X(()=>{u.current&&b()}),X(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let x=Y(e=>(s.add(e),()=>{s.delete(e)})),S=p.useMemo(()=>({register:g,unregister:_,subscribeMapChange:x,nextIndexRef:l}),[g,_,x,l]);return(0,m.jsx)(Jy.Provider,{value:S,children:t})}function yb(){return new Map}function bb(){return new Set}function xb(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>wb(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function Sb(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function Cb(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function wb(e,t){return e.nextElementSibling===t?-1:t.nextElementSibling===e?1:e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function Tb(e){let{store:t,domReference:n,positionerElement:r,open:i}=e,a=p.useRef(null),o=p.useRef(null),s=eo(r);X(()=>{i||(o.current?.abort(),o.current=null,t.state.instantType===`trigger-change`&&t.set(`instantType`,void 0))},[i,t]),X(()=>{let e=n,r=a.current;if(e&&(a.current=e),!r||!e||e===r||!t.select(`open`))return;t.set(`instantType`,void 0);let i=new AbortController;return o.current=i,s(()=>{t.select(`open`)&&t.set(`instantType`,`trigger-change`)},i.signal),()=>{i.abort()}},[n,s,t])}var Eb=20;function Db(e,t,n,r){let[i,a]=p.useState(!1);X(()=>{if(!e||!t||n==null){a(!1);return}let r=fi(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-Eb)},[e,t,n]),Ef(e&&(!t||i),r)}var Ob=p.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o,align:s,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:h=!1,disableAnchorTracking:g=!1,collisionAvoidance:_=al,style:v,...y}=e,{store:b,virtualFocus:x,syncHighlightedItem:S}=Iy(),C=gb(),w=Ry(!0),T=b.useState(`parent`),E=b.useState(`floatingRootContext`),D=b.useState(`floatingTreeRoot`),O=b.useState(`mounted`),k=b.useState(`open`),A=b.useState(`modal`),j=b.useState(`openMethod`),M=b.useState(`activeTriggerElement`),N=b.useState(`transitionStatus`),P=b.useState(`positionerElement`),F=b.useState(`instantType`),I=b.useState(`adaptiveOrigin`),L=b.useState(`lastOpenChangeReason`),R=b.useState(`floatingNodeId`),z=b.useState(`floatingParentNodeId`),B=E.useState(`domReferenceElement`),ee=n,V=c,te=l,ne=s,H=_;T.type===`context-menu`&&(ee=n??T.context?.anchor,ne??=`start`,!o&&ne!==`center`&&(te=e.alignOffset??2,V=e.sideOffset??-5));let re=o,U=ne;T.type===`menu`?(re??=`inline-end`,U??=`start`,H=e.collisionAvoidance??ol):T.type===`menubar`&&(re??=T.context.orientation===`vertical`?`inline-end`:`bottom`,U??=`start`);let ie=T.type===`context-menu`,W=Dp({anchor:ee,floatingRootContext:E,positionMethod:w?`fixed`:r,mounted:O,side:re,sideOffset:V,align:U,alignOffset:te,arrowPadding:ie?0:f,collisionBoundary:u,collisionPadding:d,sticky:h,nodeId:R,keepMounted:C,disableAnchorTracking:g,collisionAvoidance:H,shift:ie?{crossAxis:!(`side`in H&&H.side===`flip`),rootBoundary:`layoutViewport`}:void 0,externalTree:D,adaptiveOrigin:I,lazyFlip:x?`placement`:!1});p.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===R&&b.set(`hoverEnabled`,!1),e.nodeId!==R&&e.parentNodeId===b.select(`floatingParentNodeId`)&&b.setOpen(!1,ea(ha)))}return D.events.on(`menuopenchange`,e),()=>{D.events.off(`menuopenchange`,e)}},[b,D.events,R]),p.useEffect(()=>{if(b.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==b.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;b.setOpen(!1,ea(t))}return D.events.on(`menuopenchange`,e),()=>{D.events.off(`menuopenchange`,e)}},[D.events,b]);let G=Ka();p.useEffect(()=>{k||G.clear()},[k,G]),p.useEffect(()=>{function e(e){if(k&&e.nodeId===b.select(`floatingParentNodeId`)){if(e.target&&M&&M!==e.target){let e=b.select(`closeDelay`);e>0?G.isStarted()||G.start(e,()=>{b.setOpen(!1,ea(ha))}):b.setOpen(!1,ea(ha))}else G.clear()}}return D.events.on(`itemhover`,e),()=>{D.events.off(`itemhover`,e)}},[D.events,k,M,b,G]),p.useEffect(()=>{let e={open:k,nodeId:R,parentNodeId:z,reason:b.select(`lastOpenChangeReason`)};D.events.emit(`menuopenchange`,e)},[D.events,k,b,R,z]),Tb({store:b,domReference:B,positionerElement:P,open:k});let ae={open:k,side:W.side,align:W.align,anchorHidden:W.anchorHidden,nested:T.type===`menu`,instant:F},oe=T.type===`menubar`&&T.context.modal;Db(k&&(oe||A&&L!==`trigger-hover`),j===`touch`,P,M);let se=jp(e,ae,{styles:W.positionerStyles,transitionStatus:N,props:y,refs:[t,b.useStateSetter(`positionerElement`)],hidden:!O,inert:!k}),ce=O&&T.type!==`menu`&&(T.type!==`menubar`&&A&&L!==`trigger-hover`||T.type===`menubar`&&T.context.modal),le=null;return T.type===`menubar`?le=T.context.contentElement:T.type===void 0&&(le=M),(0,m.jsxs)(Ny.Provider,{value:W,children:[ce&&(0,m.jsx)(mf,{ref:T.type===`context-menu`||T.type===`nested-context-menu`?T.context.internalBackdropRef:null,inert:pf(!k),cutout:le}),(0,m.jsx)(bl,{id:R,children:(0,m.jsx)(vb,{elementsRef:b.context.itemDomElements,labelsRef:b.context.itemLabels,onMapChange:S,children:se})})]})}),kb=p.createContext(null);function Ab(e){let t=p.useContext(kb);if(t===null&&!e)throw Error(ci(5));return t}function jb(e){return e==null?na:e.type.startsWith(`key`)?fa:e.type.startsWith(`mouse`)||e.type.startsWith(`pointer`)?pa:na}var Mb={...ku,disabled:e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled,modal:e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0),openMethod:e=>e.openMethod,keyboardOpen:e=>e.keyboardOpen,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId,activeIndex:e=>e.activeIndex,listElement:e=>e.listElement,triggerControlsId:(e,t)=>{let n=ku.triggerPopupId(e,t);return n?e.listElement?.id||n:void 0},filterTriggerProps:e=>e.filterTriggerProps,inputProps:e=>e.inputProps,webkitAriaSelected:(e,t)=>Ao&&e.inputFocused&&t?!0:void 0,highlightedItemId:e=>e.highlightedItem?.id||void 0,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType===`trigger-change`&&!ku.open(e)?void 0:e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)}},Nb=class extends bu{constructor(e,t,n=!1){let r=new eu,i=Fb(r,t,n,e);super(i,Pb(r),Mb),this.observe(`parent`,e=>{e.type===`menu`?this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef:e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef)})}subscribeToParentMenu(){let e=this.state.parent;if(e.type!==`menu`)return;let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);return e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);(t!==i||n!==a||r!==o)&&(t=i,n=a,r=o,this.notifyAll())})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}setActiveIndex(e,t,n){if(this.state.activeIndex!==e){let r=(e===null?void 0:this.context.itemDomElements.current[e])===this.context.reportedItem;this.context.highlightReason=r?`none`:t,this.context.highlightEvent=r?void 0:n}this.set(`activeIndex`,e)}highlightItem(e,t,n){let r=this.context.itemDomElements.current.indexOf(e);r>-1&&this.setActiveIndex(r,t,n)}};function Pb(e){return{positionerRef:p.createRef(),popupRef:p.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},highlightReason:`none`,highlightEvent:void 0,reportedItem:void 0,allowMouseUpTriggerRef:{current:!1},virtualFocusRef:void 0,triggerFocusTargetRef:p.createRef(),beforeTriggerFocusGuardRef:p.createRef(),beforeContentFocusGuardRef:p.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function Fb(e,t,n=!1,r){return{...Cu(e,t,n),disabled:!1,modal:!0,openMethod:null,keyboardOpen:!1,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,listElement:null,filterTriggerProps:Oi,inputProps:Oi,inputFocused:!1,highlightedItem:void 0,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new ml,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Oi,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...r}}var Ib=p.createContext(null);function Lb(e,t){return(e===`trigger-press`||e===`item-press`)&&t?.detail===0}function Rb(e,t){return e===`list-navigation`||Lb(e,t)}var zb=lu(function(e){let{children:t,open:n,onOpenChange:r,onOpenChangeComplete:i,onItemHighlighted:a,defaultOpen:o=!1,disabled:s=!1,modal:c,loopFocus:l=!0,orientation:u=`vertical`,actionsRef:d,closeParentOnEsc:f=!1,handle:h,triggerId:g,defaultTriggerId:_=null,highlightItemOnHover:v=!0,isSubmenu:y=!1,virtualFocus:b=!1,virtualFocusRef:x,allowEscape:S=!0,resetOnPointerLeave:C=!0}=e,w=Ry(!0),T=Iy(!0),E=Ab(!0),D=T?.store,O=T?.virtualFocus??!1,k=p.useMemo(()=>y&&D?{type:`menu`,store:D}:E?{type:`menubar`,context:E}:w&&!D?{type:`context-menu`,context:w}:{type:void 0},[w,D,E,y]),A=$i(),j=$i(),[M,N]=p.useState(void 0),P=(M??j)||void 0,F=_l(),I=k.type===`menu`?k.store:void 0,L=(n??o)&&I?.state.transitionStatus===`starting`,R=Vr(()=>L?I?.state.instantType:void 0).current,z=Vr(()=>{let e=new Nb({open:o,openProp:n,activeTriggerId:_,triggerIdProp:g,parent:k,disabled:s,highlightItemOnHover:v,modal:k.type===void 0?c:void 0,rootId:A,instantType:R},P,F!=null);return e.context.virtualFocusRef=x,e}).current;z.useControlledProp(`openProp`,n),z.useControlledProp(`triggerIdProp`,g),z.useContextCallback(`onOpenChangeComplete`,i);let B=z.useState(`floatingTreeRoot`),ee=yl(B),V=z.useState(`open`),te=z.useState(`activeTriggerElement`),ne=z.useState(`positionerElement`),H=z.useState(`hoverEnabled`),re=z.useState(`disabled`),U=z.useState(`lastOpenChangeReason`),ie=z.useState(`parent`),W=z.useState(`activeIndex`),G=z.useState(`keyboardOpen`),ae=z.useState(`payload`),oe=z.useState(`floatingParentNodeId`),se=p.useRef(null),ce=p.useRef(ie.type!==`context-menu`),le=Ka(),ue=p.useRef(!0),de=Ka(),fe=oe!=null,{openMethod:pe,triggerProps:me}=Lf(V);z.useSyncedValues({disabled:s,highlightItemOnHover:v,modal:ie.type===void 0?c:void 0,openMethod:pe,rootId:A}),Xl(z);let{forceUnmount:he,transitionStatus:ge}=Zl(V,z,()=>{z.set(`allowMouseEnter`,!1)},L),_e=eo(z.context.popupRef);p.useEffect(()=>{if(R===void 0)return;let e=()=>{z.state.instantType===R&&z.set(`instantType`,void 0)};if(!V){e();return}if(ge!==void 0)return;if(z.context.popupRef.current==null){e();return}let t=new AbortController;return _e(e,t.signal),()=>{t.abort()}},[R,V,ge,_e,z]),X(()=>{w&&!T?z.update({parent:{type:`context-menu`,context:w},floatingNodeId:ee,floatingParentNodeId:F}):(T||!z.select(`activeTriggerElement`))&&z.update({floatingNodeId:ee,floatingParentNodeId:F})},[w,T,ee,F,te,z]),p.useEffect(()=>{V||(se.current=null),ie.type===`context-menu`&&(V?le.start(500,()=>{ce.current=!0}):(le.clear(),ce.current=!1))},[le,V,ie.type]),X(()=>{!V&&!H&&z.set(`hoverEnabled`,!0)},[V,H,z]);let ve=Y((e,t)=>{let n=t.reason;if(!e&&!z.select(`open`)||V===e&&t.trigger===te&&U===n)return;let i=ql(t);if(!e&&t.trigger==null&&(t.trigger=te??void 0),r?.(e,t),t.isCanceled)return;z.state.floatingRootContext.dispatchOpenChange(e,t);let a=t.event;if(e===!1&&n!==`item-press`&&a?.type===`click`&&a.pointerType===`touch`&&!ue.current)return;e&&n===`trigger-focus`?(ue.current=!1,de.start(300,()=>{ue.current=!0})):(ue.current=!0,de.clear());let o=!e&&(n===`escape-key`||n==null);se.current=t.event;let s=Kl(z.state,e,t.trigger,i());s.openChangeReason=n,s.keyboardOpen=e&&Rb(n,a),s.instantType=ie.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?`group`:Lb(n,a)?`click`:o?`dismiss`:void 0,z.update(s)}),ye=Rl({popupStore:z,floatingRootContext:z.state.floatingRootContext,floatingId:P,nested:F!=null,onOpenChange:ve}),be=ye.context.events;X(()=>{let e=({open:e,eventDetails:t})=>ve(e,t);return be.on(`setOpen`,e),()=>{be?.off(`setOpen`,e)}},[be,ve]),X(()=>z.subscribeToParentMenu(),[z]);let xe=p.useCallback(()=>{z.setOpen(!1,ea(_a))},[z]);p.useImperativeHandle(d,()=>({unmount:he,close:xe}),[he,xe]);let Se;ie.type===`context-menu`&&(Se=ie.context),p.useImperativeHandle(Se?.positionerRef,()=>ne,[ne]),p.useImperativeHandle(Se?.actionsRef,()=>({setOpen:ve}),[ve]);let Ce=Ll(ye,{enabled:!re,bubbles:{escapeKey:f&&ie.type===`menu`},outsidePress(){return ie.type!==`context-menu`||se.current?.type===`contextmenu`||ce.current},externalTree:fe?B:void 0}),we=pp(),Te=qu(ye,{enabled:!re,listRef:z.context.itemDomElements,activeIndex:W,virtual:b,nested:ie.type===`menubar`||!b&&ie.type!==void 0,parentOrientation:ie.type===`menubar`?ie.context.orientation:void 0,loopFocus:l,focusItemOnOpen:b?G:void 0,allowEscape:b&&l&&S,orientation:u,triggerOrientation:b?`vertical`:u,rtl:we===`rtl`,disabledIndices:Di,onNavigate(e,t){z.setActiveIndex(e,jb(t),t?.nativeEvent)},openOnArrowKeyDown:ie.type!==`context-menu`&&!(b&&y),externalTree:!b&&fe?B:void 0,nestedReturnFocusRef:I?.context.virtualFocusRef,focusItemOnHover:v,resetOnPointerLeave:C}),Ee=p.useCallback(e=>{z.context.typingRef.current=e},[z]),De=Ju(ye,{enabled:!re&&!b,listRef:z.context.itemLabels,elementsRef:z.context.itemDomElements,activeIndex:W,resetMs:500,onMatch:(e,t)=>{V&&e!==W&&z.setActiveIndex(e,fa,t.nativeEvent)},onTyping:Ee}),Oe=Y(a),ke=p.useRef(-1),Ae=Y(()=>{let e=z.state.activeIndex,t=e===null?void 0:z.context.itemDomElements.current[e]??void 0;if(t?.isConnected===!1)return;let n=t===void 0?-1:e;if(ke.current===n&&z.context.reportedItem===t)return;ke.current=n,z.context.reportedItem=t,b&&z.set(`highlightedItem`,t);let{highlightReason:r,highlightEvent:i}=z.context;z.context.highlightReason=na,z.context.highlightEvent=void 0,a&&Oe(t,ta(r,i,{label:t===void 0?void 0:z.context.itemLabels.current[n]??void 0}))});X(()=>{Ae()},[W,Ae]);let je=p.useMemo(()=>{if(!b)return Te.reference;if(!Te.trigger)return Oi;let{onFocus:e,...t}=Te.trigger;return t},[b,Te.reference,Te.trigger]);z.useSyncedValue(`inputProps`,b?Te.reference??Oi:Oi);let Me=p.useMemo(()=>{let e=Jr(De.reference,je,Ce.reference,{onMouseMove(){z.set(`allowMouseEnter`,!0)}},me);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=V,e},[z,De.reference,je,Ce.reference,me,V]),Ne=p.useMemo(()=>{let e=Jr(Te.trigger,Ce.trigger,me);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=!1,e},[Te.trigger,Ce.trigger,me]);Vr(()=>(z.update({inactiveTriggerProps:Ne}),null)),Ql(z,{floatingRootContext:ye,activeTriggerProps:Me,inactiveTriggerProps:Ne,popupProps:p.useMemo(()=>Jr(Bl,{onMouseMove(){z.set(`allowMouseEnter`,!0),ie.type===`menu`&&z.set(`hoverEnabled`,!1)},onClick(){z.select(`hoverEnabled`)&&z.set(`hoverEnabled`,!1)},onKeyDown(e){let t=z.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}},De.floating,Te.floating,Ce.floating),[ie.type,z,De.floating,Te.floating,Ce.floating]),itemProps:Te.item??Oi});let Pe=p.useMemo(()=>({store:z,parent:k,orientation:u,loopFocus:l,allowEscape:S,defaultFloatingId:j,setRenderedFloatingId:N,virtualFocus:b,parentVirtualFocus:O,syncHighlightedItem:Ae}),[z,k,u,l,S,j,b,O,Ae]),Fe=typeof t==`function`?t({payload:ae}):t,Ie=(0,m.jsxs)(Fy.Provider,{value:Pe,children:[h&&(0,m.jsx)(Ul,{handle:h,store:z}),Fe]});return(ie.type===void 0||ie.type===`context-menu`)&&(Ie=(0,m.jsx)(xl,{externalTree:B,children:Ie})),Ie});function Bb(e){let t=p.useContext(Ib);if(t===null)return(0,m.jsx)(zb,{...e});let n=t.Root;return(0,m.jsx)(Ib.Provider,{value:null,children:(0,m.jsx)(n,{...t.options,...e})})}var Vb=5;function Hb(e,t){let n=Ub(t);return e.clientX>=n.left-Vb&&e.clientX<=n.right+Vb&&e.clientY>=n.top-Vb&&e.clientY<=n.bottom+Vb}function Ub(e){let t=e.getBoundingClientRect(),n=gr(e);if(Mo)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}function Wb(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=ui(),{ref:i,index:a}=Xy(e),o=n===a,s=p.useRef(null),c=_i(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function Gb(e){let{render:t,className:n,style:r,state:i=Oi,props:a=Di,refs:o=Di,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=Wb({metadata:s});return Mi(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}function Kb(e){if(br(e)&&e.hasAttribute(`data-rootownerid`))return e.getAttribute(`data-rootownerid`);if(!Mr(e))return Kb(Fr(e))}function qb(e,t){function n(n,r,i){let a=n.currentTarget;Za.flushSync(()=>{e.setOpen(!1,ea(la,n.nativeEvent,a))}),yc(a.isConnected?a:t.current,r,i)?.focus()}function r(t){n(t,-1,e.select(`positionerElement`))}function i(t){let r=e.select(`positionerElement`);r&&bc(t,r)?e.context.beforeContentFocusGuardRef.current?.focus():n(t,1,r)}return{handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}function Jb(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,i=p.useRef(!1);return p.useMemo(()=>t?{onMouseDown:e=>{(n===`open`&&!r||n===`close`&&r)&&(i.current=!0,fi(e.currentTarget).addEventListener(`click`,()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:Oi,[t,n,r])}var Yb=uu(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,id:s,openOnHover:c,delay:l=100,closeDelay:u=0,handle:d,payload:f,...h}=e,g=Iy(!0),_=Au(d)??g?.store;if(!_)throw Error(ci(85));let v=$i(s),y=_.useState(`isTriggerActive`,v),b=_.useState(`floatingRootContext`),x=_.useState(`isOpenedByTrigger`,v),S=_.useState(`triggerControlsId`,v),C=p.useRef(null),w=Zb(),T=ui(!0),E=vl(),D=p.useMemo(()=>E??new ml,[E]),{registerTrigger:O,isMountedByThisTrigger:k}=Yl(v,C,_,{payload:f,closeDelay:u,parent:w,floatingTreeRoot:D,floatingNodeId:yl(D),floatingParentNodeId:_l(),keyboardEventRelay:T?.relayKeyboardEvent}),A=w.type===`menubar`,j=_.useState(`disabled`),M=a||j||A&&w.context.disabled,{getButtonProps:N,buttonRef:P}=mi({disabled:M,native:o});p.useEffect(()=>{!x&&w.type===void 0&&(_.context.allowMouseUpTriggerRef.current=!1)},[_,x,w.type]);let F=p.useRef(null),I=Ka(),L=Y(e=>{if(!F.current)return;I.clear(),_.context.allowMouseUpTriggerRef.current=!1;let t=e.target;Z(F.current,t)||Z(_.select(`positionerElement`),t)||t===F.current||t!=null&&Kb(t)===_.select(`rootId`)||Hb(e,F.current)||D.events.emit(`close`,{domEvent:e,reason:ma})});p.useEffect(()=>{let e=fi(F.current);if(x&&_.select(`lastOpenChangeReason`)===`trigger-hover`)return e.addEventListener(`mouseup`,L,{once:!0}),()=>{e.removeEventListener(`mouseup`,L)}},[x,L,_]);let R=A&&w.context.hasSubmenuOpen,z=Bu(b,{enabled:(c??R)&&!M&&(!A||R&&!k),handleClose:td({blockPointerEvents:!A}),mouseOnly:!0,move:!1,restMs:w.type===void 0?l:void 0,delay:{close:u},triggerElementRef:C,externalTree:D,isActiveTrigger:y,isClosing:()=>_.select(`transitionStatus`)===`ending`}),B=Xb(x,_.select(`lastOpenChangeReason`)),ee=jl(b,{enabled:!M,event:x&&A?`click`:`mousedown`,toggle:!0,ignoreMouse:!1,stickIfOpen:w.type===void 0&&B}),V=Mu(b,{enabled:!M&&R}),te=Jb({open:x,enabled:A,mouseDownAction:`open`}),ne=p.useMemo(()=>Jr(V.reference,ee.reference),[V.reference,ee.reference]),H=_.useState(`triggerProps`,k),re=_.useState(`filterTriggerProps`),{handlePreFocusGuardFocus:U,handleFocusTargetFocus:ie}=qb(_,C),W={disabled:M,open:x},G=[F,t,P,O,C],ae=[ne,z??Oi,H,{"aria-haspopup":`menu`,"aria-controls":S,id:v,onMouseDown:e=>{_.select(`open`)||(I.start(200,()=>{_.context.allowMouseUpTriggerRef.current=!0}),fi(e.currentTarget).addEventListener(`mouseup`,L,{once:!0}))}},re,A?{role:`menuitem`}:{},te,h,N],oe=Mi(`button`,e,{enabled:!A,stateAttributesMapping:$o,state:W,ref:G,props:ae});return A?(0,m.jsx)(Gb,{tag:`button`,render:n,className:r,style:i,state:W,refs:G,props:ae,stateAttributesMapping:$o}):x?(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)(Hc,{ref:_.context.beforeTriggerFocusGuardRef,onFocus:U},`${v}-pre-focus-guard`),(0,m.jsx)(p.Fragment,{children:oe},v),(0,m.jsx)(Hc,{ref:_.context.triggerFocusTargetRef,onFocus:ie},`${v}-post-focus-guard`)]}):(0,m.jsx)(p.Fragment,{children:oe},v)});function Xb(e,t){let n=Ka(),[r,i]=p.useState(!1);return X(()=>{e&&t===`trigger-hover`?(i(!0),n.start(500,()=>{i(!1)})):e||(n.clear(),i(!1))},[e,t,n]),r}function Zb(){let e=Ab(!0);return p.useMemo(()=>e?{type:`menubar`,context:e}:{type:void 0},[e])}function Qb({...e}){return(0,m.jsx)(Bb,{"data-slot":`dropdown-menu`,...e})}function $b({...e}){return(0,m.jsx)(Yb,{"data-slot":`dropdown-menu-trigger`,...e})}function ex({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:i,...a}){return(0,m.jsx)(_b,{children:(0,m.jsx)(Ob,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,m.jsx)(mb,{"data-slot":`dropdown-menu-content`,className:J(`cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,i),...a})})})}function tx({...e}){return(0,m.jsx)(eb,{"data-slot":`dropdown-menu-group`,...e})}function nx({className:e,inset:t,...n}){return(0,m.jsx)(tb,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:J(`px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8`,e),...n})}function rx({className:e,inset:t,variant:n=`default`,...r}){return(0,m.jsx)(rb,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:J(`group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function ix({className:e,...t}){return(0,m.jsx)(wc,{"data-slot":`dropdown-menu-separator`,className:J(`-mx-1 my-1 h-px bg-border`,e),...t})}function ax({className:e,...t}){return(0,m.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:J(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,e),...t})}function ox(e){let[t,n]=(0,p.useState)([]);return(0,p.useEffect)(()=>{if(!e)return;let t=!0;return ym(e).then(e=>{t&&n(e)}),()=>{t=!1}},[e]),t}function sx({brand:e,current:t,config:n,onSearch:r}){let i=ox(n);return!n||i.length===0?(0,m.jsx)(m.Fragment,{children:e}):(0,m.jsx)(`div`,{"data-agora-switcher":``,className:`min-w-0`,children:(0,m.jsxs)(Qb,{children:[(0,m.jsxs)($b,{"aria-label":`${t.title}: switch console`,className:`flex w-full min-w-0 items-center gap-2 rounded-md p-1 text-left outline-none transition-colors hover:bg-sidebar-accent/60 focus-visible:ring-2 focus-visible:ring-ring/60 data-popup-open:bg-sidebar-accent/60`,children:[(0,m.jsx)(`span`,{className:`min-w-0 flex-1`,children:e}),(0,m.jsx)(_t,{className:`size-3.5 shrink-0 text-dim`})]}),(0,m.jsxs)(ex,{align:`start`,className:`w-64 border border-border bg-popover shadow-(--agora-shadow) ring-0`,children:[(0,m.jsxs)(tx,{children:[(0,m.jsx)(nx,{className:`text-[10px] uppercase tracking-[0.16em] text-dim`,children:`Consoles`}),(0,m.jsxs)(rx,{disabled:!0,"aria-current":`page`,className:`data-disabled:opacity-100`,children:[(0,m.jsx)(Rt,{icon:t.icon,accent:`var(--agora-accent)`}),(0,m.jsx)(cx,{title:t.title,pkg:t.package}),(0,m.jsx)(yt,{"aria-label":`Current console`,className:`ml-auto text-brand`})]}),i.map(e=>(0,m.jsxs)(rx,{render:(0,m.jsx)(`a`,{href:e.href}),children:[(0,m.jsx)(Rt,{icon:e.icon,accent:Lt(e.id,e.icon)}),(0,m.jsx)(cx,{title:e.title,pkg:e.package})]},e.id))]}),r&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ix,{}),(0,m.jsxs)(rx,{onClick:r,children:[(0,m.jsx)(mt,{className:`text-dim`}),`Search all consoles`,(0,m.jsx)(ax,{className:`mono`,children:`⌘K`})]})]})]})]})})}function cx({title:e,pkg:t}){return(0,m.jsxs)(`span`,{className:J(`flex min-w-0 flex-col leading-tight`),children:[(0,m.jsx)(`span`,{className:`truncate`,children:e}),t&&(0,m.jsx)(`span`,{className:`mono truncate text-[10px] text-dim`,children:t})]})}var lx=p.createContext(void 0);function ux(){let e=p.useContext(lx);if(e===void 0)throw Error(ci(13));return e}var dx={imageLoadingStatus:()=>null},fx=p.forwardRef(function(e,t){let{className:n,render:r,style:i,...a}=e,[o,s]=p.useState(`idle`),c={imageLoadingStatus:o},l=p.useMemo(()=>({imageLoadingStatus:o,setImageLoadingStatus:s}),[o,s]),u=Mi(`span`,e,{state:c,ref:t,props:a,stateAttributesMapping:dx});return(0,m.jsx)(lx.Provider,{value:l,children:u})}),px=p.forwardRef(function(e,t){let{className:n,render:r,delay:i=0,style:a,...o}=e,{imageLoadingStatus:s}=ux(),[c,l]=p.useState(i===0),u=Ka();return p.useEffect(()=>(i>0?u.start(i,()=>l(!0)):l(!0),u.clear),[u,i]),Mi(`span`,e,{state:{imageLoadingStatus:s},ref:t,props:o,stateAttributesMapping:dx,enabled:s!==`loaded`&&(i===0||c)})});function mx({className:e,size:t=`default`,...n}){return(0,m.jsx)(fx,{"data-slot":`avatar`,"data-size":t,className:J(`group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten`,e),...n})}function hx({className:e,...t}){return(0,m.jsx)(px,{"data-slot":`avatar-fallback`,className:J(`flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs`,e),...t})}function gx(e){let t=e.label.includes(`@`)?e.label.split(`@`)[0]??``:e.label,n=t.split(/[\s._-]+/).filter(Boolean);return(n.length>1?`${n[0]?.[0]??``}${n[1]?.[0]??``}`:t.slice(0,2)).toUpperCase()||`?`}function _x({viewer:e,signOut:t}){let{theme:n,toggle:r}=ft();return(0,m.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e&&(0,m.jsxs)(`div`,{className:`flex items-center gap-[9px] px-2 py-1.5`,"data-agora-viewer":``,children:[(0,m.jsx)(mx,{size:`sm`,className:`size-7 after:hidden`,children:(0,m.jsx)(hx,{className:`border border-brand-border bg-brand-soft text-[10.5px] font-semibold text-brand`,children:gx(e)})}),(0,m.jsxs)(`div`,{className:`min-w-0 leading-tight`,children:[(0,m.jsx)(`div`,{className:`truncate text-[11px] font-medium text-fg`,title:e.email??e.label,children:e.label}),(e.role||e.email&&e.email!==e.label)&&(0,m.jsx)(`div`,{className:`mono truncate text-[9.5px] uppercase text-faint`,children:e.role??e.email})]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(Wi,{variant:`ghost`,size:`sm`,className:`flex-1 justify-center`,onClick:r,"aria-label":n===`dark`?`Switch to light mode`:`Switch to dark mode`,children:[n===`dark`?(0,m.jsx)(bt,{}):(0,m.jsx)(xt,{}),n===`dark`?`Light mode`:`Dark mode`]}),t&&(`action`in t?(0,m.jsxs)(`form`,{method:`post`,action:t.action,className:`contents`,children:[t.csrfToken&&(0,m.jsx)(`input`,{type:`hidden`,name:`_csrf`,value:t.csrfToken}),(0,m.jsx)(Wi,{type:`submit`,variant:`ghost`,size:`icon-sm`,"aria-label":`Sign out`,title:`Sign out`,className:`text-dim`,children:(0,m.jsx)(St,{})})]}):(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,"aria-label":`Sign out`,title:`Sign out`,className:`text-dim`,nativeButton:!1,render:(0,m.jsx)(`a`,{href:t.href}),children:(0,m.jsx)(St,{})}))]})]})}function vx({brand:e}){return(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,m.jsxs)(`div`,{className:`relative grid size-[30px] shrink-0 place-items-center rounded-md border border-brand-border bg-brand-soft text-brand [&_svg]:size-4`,children:[e.mark,(0,m.jsx)(`span`,{className:`agora-ring`,"aria-hidden":!0})]}),(0,m.jsxs)(`div`,{className:`min-w-0 overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`truncate text-sm font-bold tracking-[0.03em] text-fg`,children:e.name}),e.subtitle&&(0,m.jsx)(`div`,{className:`mt-px truncate text-[10px] font-medium uppercase tracking-[0.08em] text-faint`,children:e.subtitle})]})]})}function yx({nav:e,activeId:t}){let{isMobile:n,setOpenMobile:r}=qp(),i=(0,p.useCallback)(()=>{n&&r(!1)},[n,r]);return(0,m.jsx)(m.Fragment,{children:e.filter(e=>e.items.length>0).map(e=>e.collapsible?(0,m.jsx)(po,{defaultOpen:e.defaultOpen??!0,children:(0,m.jsxs)(tm,{className:`px-2.5 py-0`,children:[(0,m.jsxs)(nm,{className:J(bx,`p-0`),render:(0,m.jsx)(mo,{className:`flex w-full items-center gap-1 rounded-md px-2 pt-3 pb-1.5 text-left uppercase hover:text-dim`}),children:[e.section,(0,m.jsx)(_t,{className:`ml-auto size-3! -rotate-90 transition-transform in-data-panel-open:rotate-0`})]}),(0,m.jsx)(ho,{children:(0,m.jsx)(rm,{children:(0,m.jsx)(xx,{items:e.items,activeId:t,after:i})})})]})},e.section):(0,m.jsxs)(tm,{className:`px-2.5 py-0`,children:[(0,m.jsx)(nm,{className:bx,children:e.section}),(0,m.jsx)(rm,{children:(0,m.jsx)(xx,{items:e.items,activeId:t,after:i})})]},e.section))})}var bx=`h-auto px-2 pt-3 pb-1.5 text-[9.5px] font-semibold uppercase tracking-[0.14em] text-faint`;function xx({items:e,activeId:t,after:n}){return(0,m.jsx)(im,{className:`gap-0.5`,children:e.map(e=>{let r=e.id===t,i=(0,m.jsxs)(m.Fragment,{children:[e.icon,(0,m.jsx)(`span`,{children:e.label})]});return(0,m.jsxs)(am,{children:[e.href?(0,m.jsx)(sm,{isActive:r,"aria-current":r?`page`:void 0,className:Sx,render:(0,m.jsx)(`a`,{href:e.href,onClick:t=>{e.onSelect&&(t.preventDefault(),e.onSelect()),n()}}),children:i}):(0,m.jsx)(sm,{isActive:r,"aria-current":r?`page`:void 0,className:Sx,onClick:()=>{e.onSelect?.(),n()},children:i}),e.badge!==void 0&&(0,m.jsx)(cm,{className:`mono tnum text-[10px]`,children:e.badge})]},e.id)})})}var Sx=`h-auto gap-[9px] rounded-md border border-transparent px-[9px] py-[7px] text-[12.5px] font-medium text-dim transition-colors hover:bg-hover hover:text-fg data-active:border-brand-border data-active:bg-brand-soft data-active:font-medium data-active:text-fg [&_svg]:size-[15px]! [&_svg]:text-faint hover:[&_svg]:text-dim data-active:[&_svg]:text-brand`;function Cx({title:e,actions:t,search:n}){return(0,m.jsxs)(`header`,{className:`sticky top-0 z-20 flex h-(--agora-topbar-h) shrink-0 items-center gap-3 border-b border-border bg-(--agora-topbar) px-3 backdrop-blur-md md:px-5`,children:[(0,m.jsx)(Xp,{className:`-ml-1 text-dim md:hidden`}),(0,m.jsx)(`div`,{className:`min-w-0 truncate text-sm font-semibold text-fg`,children:e}),(0,m.jsxs)(`div`,{className:`ml-auto flex min-w-0 items-center gap-2`,children:[t,n]})]})}function wx({brand:e,nav:t,activeId:n,shell:r,title:i,actions:a,children:o,searchPlaceholder:s,contentClassName:c,commands:l}){let[u,d]=(0,p.useState)(!1),f=r.search!==void 0||(l?.length??0)>0;Oy(f,d);let h=(0,p.useCallback)(()=>d(!0),[]);return(0,m.jsxs)(Ip,{delay:150,children:[(0,m.jsx)(`div`,{className:`agora-glow`,"aria-hidden":!0}),(0,m.jsxs)(Jp,{className:`relative z-[1] h-svh min-h-0 overflow-hidden`,style:{"--sidebar-width":`var(--agora-sidebar-w)`},children:[(0,m.jsxs)(Yp,{className:`border-sidebar-border [&_[data-slot=sidebar-inner]]:backdrop-blur-md`,children:[(0,m.jsx)(Qp,{className:`border-b border-sidebar-border px-[18px] pt-[18px] pb-3.5`,children:(0,m.jsx)(sx,{brand:(0,m.jsx)(vx,{brand:e}),current:e.current,config:r.switcher,...f?{onSearch:h}:{}})}),(0,m.jsx)(em,{className:`pt-1 pb-2`,children:(0,m.jsx)(`nav`,{"aria-label":`Console`,children:(0,m.jsx)(yx,{nav:t,activeId:n})})}),(0,m.jsx)($p,{className:`border-t border-sidebar-border px-3.5 py-3`,children:(0,m.jsx)(_x,{...r.viewer?{viewer:r.viewer}:{},...r.signOut?{signOut:r.signOut}:{}})})]}),(0,m.jsxs)(Zp,{className:`min-h-0 min-w-0 overflow-hidden bg-transparent`,children:[(0,m.jsx)(Cx,{title:i,actions:a,search:f?(0,m.jsx)(ky,{onOpen:h,label:r.search?`Search all consoles`:`Search`}):void 0}),(0,m.jsx)(`div`,{className:J(`relative min-h-0 flex-1 overflow-y-auto`,c),children:o})]})]}),f&&(0,m.jsx)(My,{config:r.search,commands:l,open:u,onOpenChange:d,...s?{placeholder:s}:{}})]})}function Tx({children:e,className:t}){return(0,m.jsx)(`div`,{className:J(`flex flex-col gap-4 px-4 pt-5 pb-16 md:px-6 md:pt-6`,t),children:e})}function Ex(e){return encodeURIComponent(String(e))}function Dx(e){let t=[];for(let[n,r]of Object.entries(e))if(r!=null){if(Array.isArray(r))for(let e of r)t.push(`${Ex(n)}[]=${Ex(e)}`);else if(typeof r==`object`)for(let[e,i]of Object.entries(r))i!=null&&t.push(`${Ex(n)}[${Ex(e)}]=${Ex(i)}`);else t.push(`${Ex(n)}=${Ex(r)}`)}return t.join(`&`)}function Ox(e){let t=[];return kx(e,`where`,t),t.join(`&`)}function kx(e,t,n){for(let r=0;r<e.length;r++){let i=e[r],a=`${t}[${r}]`;if(n.push(`${a}[field]=${Ex(i.field)}`),n.push(`${a}[operator]=${Ex(i.operator)}`),i.value!==void 0){if(Array.isArray(i.value))for(let e=0;e<i.value.length;e++)n.push(`${a}[value][${e}]=${Ex(i.value[e])}`);else n.push(`${a}[value]=${Ex(i.value)}`)}i.AND&&i.AND.length>0&&kx(i.AND,`${a}[AND]`,n),i.OR&&i.OR.length>0&&kx(i.OR,`${a}[OR]`,n)}}var Ax=[`equals`,`notEquals`,`contains`,`notContains`,`iContains`,`startsWith`,`endsWith`,`gt`,`gte`,`lt`,`lte`,`between`,`notBetween`,`in`,`notIn`,`isAnyOf`,`isEmpty`,`isNotEmpty`,`isNull`,`isNotNull`,`exists`,`notExists`],jx=[`equals`,`notEquals`,`gt`,`gte`,`lt`,`lte`],Mx=[`contains`,`notContains`,`iContains`,`startsWith`,`endsWith`],Nx=[`in`,`notIn`,`isAnyOf`],Px=[`between`,`notBetween`],Fx=[`isNull`,`isNotNull`,`isEmpty`,`isNotEmpty`,`exists`,`notExists`],Ix=[`gt`,`gte`,`lt`,`lte`],Lx=new Set(jx),Rx=new Set(Mx),zx=new Set(Nx),Bx=new Set(Px),Vx=new Set(Fx),Hx=new Set(Ix);function Ux(e,t){if(Vx.has(e)){if(t!=null)throw Error(`Operator "${e}" does not accept a value.`)}else if(Rx.has(e)){if(typeof t!=`string`)throw Error(`Operator "${e}" expects a string value.`)}else if(Bx.has(e)){if(!Array.isArray(t)||t.length!==2)throw Error(`Operator "${e}" expects [low, high] tuple.`)}else if(zx.has(e)){if(!Array.isArray(t))throw Error(`Operator "${e}" expects an array value.`)}else if(Lx.has(e)&&Array.isArray(t))throw Error(`Operator "${e}" expects a scalar value, not an array. Use "in" for arrays.`)}function Wx(e){if(!Hx.has(e))throw Error(`Operator "${e}" should use where() (replace), not add(). add() is for range operators (gt, gte, lt, lte) on the same field.`)}var Gx=class e{conditions=[];groups=[];extra={};includes=[];searchTerm;sorts=[];distinctFields=[];groupByCountSpec;pagination;cursor;version=0;snapshot=null;listeners=new Set;where(e,t,n){if(this.conditions=this.conditions.filter(t=>t.field!==e),n!==void 0){let r=t;Ux(r,n),this.conditions.push({field:e,operator:r,value:n})}else Array.isArray(t)?this.conditions.push({field:e,operator:`in`,value:t}):typeof t==`string`&&[`isNull`,`isNotNull`,`isEmpty`,`isNotEmpty`,`exists`,`notExists`].includes(t)?(Ux(t,void 0),this.conditions.push({field:e,operator:t,value:void 0})):this.conditions.push({field:e,operator:`equals`,value:t});return this.notify(),this}whereDynamic(e,t,n){if(!Ax.includes(t))throw Error(`Unknown filter operator "${String(t)}".`);return Ux(t,n),this.conditions=this.conditions.filter(t=>t.field!==e),this.conditions.push({field:e,operator:t,value:Vx.has(t)?void 0:n}),this.notify(),this}add(e,t,n){return Wx(t),Ux(t,n),this.conditions.push({field:e,operator:t,value:n}),this.notify(),this}remove(e){return this.conditions=this.conditions.filter(t=>t.field!==e),this.notify(),this}clear(){return this.conditions=[],this.groups.length=0,this.extra={},this.includes=[],this.searchTerm=void 0,this.sorts=[],this.distinctFields=[],this.groupByCountSpec=void 0,this.pagination=void 0,this.cursor=void 0,this.notify(),this}or(t){let n=new e;return t(n),this.groups.push({type:`OR`,conditions:n.conditions}),this.notify(),this}and(t){let n=new e;return t(n),this.groups.push({type:`AND`,conditions:n.conditions}),this.notify(),this}equals(e,t){return this.where(e,`equals`,t)}notEquals(e,t){return this.where(e,`notEquals`,t)}contains(e,t){return this.where(e,`contains`,t)}in(e,t){return this.where(e,`in`,t)}notIn(e,t){return this.where(e,`notIn`,t)}between(e,t,n){return this.where(e,`between`,[t,n])}gt(e,t){return this.where(e,`gt`,t)}gte(e,t){return this.where(e,`gte`,t)}lt(e,t){return this.where(e,`lt`,t)}lte(e,t){return this.where(e,`lte`,t)}isNull(e){return this.where(e,`isNull`)}isNotNull(e){return this.where(e,`isNotNull`)}isEmpty(e){return this.where(e,`isEmpty`)}isNotEmpty(e){return this.where(e,`isNotEmpty`)}startsWith(e,t){return this.where(e,`startsWith`,t)}endsWith(e,t){return this.where(e,`endsWith`,t)}addGte(e,t){return this.add(e,`gte`,t)}addLte(e,t){return this.add(e,`lte`,t)}addGt(e,t){return this.add(e,`gt`,t)}addLt(e,t){return this.add(e,`lt`,t)}set(e,t){return this.extra[e]=t,this.notify(),this}include(...e){for(let t of e)typeof t==`string`&&(this.includes.includes(t)||this.includes.push(t));return this.notify(),this}search(e){return typeof e==`string`&&(this.searchTerm=e,this.notify()),this}distinct(...e){for(let t of e)typeof t==`string`&&(this.distinctFields.includes(t)||this.distinctFields.push(t));return this.notify(),this}groupByCount(e,t={}){return typeof e==`string`&&e!==``&&(this.groupByCountSpec={field:e,...t.limit!==void 0&&{limit:t.limit},...t.offset!==void 0&&{offset:t.offset},...t.search!==void 0&&{search:t.search}}),this.notify(),this}sort(e,t=`asc`){return this.sorts=this.sorts.filter(t=>t.field!==e),this.sorts.push({field:e,direction:t}),this.notify(),this}sortDynamic(e,t=`asc`){return this.sort(e,t)}sortDesc(e){return this.sort(e,`desc`)}sortAsc(e){return this.sort(e,`asc`)}page(e,t=25){if(!Number.isInteger(e)||e<1)throw RangeError(`page must be an integer >= 1 (pages are 1-based), got ${e}`);if(!Number.isInteger(t)||t<1)throw RangeError(`size must be an integer >= 1, got ${t}`);return this.pagination={page:e,size:t},this.cursor=void 0,this.notify(),this}after(e){return this.setCursor(`after`,e),this}before(e){return this.setCursor(`before`,e),this}first(e){return this.setCursorSize(`first`,e),this}last(e){return this.setCursorSize(`last`,e),this}setCursor(e,t){if(typeof t!=`string`||t.length===0)throw TypeError(`${e} must be a non-empty cursor string, got ${String(t)}`);let{first:n,last:r}=this.cursor??{};this.cursor={[e]:t,...n!==void 0&&{first:n},...r!==void 0&&{last:r}},this.pagination=void 0,this.notify()}setCursorSize(e,t){if(!Number.isInteger(t)||t<1)throw RangeError(`${e} must be an integer >= 1, got ${t}`);let{after:n,before:r}=this.cursor??{};this.cursor={...n!==void 0&&{after:n},...r!==void 0&&{before:r},[e]:t},this.pagination=void 0,this.notify()}notify(){this.version++,this.snapshot=null;for(let e of this.listeners)e()}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>(this.snapshot===null&&(this.snapshot=this.build()),this.snapshot);getVersion(){return this.version}build(){let e=[];for(let t of this.conditions)e.push({field:t.field,operator:t.operator,value:t.value});for(let t of this.groups){let n=t.conditions.map(e=>({field:e.field,operator:e.operator,value:e.value}));t.type===`OR`?e.push({field:``,operator:`equals`,value:void 0,OR:n}):e.push({field:``,operator:`equals`,value:void 0,AND:n})}let t={...this.extra,filter:{where:e}};return this.includes.length>0&&(t.include=[...this.includes]),this.searchTerm!==void 0&&(t.search=this.searchTerm),this.sorts.length>0&&(t.sort=[...this.sorts]),this.distinctFields.length>0&&(t.distinct=[...this.distinctFields]),this.groupByCountSpec!==void 0&&(t.groupByCount={...this.groupByCountSpec}),this.pagination!==void 0&&(t.paginate={...this.pagination}),this.cursor!==void 0&&Object.assign(t,this.cursor),t}toQueryString(){let e=[],t;if(this.groups.length===0){let e=this.toFlatObject();t=Dx(Object.fromEntries(Object.entries(e).map(([e,t])=>[`filter[${e}]`,t])))}else t=Ox(this.build().filter.where);if(t&&e.push(t),this.includes.length>0&&e.push(`include=${encodeURIComponent(this.includes.join(`,`))}`),this.searchTerm!==void 0&&e.push(`search=${encodeURIComponent(this.searchTerm)}`),this.sorts.length>0){let t=this.sorts.map(e=>e.direction===`desc`?`-${e.field}`:e.field).join(`,`);e.push(`sort=${encodeURIComponent(t)}`)}if(this.distinctFields.length>0&&e.push(`distinct=${encodeURIComponent(this.distinctFields.join(`,`))}`),this.groupByCountSpec!==void 0){let{field:t,limit:n,offset:r,search:i}=this.groupByCountSpec,a=[[`groupByCount[field]`,t]];n!==void 0&&a.push([`groupByCount[limit]`,n]),r!==void 0&&a.push([`groupByCount[offset]`,r]),i!==void 0&&a.push([`groupByCount[search]`,i]);let o=Dx(Object.fromEntries(a));o&&e.push(o)}if(this.pagination!==void 0&&(e.push(`page=${encodeURIComponent(String(this.pagination.page))}`),e.push(`size=${encodeURIComponent(String(this.pagination.size))}`)),this.cursor!==void 0)for(let t of[`after`,`before`,`first`,`last`]){let n=this.cursor[t];n!==void 0&&e.push(`${t}=${encodeURIComponent(String(n))}`)}let n=Dx(this.extra);return n&&e.push(n),e.join(`&`)}toFlatObject(){let e={};for(let t of this.conditions)if(t.operator===`equals`)e[t.field]=t.value;else if(t.operator===`in`)e[t.field]=t.value;else{let n=e[t.field];typeof n==`object`&&n&&!Array.isArray(n)?n[t.operator]=t.value:e[t.field]={[t.operator]:t.value}}return e}},Kx=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`]);function qx(e,t,n){if(n!==void 0){if(Array.isArray(n)){if(n.length===0)return;e.where(t,n.length===1?n[0]:n)}else n!==``&&e.where(t,n)}}function Jx(e,t={},n){let r=new Gx;qx(r,`status`,e.status),qx(r,`workflow`,e.workflow),qx(r,`tag`,e.tag),qx(r,`namespace`,e.namespace),e.origin&&r.where(`origin`,e.origin);let i=[];for(let t of e.attr??[]){let[e,n,...r]=t.split(`:`);e&&Kx.has(n??``)&&r.length!==0&&i.push(t)}return i.length>0&&r.where(`attr`,i.length===1?i[0]:i),t.page!==void 0&&r.set(`page`,t.page),t.size!==void 0&&r.set(`size`,t.size),n&&r.groupByCount(n.field,{...n.limit!==void 0&&{limit:n.limit},...n.offset!==void 0&&{offset:n.offset},...n.search?.trim()&&{search:n.search.trim()}}),r.toQueryString()}function Yx(e){if(typeof e==`object`&&e&&`durationMs`in e){let t=e.durationMs;if(typeof t==`number`)return t}}function Xx(e){let t=new Map,n=[];for(let r of e){let e=r.subId??r.name??r.process;if(e===void 0){n.push(r);continue}let i=t.get(e),a=i??{id:e,name:r.name??e,phases:[],logs:[]};i||t.set(e,a),r.name!==void 0&&(a.name=r.name),r.group!==void 0&&(a.group=r.group),r.status===void 0?r.phase===void 0?a.logs.push(r):a.phases.push(r):(a.terminal=r,a.status=r.status)}return{subs:[...t.values()].map(e=>{let t=[...e.phases,...e.logs],n=[...t,...e.terminal?[e.terminal]:[]].map(e=>e.at),r=n.length?n.reduce((e,t)=>t<e?t:e,1/0):void 0,i=Yx(e.terminal?.data)??(e.terminal&&r!==void 0&&t.length>0?e.terminal.at-r:void 0);return{...e,startedAt:r,durationMs:i}}),stepLogs:n}}var Zx={kind:`all`};function Qx(e){return e?.trim()||void 0}function $x(e){return Qx(e)===void 0}function eS(e){let t=Qx(e);if(t===void 0)return`app`;let n=t.lastIndexOf(`/`);return n===-1?t:t.slice(n+1)||t}function tS(e,t){return e.kind===t.kind?e.kind===`origin`&&t.kind===`origin`?e.origin===t.origin:!0:!1}function nS(e){return e.kind===`origin`?`origin:${e.origin}`:e.kind}function rS(e,t){if(t.kind===`all`)return!0;let n=Qx(e.origin);return t.kind===`unknown`?n===void 0:n===t.origin}function iS(e,t){return t.kind===`all`?[...e]:e.filter(e=>rS(e,t))}var aS=`The app's own workflows: runs with no package origin, i.e. not declared by any library.`;function oS(e){let t=new Map,n=0;for(let r of e){let e=Qx(r.origin);e===void 0?n+=1:t.set(e,(t.get(e)??0)+1)}let r=[{filter:Zx,label:`all`,title:`Every origin, including runs that have none`,count:e.length}];for(let e of[...t.keys()].sort())r.push({filter:{kind:`origin`,origin:e},label:eS(e),title:e,count:t.get(e)??0});return n>0&&r.push({filter:{kind:`unknown`},label:`app`,title:aS,count:n}),r}function sS(e){return e.some(e=>Qx(e.origin)!==void 0)}function cS(e){return e.reduce((e,t)=>e+ +!!$x(t.origin),0)}function lS(e){return e.anyFilter?e.origin.kind===`unknown`?{message:e.unknownCount>0?`No app runs match the other filters.`:`Every run here comes from a package — none are the app's own.`}:e.origin.kind===`origin`&&e.unknownCount>0?{message:`No runs from ${eS(e.origin.origin)} match these filters.`,unclassified:e.unknownCount}:{message:`No runs match these filters.`}:{message:`No runs yet.`}}function uS(e){return e.startsWith(`compensate:`)?e.slice(11):e}function dS(e){let t=[],n=[];for(let r of e)r.seq<0?n.push(r):t.push(r);return n.sort((e,t)=>t.seq-e.seq),{body:t,compensations:n}}function fS(e){let t=0,n=0,r=0;for(let i of e)i.status===`completed`?t++:i.status===`failed`?n++:r++;return{total:e.length,done:t,failed:n,pending:r}}var pS=`update:`,mS=`task:`,hS=`child:`,gS=`runwait:`,_S=[`bp:`,`breakpoint`];function vS(e,t){let n=e.slice(t.length),r=n.indexOf(`:`);if(r===-1)return;let i=n.slice(r+1);return i.length>0?i:void 0}function yS(e){if(!_S.some(t=>e.startsWith(t))&&!(e.startsWith(hS)||e.startsWith(gS))){if(e.startsWith(pS)){let t=vS(e,pS);if(t!==void 0)return{kind:`update`,token:e,name:t}}if(e.startsWith(mS)){let t=vS(e,mS);if(t!==void 0)return{kind:`task`,token:e,name:t}}return{kind:`signal`,token:e}}}function bS(e,t){let n=[];for(let t of e)t.kind===`signal`&&(t.status===`pending`||t.status===`running`)&&n.push(t.name);n.length===0&&t&&(t.on===`signal`||t.on===`webhook`)&&n.push(t.name);let r=new Set,i=[];for(let e of n){if(r.has(e))continue;r.add(e);let t=yS(e);t&&i.push(t)}return i}function xS(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search).get(`tenant`);return e&&e!==`*`?e:void 0}function SS(e){let t=xS();return t===void 0?e:`${e}${e.includes(`?`)?`&`:`?`}tenant=${encodeURIComponent(t)}`}var CS=6e5;function wS(e,t){return e.kind!==`remote`||e.status!==`pending`?!1:t-(e.enqueuedAt?new Date(e.enqueuedAt).getTime():new Date(e.startedAt).getTime())>CS}function TS(e){return e===`running`||e===`suspended`||e===`cancelling`}var ES=new Set([`running`,`suspended`,`blocked`,`cancelling`]),DS=`durable:singleton:admitted`;function OS(e){let t=e.lastIndexOf(`@`);return t===-1?e:e.slice(0,t)}function kS(e,t){let n=OS(e),r=t.filter(e=>OS(e.group)===n),i=r.some(e=>e.depth>0),a=r.some(e=>e.liveWorkers.length>0);return i&&!a}function AS(e){return e.startsWith(`wh:`)?`webhook ${e}`:e.startsWith(`child:`)?`child ${e.slice(6)}`:`signal ${e}`}function jS(e,t){let n=e.tags?.find(e=>e.startsWith(`singleton:`));if(!n||e.tags?.includes(DS))return;let r=t.filter(e=>ES.has(e.status)&&e.tags?.includes(n)).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id));return r.find(e=>e.tags?.includes(DS))??r[0]}function MS(e){return`${e.on} ${e.name}`}function NS(e,t){if(e.status!==`suspended`)return e.status===`pending`&&kS(e.workflow,t.health)?{status:`no-worker`,detail:e.workflow}:e.status===`blocked`?{status:`blocked`,detail:e.error?.message??e.workflow}:{status:e.status};let n=jS(e,t.runs);if(n&&n.id!==e.id)return{status:`queued`,detail:`behind leader ${n.id.slice(0,8)}`};let r=t.timeline?.find(e=>e.status===`pending`||e.status===`running`);if(r){if(r.name.startsWith(`signal:child:${e.id}.onError.`)){let e=r.input?.workflow;return{status:`awaiting`,detail:typeof e==`string`?`failure handler ${e}`:`failure handler`}}return r.kind===`signal`?{status:`awaiting`,detail:AS(r.name)}:r.kind===`sleep`?{status:`sleeping`}:r.workerGroup&&kS(r.workerGroup,t.health)?{status:`no-worker`,detail:OS(r.workerGroup)}:{status:`running`}}return e.waiting?{status:`awaiting`,detail:MS(e.waiting)}:kS(e.workflow,t.health)?{status:`no-worker`,detail:e.workflow}:t.timeline?{status:`suspended`}:{status:`running`}}function PS(e,t){return e.status===`suspended`?t?.some(e=>e.status===`pending`||e.status===`running`)?`running`:e.wakeAt==null?t?`awaiting`:`running`:`sleeping`:e.status}var FS=`durable-dashboard-config`;function IS(){if(typeof document>`u`)return{};let e=document.getElementById(FS);if(e===null)return{};try{let t=JSON.parse(e.textContent??``);return typeof t==`object`&&t?t:{}}catch{return{}}}function LS(){let e=IS().base;return typeof e==`string`?e:`/durable`}function RS(){let e=IS().api;return typeof e==`string`?e:`${LS()}/api`}async function zS(e){try{let t=await e.json();if(typeof t!=`object`||!t)return;let n=t.redirectTo;return typeof n==`string`&&n!==``?n:void 0}catch{return}}function BS(e){typeof window<`u`&&(window.location.href=e??(LS()||`/`))}function VS(){if(typeof document>`u`)return{};let e=/(?:^|;\s*)XSRF-TOKEN=([^;]*)/.exec(document.cookie)?.[1];return e?{"x-xsrf-token":decodeURIComponent(e)}:{}}var HS=`The server redirected this request instead of answering it, usually because the session or its CSRF token expired. Reload the page and try again.`;async function US(e,t){let n=(t?.method??`GET`).toUpperCase(),r=n!==`GET`&&n!==`HEAD`,i=await fetch(RS()+SS(e),{...t,...r?{headers:{...t?.headers,...VS()},redirect:`manual`}:{}});if(i.status===401)throw BS(await zS(i)),Error(`Not signed in; redirecting.`);if(i.type===`opaqueredirect`||i.redirected||i.status>=300&&i.status<400)throw new GS(i.status,HS,void 0);return i}async function WS(e,t){let n=await US(e,t);if(!n.ok)throw await JS(n);return await n.json()}var GS=class extends Error{status;body;constructor(e,t,n){super(t),this.status=e,this.body=n,this.name=`DurableActionError`}};function KS(e){if(!(e instanceof GS)||typeof e.body!=`object`||e.body===null)return;let t=e.body.waitingOn;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function qS(e,t){let n=await US(e,t);if(!n.ok)throw await JS(n);return await n.json()}async function JS(e){let t;try{t=await e.json()}catch{t=void 0}let n=typeof t==`object`&&t&&typeof t.error==`string`?t.error:`${e.status} ${e.statusText}`;return new GS(e.status,n,t)}function YS(e,t){return qS(e,{method:`POST`,...t===void 0?{}:{headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}})}var XS={async runs(e,t,n,r){let{data:i}=await XS.runsPage(e,t,n,r);return i},async runsPage(e,t,n,r,i){let a=Jx({status:e,tag:t,attr:n,...r},i??{}),o=await WS(a?`/runs?${a}`:`/runs`);return{data:o.data,meta:o.meta}},async values(e,t={},n){return WS(`/runs/values?${Jx(t,{},{field:e,...n})}`)},run(e){return WS(`/runs/${encodeURIComponent(e)}`)},fanMembers(e,t,n={}){let r=new Gx;n.failed&&r.where(`status`,`failed`),(n.page!==void 0||n.size!==void 0)&&r.page(n.page??1,n.size??100);let i=r.toQueryString(),a=`/runs/${encodeURIComponent(e)}/fans/${encodeURIComponent(t)}`;return WS(i?`${a}?${i}`:a)},async workers(){return(await WS(`/workers`)).data},topology(){return WS(`/topology`)},tenants(){return WS(`/tenants`)},selectTenant(e){return WS(`/tenants/${encodeURIComponent(e)}/select`,{method:`POST`})},compat(){return WS(`/compat`)},async retry(e){return(await WS(`/runs/${encodeURIComponent(e)}/retry`,{method:`POST`})).result},async retryWithInput(e,t){return(await WS(`/runs/${encodeURIComponent(e)}/retry-with-input`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({input:t})})).result},bulk(e,t){let{compensate:n,...r}=t,i=Jx(r),a=n?`${i?`${i}&`:``}compensate=true`:i;return WS(`/bulk/${e}${a?`?${a}`:``}`,{method:`POST`})},async cancel(e,t){let n=t?.compensate?`?compensate=true`:``;return(await WS(`/runs/${encodeURIComponent(e)}/cancel${n}`,{method:`POST`})).result},async continue(e){return(await WS(`/runs/${encodeURIComponent(e)}/continue`,{method:`POST`})).result},workflowLifecycle(e){return WS(`/workflows/${encodeURIComponent(e)}/lifecycle`)},async republishLifecycle(e,t){return(await WS(`/runs/${encodeURIComponent(e)}/republish-lifecycle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t===void 0?{}:{subscriber:t})})).result},async redispatch(e){return(await WS(`/runs/${encodeURIComponent(e)}/redispatch`,{method:`POST`})).result},async signal(e,t,n,r){return(await YS(`/runs/${encodeURIComponent(e)}/signal`,{token:t,payload:n,...r?.force?{force:!0}:{}})).result},async update(e,t,n){return(await YS(`/runs/${encodeURIComponent(e)}/updates/${encodeURIComponent(t)}`,{arg:n})).result},completeTask(e,t,n){return YS(`/runs/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/complete`,{result:n})},failTask(e,t,n){return YS(`/runs/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/fail`,{error:n})},async schedules(){let e=[];for(let t=1;;t+=1){let n=await WS(`/schedules?${new Gx().page(t,200).toQueryString()}`);if(e.push(...n.data),n.meta.currentPage>=n.meta.lastPage)return e}},setSchedulePaused(e,t){return YS(`/schedules/${encodeURIComponent(e)}/${t?`pause`:`resume`}`)},async triggerSchedule(e){return(await YS(`/schedules/${encodeURIComponent(e)}/trigger`)).result},streamRun(e,t){if(typeof EventSource>`u`)return()=>{};let n=new EventSource(`${RS()}${SS(`/runs/${encodeURIComponent(e)}/stream`)}`);return n.onmessage=e=>{try{t(JSON.parse(e.data))}catch{}},()=>n.close()}};function ZS({title:e,description:t,actions:n,className:r}){return(0,m.jsxs)(`div`,{className:J(`flex flex-wrap items-end justify-between gap-3`,r),children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`h1`,{className:`text-lg font-bold tracking-[0.01em] text-fg`,children:e}),t&&(0,m.jsx)(`p`,{className:`mt-1 text-xs text-faint`,children:t})]}),n&&(0,m.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]})}function QS({children:e,className:t,label:n=`toolbar`}){return(0,m.jsx)(`div`,{role:`toolbar`,"aria-label":n,className:J(`flex flex-wrap items-center gap-1.5`,t),children:e})}function $S({className:e,size:t=`default`,...n}){return(0,m.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:J(`group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...n})}function eC({title:e,description:t,action:n,children:r,flush:i,className:a,bodyClassName:o}){return(0,m.jsxs)($S,{className:J(`agora-surface agora-rise rounded-lg border border-border shadow-none ring-0 gap-0 py-0`,a),children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-border px-4 py-3`,children:[(0,m.jsx)(`h3`,{className:`text-[12.5px] font-semibold tracking-[0.02em] text-fg`,children:e}),(t||n)&&(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[t&&(0,m.jsx)(`span`,{className:`mono truncate text-[10.5px] text-faint`,children:t}),n]})]}),(0,m.jsx)(`div`,{className:J(i?``:`px-4 pt-3 pb-4`,o),children:r})]})}var tC=Hi(`group/badge inline-flex h-[18px] w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 font-mono text-[10px] font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`border-bad/22 bg-bad/12 text-bad`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`,brand:`border-brand-border bg-brand-soft text-brand`,good:`border-good/22 bg-good/12 text-good`,warn:`border-warn/22 bg-warn/12 text-warn`,info:`border-info/22 bg-info/12 text-info`,violet:`border-violet/22 bg-violet/12 text-violet`,teal:`border-teal/22 bg-teal/12 text-teal`,neutral:`border-border bg-hover text-dim`,bare:`h-auto rounded-none border-transparent px-0 uppercase tracking-wider`}},defaultVariants:{variant:`default`}});function nC({className:e,variant:t=`default`,render:n,...r}){return go({defaultTagName:`span`,props:Jr({className:J(tC({variant:t}),e)},r),render:n,state:{slot:`badge`,variant:t}})}function rC(e){return`#/workflow/${encodeURIComponent(e)}`}function iC(e){let t=e.match(/^#\/workflow\/(.+)$/);return t?.[1]?decodeURIComponent(t[1]):void 0}function aC(e){let t=[];return e.where&&t.push(`where`),e.input&&t.push(`input`),e.coalesce&&t.push(e.coalesce.keyed?`${e.coalesce.mode} by key`:e.coalesce.mode),e.local||t.push(`announced`),t}function oC(e,t){let n=e?.[t];if(n)return n.failed>0?`${n.triggered} started · ${n.failed} failed`:`${n.triggered} started`}function sC({title:e,empty:t,links:n,counts:r}){return(0,m.jsxs)(`section`,{"aria-label":e,className:`min-w-0`,children:[(0,m.jsx)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:e}),n.length===0?(0,m.jsx)(`p`,{className:`mt-1 text-[11px] text-faint`,children:t}):(0,m.jsx)(`ul`,{className:`mt-1 flex flex-col gap-1`,children:n.map(e=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,m.jsx)(`a`,{href:rC(e.workflow),className:`mono text-[12px] text-fg underline-offset-2 hover:underline`,children:e.workflow}),(0,m.jsxs)(nC,{variant:`neutral`,className:e.kind===`failed`?`s-failed`:`s-completed`,children:[`on `,e.kind]}),aC(e).map(e=>(0,m.jsx)(nC,{variant:`neutral`,children:e},e)),oC(r,e.workflow)&&(0,m.jsx)(`span`,{className:`mono text-[10px] ${r?.[e.workflow]?.failed?`text-bad`:`text-dim`}`,title:`Counted by this dashboard's server process since it started`,children:oC(r,e.workflow)})]},`${e.workflow}:${e.kind}`))})]})}function cC({links:e,counts:t}){return(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,m.jsx)(sC,{title:`Starts when it settles`,empty:`No workflow starts when it settles.`,links:e.startsOnSettle,counts:t}),(0,m.jsx)(sC,{title:`Started by`,empty:`No workflow's settling starts it.`,links:e.startedBy})]})}function lC({workflow:e}){let{data:t,error:n,isPending:r}=Qe({queryKey:[`workflow-lifecycle`,e],queryFn:()=>XS.workflowLifecycle(e),refetchInterval:1e4});return(0,m.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,m.jsx)(ZS,{title:(0,m.jsx)(`span`,{className:`mono`,children:e}),description:`Lifecycle events: registered here and announced by live workers.`}),(0,m.jsx)(eC,{title:`Lifecycle`,description:`who starts when it settles, and who starts it`,children:n?(0,m.jsx)(Ki,{title:`Lifecycle could not be loaded`,error:n}):r||!t?(0,m.jsxs)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":!0,children:[(0,m.jsx)(Gf,{className:`h-3 w-48`}),(0,m.jsx)(Gf,{className:`h-3 w-64`}),(0,m.jsx)(Gf,{className:`h-3 w-40`})]}):(0,m.jsx)(cC,{links:t,counts:t.triggerCounts})})]})}function uC(e){let t=e.match(/^#\/run\/(.+)$/)?.[1];if(t)return{page:`runs`,runId:decodeURIComponent(t)};let n=iC(e);return n===void 0?e===`#/workers`?{page:`workers`}:e===`#/schedules`?{page:`schedules`}:{page:`runs`}:{page:`workflow`,workflow:n}}function dC(e){switch(e.page){case`runs`:return e.runId?`#/run/${encodeURIComponent(e.runId)}`:``;case`workflow`:return rC(e.workflow);default:return`#/${e.page}`}}function fC(){return typeof window>`u`?{page:`runs`}:uC(window.location.hash)}function pC(e){if(typeof window>`u`)return;let t=dC(e);if(window.location.hash===t)return;let n=t||window.location.pathname+window.location.search;window.history.pushState(null,``,n)}function mC({className:e}){return(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,className:e,role:`img`,"aria-label":`durable`,children:[(0,m.jsx)(`title`,{children:`durable`}),(0,m.jsx)(`path`,{d:`M12 2.5 21.5 12 12 21.5 2.5 12z`,opacity:.35}),(0,m.jsx)(`circle`,{cx:`6.4`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`circle`,{cx:`17.6`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`path`,{d:`M8.1 12h2.2M13.7 12h2.2`})]})}var hC=[`pending`,`running`,`suspended`,`blocked`,`cancelling`,`completed`,`failed`,`cancelled`,`dead`];function gC(e){let t=Date.now()-new Date(e).getTime(),n=Math.round(t/1e3);if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function _C(e,t){let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${(n/6e4).toFixed(1)}m`}function vC({status:e}){return(0,m.jsx)(`span`,{className:`dot s-${e} ${e===`running`||e===`awaiting`?`pulse`:``}`,"aria-hidden":!0})}function yC({status:e}){return(0,m.jsxs)(nC,{variant:`bare`,className:`s-${e} gap-1.5 text-[11px]`,children:[(0,m.jsx)(vC,{status:e}),e]})}var bC={width:14,height:14,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,strokeLinecap:`round`,strokeLinejoin:`round`};function xC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`rect`,{x:`7`,y:`7`,width:`10`,height:`10`,rx:`1.5`}),(0,m.jsx)(`path`,{d:`M9 3v2M15 3v2M9 19v2M15 19v2M3 9h2M3 15h2M19 9h2M19 15h2`})]})}function SC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,m.jsx)(`path`,{d:`M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18`})]})}function CC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,m.jsx)(`path`,{d:`M12 13V9M9 2h6`})]})}function wC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`}),(0,m.jsx)(`path`,{d:`M7.8 7.8a6 6 0 0 0 0 8.4M16.2 16.2a6 6 0 0 0 0-8.4M5 5a10 10 0 0 0 0 14M19 19a10 10 0 0 0 0-14`})]})}function TC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`m4 12 5 5L20 6`})})}function EC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})}function DC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,m.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function OC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M21 12a9 9 0 1 1-2.6-6.3M21 4v5h-5`})})}function kC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M13 2 4 14h7l-1 8 9-12h-7l1-8z`})})}function AC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M6 4l14 8-14 8z`})})}function jC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,m.jsx)(`path`,{d:`m20 20-4-4`})]})}function MC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`6`,cy:`5`,r:`2`}),(0,m.jsx)(`path`,{d:`M6 7v6a4 4 0 004 4h4`}),(0,m.jsx)(`circle`,{cx:`18`,cy:`17`,r:`2`})]})}var NC={local:xC,remote:SC,sleep:CC,signal:wC,child:MC};function PC(e){return NC[e]??xC}var FC={local:`In-process step`,remote:`Remote worker step`,sleep:`Durable timer`,signal:`External signal`,child:`Child workflow — click to open its run`},IC=(0,p.forwardRef)(({className:e,...t},n)=>(0,m.jsx)(`input`,{ref:n,className:J(`mono w-full bg-transparent py-1.5 text-xs text-fg placeholder:text-faint focus:outline-none disabled:opacity-50`,e),...t}));IC.displayName=`Input`;var LC=(0,p.forwardRef)(({glyph:e,onClear:t,clearLabel:n=`clear`,containerClassName:r,value:i,...a},o)=>(0,m.jsxs)(`div`,{className:J(`flex items-center gap-1.5 rounded-md border border-line px-2 transition-colors focus-within:border-line-strong`,r),children:[e!==void 0&&(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:e}),(0,m.jsx)(IC,{ref:o,value:i,...a}),t&&i?(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:t,title:n,"aria-label":n,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})}):null]}));LC.displayName=`InputField`;function RC({onOpenRun:e}){let[t,n]=(0,p.useState)(``),[r,i]=(0,p.useState)(!1),a=$e({mutationFn:e=>XS.run(e),onSuccess:t=>{n(``),i(!1),e(t.run.id)},onError:()=>i(!0)});return(0,m.jsxs)(`form`,{className:`relative`,onSubmit:e=>{e.preventDefault();let n=t.trim();n&&a.mutate(n)},children:[(0,m.jsx)(LC,{glyph:(0,m.jsx)(jC,{width:12,height:12}),value:t,onChange:e=>{n(e.target.value),i(!1)},onClear:()=>{n(``),i(!1)},clearLabel:`clear run id`,placeholder:`open run id…`,"aria-label":`open run by id`,containerClassName:`w-44`}),r&&(0,m.jsx)(`span`,{className:`mono absolute left-0 top-full z-20 mt-1 whitespace-nowrap rounded border border-bad/25 bg-panel-2 px-1.5 py-0.5 text-[10px] text-bad`,children:`no run with that id`})]})}function zC({open:e,onOpenChange:t,title:n,description:r,footer:i,children:a,className:o}){return(0,m.jsx)(ly,{open:e,onOpenChange:t,children:(0,m.jsxs)(fy,{className:J(`gap-4 sm:max-w-xl`,o),children:[(0,m.jsxs)(py,{children:[(0,m.jsx)(hy,{className:`pr-8 text-[15px] font-semibold tracking-tight`,children:n}),r&&(0,m.jsx)(gy,{className:`mono break-all text-[11px]`,children:r})]}),(0,m.jsx)(`div`,{children:a}),i&&(0,m.jsx)(my,{children:i})]})})}function BC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty`,className:J(`flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-lg border-dashed p-12 text-center text-balance`,e),...t})}function VC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-header`,className:J(`flex max-w-sm flex-col items-center gap-2`,e),...t})}var HC=Hi(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function UC({className:e,variant:t=`default`,...n}){return(0,m.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:J(HC({variant:t,className:e})),...n})}function WC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-title`,className:J(`cn-font-heading text-lg font-medium tracking-tight`,e),...t})}function GC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-description`,className:J(`text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,e),...t})}function KC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-content`,className:J(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,e),...t})}function qC({title:e,description:t,icon:n,action:r,className:i}){return(0,m.jsxs)(BC,{className:J(`p-8`,i),children:[(0,m.jsxs)(VC,{children:[(0,m.jsx)(UC,{variant:`icon`,className:`border border-border bg-panel-2 text-faint`,children:n??(0,m.jsx)(Tt,{})}),(0,m.jsx)(WC,{className:`text-[13px] font-semibold text-fg`,children:e}),t&&(0,m.jsx)(GC,{className:`text-xs text-faint`,children:t})]}),r&&(0,m.jsx)(KC,{children:r})]})}var JC=p.createContext(void 0);function YC(e){let t=p.useContext(JC);if(t===void 0&&!e)throw Error(ci(47));return t}var XC={...ku,disabled:e=>e.disabled,instantType:e=>e.instantType===`trigger-change`&&!ku.open(e)?void 0:e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,isPressOpenedByTrigger:(e,t)=>e.openChangeReason===`trigger-press`&&ku.isOpenedByTrigger(e,t),isTouchPressOpen:(e,t)=>t&&e.openMethod===`touch`&&e.openChangeReason===`trigger-press`,hasTriggerFocusGuards:(e,t)=>ku.isOpenedByTrigger(e,t)&&!e.focusManagerModal,modal:e=>e.modal,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},ZC=class extends bu{constructor(e,t,n){let r=new eu;super(QC(e,r,t,n),$C(r),XC)}setOpen=(e,t)=>{let n=t.reason===ia,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=ql(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n=Kl(this.state,e,t.trigger,a());n.openChangeReason=t.reason,this.update(n)};n?(this.context.stickIfOpen=!0,this.context.stickIfOpenTimeout.start(500,()=>{this.context.stickIfOpen=!1}),Za.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function QC(e,t,n,r=!1){let i={...Cu(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i}function $C(e){return{popupRef:p.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:p.createRef(),beforeTriggerFocusGuardRef:p.createRef(),beforeContentFocusGuardRef:p.createRef(),stickIfOpenTimeout:new Ga,stickIfOpen:!0,triggerElements:e}}var ew=lu(function({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=nw(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),h=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),$l(u,d),Xl(u);let{forceUnmount:g}=Zl(d,u,()=>{u.context.stickIfOpen=!0,u.set(`openChangeReason`,null)});u.useSyncedValues({modal:o}),p.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),p.useImperativeHandle(e.actionsRef,()=>({unmount:g,close:()=>u.setOpen(!1,ea(_a))}),[g,u]);let _=d||f||s!=null;return(0,m.jsxs)(JC.Provider,{value:u,children:[s&&(0,m.jsx)(Ul,{handle:s,store:u}),_&&(0,m.jsx)(rw,{store:u,modal:o}),typeof t==`function`?t({payload:h}):t]})});function tw(e){return YC(!0)?(0,m.jsx)(ew,{props:e}):(0,m.jsx)(xl,{children:(0,m.jsx)(ew,{props:e})})}function nw(e,t){let n=Hl((e,n)=>new ZC(t,e,n));return p.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function rw({store:e,modal:t}){let n=Ll(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return Ql(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var iw=uu(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...h}=e,g=YC(!0),_=Au(s)??g;if(!_)throw Error(ci(74));let v=$i(f),y=_.useState(`isTriggerActive`,v),b=_.useState(`floatingRootContext`),x=_.useState(`isOpenedByTrigger`,v),S=_.useState(`triggerPopupId`,v),C=p.useRef(null),{registerTrigger:w,isMountedByThisTrigger:T}=Yl(v,C,_,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),E=_.useState(`isPressOpenedByTrigger`,v),D=_.useState(`isTouchPressOpen`,l),O=_.useState(`hasTriggerFocusGuards`,v),k=Bu(b,{enabled:!a&&l&&!D,mouseOnly:!0,move:!1,handleClose:td(),restMs:u,delay:{close:d},triggerElementRef:C,isActiveTrigger:y,isClosing:()=>_.select(`transitionStatus`)===`ending`}),A=jl(b,{stickIfOpen:Y(()=>_.context.stickIfOpen)}),j=If(()=>_.select(`open`),e=>{_.set(`openMethod`,e)}),M=_.useState(`triggerProps`,T),{getButtonProps:N,buttonRef:P}=mi({disabled:a,native:o}),F={open(e){return E?$o.open(e):Qo.open(e)}},{handlePreFocusGuardFocus:I,handleFocusTargetFocus:L}=qb(_,C),R=Mi(`button`,e,{state:{disabled:a,open:x},ref:[P,t,w,C],props:[A.reference,k,M,j,{[il]:``,id:v,"aria-haspopup":`dialog`,"aria-expanded":x,"aria-controls":S},h,N],stateAttributesMapping:F}),z=(0,m.jsx)(p.Fragment,{children:R},v);return O?(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)(Hc,{ref:_.context.beforeTriggerFocusGuardRef,onFocus:I}),z,(0,m.jsx)(Hc,{ref:_.context.triggerFocusTargetRef,onFocus:L})]}):z}),aw=p.createContext(void 0);function ow(){let e=p.useContext(aw);if(e===void 0)throw Error(ci(45));return e}var sw=p.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return YC().useState(`mounted`)||n?(0,m.jsx)(aw.Provider,{value:n,children:(0,m.jsx)(fl,{ref:t,...r})}):null}),cw=p.createContext(void 0);function lw(){let e=p.useContext(cw);if(!e)throw Error(ci(46));return e}var uw=p.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:h,disableAnchorTracking:g=!1,collisionAvoidance:_=ol,...v}=e,y=YC(),b=ow(),x=yl(),S=y.useState(`floatingRootContext`),C=y.useState(`mounted`),w=y.useState(`open`),T=y.useState(`openChangeReason`),E=y.useState(`activeTriggerElement`),D=y.useState(`modal`),O=y.useState(`openMethod`),k=y.useState(`positionerElement`),A=y.useState(`instantType`),j=y.useState(`transitionStatus`),M=Dp({anchor:a,floatingRootContext:S,positionMethod:o,mounted:C,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:h,disableAnchorTracking:g,keepMounted:b,nodeId:x,collisionAvoidance:_,adaptiveOrigin:y.useState(`adaptiveOrigin`)});Tb({store:y,domReference:S.useState(`domReferenceElement`),positionerElement:k,open:w});let N=D===!0&&T!==`trigger-hover`;Db(w&&N,O===`touch`,k,E);let P=y.useStateSetter(`positionerElement`),F=jp(e,{open:w,side:M.side,align:M.align,anchorHidden:M.anchorHidden,instant:A},{styles:M.positionerStyles,transitionStatus:j,props:v,refs:[t,P],hidden:!C,inert:!w});return(0,m.jsxs)(cw.Provider,{value:M,children:[C&&N&&(0,m.jsx)(mf,{inert:pf(!w),cutout:E}),(0,m.jsx)(bl,{id:x,children:F})]})}),dw=p.createContext(void 0);function fw(){let[e,t]=p.useState(0),n=Y(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:p.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var pw=p.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=YC(),l=lw(),u=ab(!0)!=null,{context:d,hasClosePart:f}=fw(),p=c.useState(`open`),h=c.useState(`openMethod`),g=c.useState(`instantType`),_=c.useState(`transitionStatus`),v=c.useState(`popupProps`),y=c.useState(`titleElementId`),b=c.useState(`descriptionElementId`),x=c.useState(`modal`),S=c.useState(`mounted`),C=c.useState(`openChangeReason`),w=c.useState(`activeTriggerElement`),T=c.useState(`floatingRootContext`),E=T.useState(`floatingId`),D=c.useState(`disabled`),O=c.useState(`openOnHover`),k=c.useState(`closeDelay`);to({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),Ru(T,{enabled:O&&!D,closeDelay:k});let A=a===void 0?Vl(c.context.popupRef):a,j=x!==!1&&f;c.useSyncedValue(`focusManagerModal`,j);let M=c.useStateSetter(`popupElement`),N=Mi(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:g,transitionStatus:_},ref:[t,c.context.popupRef,M],props:[v,{id:E,role:`dialog`,...Bl,"aria-labelledby":y,"aria-describedby":b,onKeyDown(e){u&&cf.has(e.key)&&e.stopPropagation()}},Ap(_),s],stateAttributesMapping:ts});return(0,m.jsx)(Al,{context:T,openInteractionType:h,modal:j,disabled:!S||C===`trigger-hover`,initialFocus:A,returnFocus:o,restoreFocus:`popup`,getInsideElements:()=>[c.context.beforeTriggerFocusGuardRef.current],previousFocusableElement:br(w)?w:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,m.jsx)(dw.Provider,{value:d,children:N})})});function mw({...e}){return(0,m.jsx)(tw,{"data-slot":`popover`,...e})}function hw({...e}){return(0,m.jsx)(iw,{"data-slot":`popover-trigger`,...e})}function gw({className:e,align:t=`center`,alignOffset:n=0,side:r=`bottom`,sideOffset:i=4,...a}){return(0,m.jsx)(sw,{children:(0,m.jsx)(uw,{align:t,alignOffset:n,side:r,sideOffset:i,className:`isolate z-50`,children:(0,m.jsx)(pw,{"data-slot":`popover-content`,className:J(`z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...a})})})}function _w(e){return typeof e==`object`?e.key:e}function vw(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function yw(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return(o.length!==r.length||o.some((e,t)=>r[t]!==e))&&(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1),i}return o.updateDeps=e=>{r=e},o}function bw(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var xw=(e,t)=>Math.abs(e-t)<1.01,Sw=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function Cw({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var ww=e=>e===`smooth`||e===`smoothFinishing`;function Tw({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!ww(n.phase)&&!xw(t,n.lastTargetOffset)&&!xw(t,r())&&e!==`clampedEcho`}var Ew=40;function Dw(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<Ew;)n--;if(n<0)return!1;let r=e[n],i=n-1;for(;i>=0&&r.t-e[i].t<Ew;)i--;if(i<0)return!1;let a=e[i],o=(t.offset-r.offset)/(t.t-r.t),s=(r.offset-a.offset)/(r.t-a.t);return o*s>=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function Ow(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<Ew;)n--;if(n<0)return!1;let r=e[n];return Math.abs(t.offset-r.offset)/(t.t-r.t)>=.05}var kw,Aw=()=>{if(kw!==void 0)return kw;if(typeof navigator>`u`)return kw=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return kw=!0;let e=navigator.maxTouchPoints;return kw=navigator.platform===`MacIntel`&&e!==void 0&&e>0},jw,Mw=()=>jw===void 0?jw=Aw()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):jw,Nw=()=>!Aw()||Mw(),Pw={capture:!0,passive:!0},Fw=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,Pw),e.addEventListener(`touchend`,n,Pw),e.addEventListener(`touchcancel`,n,Pw),()=>{e.removeEventListener(`touchstart`,t,Pw),e.removeEventListener(`touchend`,n,Pw),e.removeEventListener(`touchcancel`,n,Pw),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(r.moved,r.awaitingFling):(this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=r}}get touch(){return this._touch}},Iw=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},Lw=e=>{let t=new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},Rw=e=>e,zw=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e<r;e++)i[e]=n+e;return i},Bw=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Iw(n)),!r.ResizeObserver)return()=>{};let a=Lw(r),o=new r.ResizeObserver(()=>{let t=()=>{i(Iw(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},Vw={passive:!0},Hw=typeof window>`u`||`onscrollend`in window,Uw=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Hw,o=0,s=a?null:Sw(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Vw),a&&r.addEventListener(`scrollend`,u,Vw),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},Ww=(e,t)=>Uw(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Gw=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Kw=(e,{adjustments:t=0,behavior:n},r)=>{var i;let{scrollElement:a,options:o}=r,s=e+t,c=o.horizontal&&o.isRtl&&a!==null&&`ownerDocument`in a;(i=a?.scrollTo)==null||i.call(a,{[o.horizontal?`left`:`top`]:c?-s:s,behavior:n})},qw=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,Jw=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function Yw(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var Xw=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new Fw({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&Ow(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand(),this._retryClampedAdjustment()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=null,n=!1,r=!1,i=new Set,a=()=>{if(e)return e;let r=this.targetWindow;if(!r||!r.ResizeObserver)return null;let i=t=Lw(r);return e=new r.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(o)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment(),this.measureElement(null))}};if(this.options.useAnimationFrameWithResizeObserver)i.schedule(t);else{n=!0;try{t()}finally{n=!1}}})},o=e=>{let t=e.target,n=this.indexFromElement(t);if(t.isConnected)this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this));else{this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}}};return{disconnect:()=>{var n;(n=a())==null||n.disconnect(),t?.cancel(),i.clear(),r=!1,e=null,t=null},observe:o=>{let s=a();s&&(n?(i.add(o),r||(r=!0,t?.schedule(()=>{r=!1,i.forEach(t=>{t.isConnected&&e?.observe(t,{box:`border-box`})}),i.clear()}))):s.observe(o,{box:`border-box`}))},unobserve:e=>{var t;i.delete(e),(t=a())==null||t.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Rw,rangeExtractor:zw,onChange:()=>{},measureElement:Gw,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>_w(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||Yw(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:s}=this.options,c=0;for(;c<a&&s(c)!==e;)c++;if(c<a){let e=n[c];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(o=n-this.scrollOffset,this.scrollOffset=n)}}}i?this.pendingScrollAnchor={kind:`follow`,behavior:i}:o!==null&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:`anchor`,delta:o}:(this._holdOffset+=o,this._followOffsetTarget(o)))},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=yw(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:Tw({kind:a,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:o<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t;let c=this.scrollState;if(c?.phase===`queued`&&a===`external`&&t){if(r||this._reportedOverscroll)c.samples=[];else{let e=this.now();c.samples=[...(c.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||Dw(c.samples))&&(this.scrollState=null)}}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?Jw(this.scrollState)&&!xw(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>Cw({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled||!this._canWriteScroll())return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=qw(t,e.index!=null&&xw(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(Aw()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=yw(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=yw(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=vw(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=yw(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes,this._getLayoutTotalSize()+this.options.scrollMargin],(e,t,n,r,i)=>{if(e.length===0||t===0)return this.range=null,null;let a=Math.max(i-t,0);return this.range=$w(e,t,Math.min(n,a),r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=yw(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!Jw(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!Jw(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i<u,f=!Jw(this.scrollState)&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?d:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:a,start:i,size:r,end:i+r,lane:0},c,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(a,t),this.itemSizeCacheVersion++;let p=!1;if(this._awaitingCommandReadBack()||(o?p=this.applyScrollAdjustment(this._getLayoutTotalSize()-l):f&&(p=this.applyScrollAdjustment(c))),this._resizeBatch){this._resizeBatch.notify=!0,(n=this._resizeBatch).sync||(n.sync=p);return}this.notify(p),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=yw(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;i<a;i++){let a=t[e[i]];r.push(n===0?a:{...a,start:a.start-n,end:a.end-n})}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return bw(t[Zw(0,t.length-1,r?e=>n[e*2]:e=>bw(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a),c=()=>this.options.horizontal?r.clientHeight:r.clientWidth,l=c();if(i.setProperty(a,`hidden`,`important`),c()!==l){i.setProperty(a,o,s);return}let u={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=u,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===u&&(this._momentumStop=null,u.restore()&&u.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()+this.options.scrollMargin-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.getMeasurements()[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(Aw()&&this._iosGesture.dragging())&&e!==null&&!xw(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){this.targetWindow?this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}):this.scrollState=null}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&xw(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=Jw(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){this.pendingScrollAnchor=null,this._clampedAdjustment=null;let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&Nw()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:qw(n,e.index!=null&&xw(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},Zw=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Qw(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function $w(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Qw(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=Zw(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var eT=typeof document<`u`?p.useLayoutEffect:p.useEffect;function tT({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=p.useReducer(e=>e+1,0)[1],a=p.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=p.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=(e,t,n)=>{let r=a.current,i=!!e.options.horizontal,o=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==o&&(r.lastPositions.set(n,o),r.mode===`transform`?n.style.transform=i?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:n.style[i?`left`:`top`]=`${o}px`)},l=e=>{let t=a.current;if(t.enabled&&t.container){s(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&c(e,t,n)}}},u={...r,onChange:(t,n)=>{var s;let c=a.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,Za.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[d]=p.useState(()=>{let e=new Xw(u),t=e.measureElement;return e.measureElement=n=>{o.current=!0;try{t(n)}finally{o.current=!1}let r=a.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&c(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=a.current;n.container=t,n.lastSize=null,t!==null&&l(e)}})});return d.setOptions(u),eT(()=>d._didMount(),[]),eT(()=>(s(d),d._willUpdate())),eT(()=>{l(d)}),d}function nT(e){return tT({observeElementRect:Bw,observeElementOffset:Ww,scrollToFn:Kw,...e})}var rT=48,iT=60,aT=24;function oT({glyph:e,label:t,placeholder:n,value:r,onChange:i,options:a,loading:o,failed:s,search:c,onSearchChange:l,hasMore:u,loadingMore:d,onLoadMore:f,allowCustom:h=!0,title:g}){let[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(``),x=l!==void 0,S=x?c??``:y,C=x?l:b,w=(0,p.useMemo)(()=>{let e=S.trim().toLowerCase(),t=e&&!x?a.filter(t=>t.value.toLowerCase().includes(e)):a;return[...r.filter(e=>!t.some(t=>t.value===e)).filter(t=>!e||t.toLowerCase().includes(e)).map(e=>({value:e,count:0})),...t]},[a,S,x,r]),T=(0,p.useRef)(null),E=()=>{let e=T.current;e&&u&&!d&&f&&e.scrollTop+e.clientHeight>=e.scrollHeight-rT&&f()},D=e=>{i(r.includes(e)?r.filter(t=>t!==e):[...r,e])},O=w.length>iT,k=nT({count:w.length,getScrollElement:()=>T.current,estimateSize:()=>aT,overscan:8,enabled:O}),A=e=>{let t=r.includes(e.value);return(0,m.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,onClick:()=>D(e.value),className:J(`mono flex w-full items-center gap-2 px-2 py-1 text-left text-xs hover:bg-hover`,t?`text-fg`:`text-fg-2`),children:[(0,m.jsx)(`span`,{className:`w-3 shrink-0`,children:t&&(0,m.jsx)(TC,{width:12,height:12})}),(0,m.jsx)(`span`,{className:`truncate`,children:e.value}),(0,m.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] text-faint`,children:e.count})]},e.value)},j=S.trim(),M=h&&j!==``&&!w.some(e=>e.value===j)&&!r.includes(j);return(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-line px-2 py-1 transition-colors focus-within:border-line-strong`,children:[e!==void 0&&(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:e}),(0,m.jsxs)(mw,{open:_,onOpenChange:v,children:[(0,m.jsx)(hw,{render:(0,m.jsx)(`button`,{type:`button`,"aria-label":t,title:g??t,className:`mono flex min-w-0 flex-1 flex-wrap items-center gap-1 py-0.5 text-left text-xs text-fg focus:outline-none`}),children:r.length===0?(0,m.jsx)(`span`,{className:`text-faint`,children:n}):r.map(e=>(0,m.jsx)(nC,{variant:`neutral`,className:`mono max-w-[10rem] truncate`,children:e},e))}),(0,m.jsxs)(gw,{align:`start`,className:`w-72 gap-0 overflow-hidden p-0`,children:[(0,m.jsx)(`div`,{className:`border-b border-line px-2`,children:(0,m.jsx)(IC,{autoFocus:!0,value:S,onChange:e=>C(e.target.value),placeholder:h?`search, or type a value…`:`search…`,onKeyDown:e=>{e.key===`Enter`&&M&&(e.preventDefault(),D(j),C(``))}})}),(0,m.jsxs)(`div`,{ref:T,onScroll:E,className:`max-h-64 overflow-auto py-1`,role:`listbox`,tabIndex:-1,"aria-multiselectable":!0,"aria-label":t,children:[M&&(0,m.jsxs)(`button`,{type:`button`,"aria-label":`use ${j} as typed`,onClick:()=>{D(j),C(``)},className:`mono flex w-full items-center gap-2 px-2 py-1 text-left text-xs text-fg-2 hover:bg-hover`,children:[(0,m.jsx)(`span`,{className:`w-3 shrink-0 text-faint`,children:`+`}),(0,m.jsx)(`span`,{className:`truncate`,children:j}),(0,m.jsx)(`span`,{className:`ml-auto text-[10px] text-faint`,children:`use as typed`})]}),d&&w.length>0&&(0,m.jsx)(`p`,{className:`px-2 py-1 text-[10px] text-faint`,children:`loading more…`}),w.length===0&&!M&&(0,m.jsx)(`p`,{className:J(`px-2 py-2 text-[11px]`,s?`text-bad`:`text-faint`),children:s?`couldn't load values — type one instead`:o?`loading…`:`no values here`}),O?(0,m.jsx)(`div`,{className:`relative w-full`,style:{height:`${k.getTotalSize()}px`},children:k.getVirtualItems().map(e=>(0,m.jsx)(`div`,{ref:k.measureElement,"data-index":e.index,className:`absolute top-0 left-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:A(w[e.index])},w[e.index]?.value??e.key))}):w.map(A)]})]})]}),r.length>0&&(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:()=>i([]),title:`clear ${t}`,"aria-label":`clear ${t}`,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})})]})}var sT=50,cT=200;function lT(e,t){let[n,r]=(0,p.useState)(e);return(0,p.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function uT(e){return e.filter(e=>e.value!==null).map(e=>({value:e.value,count:e.count}))}function dT({field:e,scope:t,value:n,onChange:r,glyph:i,label:a,placeholder:o,title:s,single:c}){let[l,u]=(0,p.useState)(``),d=lT(l,cT),f=et({queryKey:[`run-values`,e,t,d],queryFn:({pageParam:n})=>XS.values(e,t,{limit:sT,offset:n,search:d}),initialPageParam:0,getNextPageParam:(e,t)=>e.length<sT?void 0:t.reduce((e,t)=>e+t.length,0),staleTime:1e4,refetchInterval:1e4}),h=(0,p.useMemo)(()=>uT(f.data?.pages.flat()??[]),[f.data]);return(0,m.jsx)(oT,{label:a,placeholder:o,...s!==void 0&&{title:s},...i!==void 0&&{glyph:i},value:n,onChange:e=>r(c?e.slice(-1):e),options:h,search:l,onSearchChange:u,loading:f.isLoading,failed:f.isError,hasMore:f.hasNextPage,loadingMore:f.isFetchingNextPage,onLoadMore:()=>void f.fetchNextPage()})}var fT=[{op:`eq`,label:`is`},{op:`in`,label:`is any of`},{op:`ne`,label:`is not`},{op:`gte`,label:`≥`},{op:`gt`,label:`>`},{op:`lte`,label:`≤`},{op:`lt`,label:`<`}];function pT(e){let[t,n,...r]=e.split(`:`);return!t||!n||r.length===0?null:{key:t,op:n,operand:r.join(`:`)}}function mT(e){let t=pT(e);if(!t)return e;let n=fT.find(e=>e.op===t.op)?.label??t.op;return`${t.key} ${n} ${t.operand.split(`|`).join(`, `)}`}function hT({value:e,onChange:t,scope:n}){let[r,i]=(0,p.useState)(!1),[a,o]=(0,p.useState)(``),[s,c]=(0,p.useState)(`eq`),[l,u]=(0,p.useState)([]),[d,f]=(0,p.useState)(``),h=s===`eq`||s===`in`,g=h?l.join(`|`):d.trim(),_=a!==``&&g!==``,v=()=>{o(``),c(`eq`),u([]),f(``)},y=()=>{if(!_)return;let n=s===`in`&&l.length===1?`eq`:s;t([...e,`${a}:${n}:${g}`]),v(),i(!1)};return(0,m.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 rounded-md border border-line px-2 py-1 transition-colors focus-within:border-line-strong`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:`⛃`}),(0,m.jsxs)(mw,{open:r,onOpenChange:e=>{i(e),e||v()},children:[(0,m.jsx)(hw,{render:(0,m.jsx)(`button`,{type:`button`,"aria-label":`filter by search attribute`,title:`Typed search attributes (WorkflowRun.searchAttributes)`,className:`mono flex min-w-0 flex-1 flex-wrap items-center gap-1 py-0.5 text-left text-xs text-fg focus:outline-none`}),children:e.length===0?(0,m.jsx)(`span`,{className:`text-faint`,children:`filter by attribute…`}):e.map(e=>(0,m.jsx)(nC,{variant:`violet`,className:`mono max-w-[12rem] truncate`,children:mT(e)},e))}),(0,m.jsx)(gw,{align:`start`,className:`w-80 gap-0 p-2`,children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.length>0&&(0,m.jsx)(`div`,{className:`flex flex-wrap gap-1 border-b border-line pb-1.5`,children:e.map(n=>(0,m.jsxs)(nC,{variant:`violet`,className:`mono gap-1 py-0.5`,children:[mT(n),(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,className:`h-3 w-3 text-violet/70 hover:text-violet`,title:`remove ${mT(n)}`,"aria-label":`remove ${mT(n)}`,onClick:()=>t(e.filter(e=>e!==n)),children:(0,m.jsx)(EC,{width:10,height:10})})]},n))}),(0,m.jsx)(dT,{field:`attr`,scope:n,glyph:`⛃`,label:`attribute key`,placeholder:`key…`,single:!0,value:a?[a]:[],onChange:e=>{o(e.at(-1)??``),u([])}}),(0,m.jsx)(`select`,{"aria-label":`operator`,value:s,onChange:e=>c(e.target.value),className:`mono rounded-md border border-line bg-transparent px-2 py-1.5 text-xs text-fg focus:border-line-strong focus:outline-none`,children:fT.map(e=>(0,m.jsx)(`option`,{value:e.op,className:`bg-hover`,children:e.label},e.op))}),h?(0,m.jsx)(dT,{field:`attr.${a}`,scope:n,glyph:`=`,label:`attribute value`,placeholder:a?`value…`:`pick a key first`,...s!==`in`&&{single:!0},value:l,onChange:u}):(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-line px-2 focus-within:border-line-strong`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:`=`}),(0,m.jsx)(IC,{value:d,onChange:e=>f(e.target.value),placeholder:`value…`,"aria-label":`attribute value`,onKeyDown:e=>{e.key===`Enter`&&y()}})]}),(0,m.jsx)(Wi,{variant:`brand`,size:`chip`,className:`mono self-end rounded`,disabled:!_,onClick:y,children:`add filter`})]})})]}),e.length>0&&(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:()=>t([]),title:`clear attribute filters`,"aria-label":`clear attribute filters`,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})})]})}function gT({runs:e,value:t,onChange:n}){if(!sS(e)&&t.kind===`all`)return null;let r=oS(e);return(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 border-b border-line px-2 py-1.5`,children:[(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-[0.18em] text-faint`,children:`origin`}),r.map(e=>{let r=tS(t,e.filter);return(0,m.jsxs)(Wi,{variant:`ghost`,size:`chip`,"aria-pressed":r,title:e.title,onClick:()=>n(e.filter),className:J(`mono max-w-full gap-1 rounded-md`,e.filter.kind===`unknown`&&`italic text-dim`,r&&`border-line-strong bg-hover text-fg hover:text-fg`),children:[(0,m.jsx)(`span`,{className:`truncate`,children:e.label}),(0,m.jsx)(`span`,{className:`tnum shrink-0 text-faint`,children:e.count})]},nS(e.filter))})]})}function _T(e){if(e.name.startsWith(`spawn:`))return e.name.slice(6);if(e.name.startsWith(`signal:child:`))return e.name.slice(13)}function vT(e,t=50){let n=new Set;for(let r of e){if(n.size>=t)break;let e=_T(r);e!==void 0&&n.add(e)}return[...n]}function yT(e,t){let n=`${t}.`;return`child ${e.startsWith(n)?e.slice(n.length):e}`}function bT(e,t,n=12){let r=e.slice(0,n);return{shown:r,more:Math.max(0,(t??e.length)-r.length)}}function xT(e){return{...e.triggeredBy?{startedBy:{...e.triggeredBy}}:{},triggered:[...e.triggered??[]]}}var ST=new Set([`completed`,`failed`,`cancelled`,`dead`]);function CT(e){return ST.has(e.run.status)?[...e.lifecycleSubscribers??[]]:[]}function wT(e){let t=`${e.started} subscriber run${e.started===1?``:`s`} started`;return e.failed.length===0?`${t}.`:`${t}, ${e.failed.length} failed: ${e.failed.map(e=>`${e.subscriber} (${e.error})`).join(`; `)}.`}function TT(e){let t={};for(let n of e)n.data&&(t[n.data.run.id]=n.data);return t}var ET=`fan:`;function DT(e){if(!e.name.startsWith(ET))return;let t=e.output?.values;return Array.isArray(t)?t.length:void 0}function OT(e){let t=DT(e);return t===void 0?e.name:`${t} child run${t===1?``:`s`}`}function kT(e){if(e.length===0)return``;let t=e[0]??``;for(let n of e.slice(1)){let e=0;for(;e<t.length&&e<n.length&&t[e]===n[e];)e+=1;t=t.slice(0,e)}return t.replace(/[\s._:-]+$/,``)}function AT(e){if(e.some(e=>DT(e)!==void 0))return`child runs ×${e.reduce((e,t)=>e+(DT(t)??1),0)}`;let t=kT(e.map(e=>e.name));return`${t.length>=2?t:`parallel`} ×${e.length}`}function jT(e){return e.kind===`single`?e.step.seq:e.kind===`fan`?e.steps[0]?.seq??1/0:e.fan.firstSeq}function MT(e,t=[]){let n=NT(e);if(t.length===0)return n;let r=[...t].sort((e,t)=>e.firstSeq-t.firstSeq),i=[],a=0;for(let e of n){let t=jT(e);for(;a<r.length&&r[a].firstSeq<t;)i.push({kind:`summary`,fan:r[a]}),a+=1;i.push(e)}for(;a<r.length;a+=1)i.push({kind:`summary`,fan:r[a]});return i}function NT(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===void 0){n+=1;continue}let i=r.parallelGroup;if(i===void 0||i===``){t.push({kind:`single`,step:r}),n+=1;continue}let a=[],o=n;for(;o<e.length&&e[o]?.parallelGroup===i;){let t=e[o];t!==void 0&&a.push(t),o+=1}a.length<=1?t.push({kind:`single`,step:a[0]??r}):t.push({kind:`fan`,group:i,steps:a,label:AT(a)}),n=o}return t}function PT(e,t=!1){let n=e.counts.running??0,r=e.counts.pending??0,i=e.notStarted??0;return{completed:e.counts.completed??0,failed:e.counts.failed??0,running:t?0:n,pending:t?0:r,interrupted:t?n+r:0,notStarted:t?0:i,skipped:t?i:0,started:e.size,total:e.total??e.size}}function FT(e,t=!1){let n=PT(e,t);return n.running>0?`running`:n.pending>0||n.notStarted>0?`pending`:n.failed>0||n.interrupted>0?`failed`:`completed`}function IT(e){return e.started<e.total?`${e.started} of ${e.total}`:`×${e.total}`}var LT=new Set([`completed`,`failed`,`cancelled`,`dead`]);function RT(e){return LT.has(e)}var zT=2e3,BT=3e4;function VT(e){let t=e.state.data?.run?.status;return t!==void 0&&RT(t)?BT:zT}function HT(e,t,n=100){if(e===void 0||t===void 0)return[0];let r=[];for(let i=Math.floor(e/n);i<=Math.floor(t/n);i+=1)r.push(i);return r}var UT=[{key:`completed`,className:`bg-good/60`,text:`text-good`,label:`done`},{key:`failed`,className:`bg-bad/70`,text:`text-bad`,label:`failed`},{key:`running`,className:`bg-live/70`,text:`text-live`,label:`running`},{key:`pending`,className:`bg-dim/60`,text:`text-fg-2`,label:`pending`},{key:`interrupted`,className:`bg-warn/60`,text:`text-warn`,label:`interrupted`},{key:`notStarted`,className:`bg-line-strong/70`,text:`text-fg-2`,label:`not started`},{key:`skipped`,className:`bg-line-strong/40`,text:`text-dim`,label:`never ran`}],WT=9e4;function GT(e,t,n){let r=(t?.liveWorkers??[]).filter(e=>n-e.lastBeatAt<=WT).sort((e,t)=>t.lastBeatAt-e.lastBeatAt)[0];if(r)return{kind:`working`,instanceId:r.instanceId,beatAgoS:Math.max(0,Math.round((n-r.lastBeatAt)/1e3)),inFlight:r.status?.inFlight};let i=e.enqueuedAt?new Date(e.enqueuedAt).getTime():new Date(e.startedAt).getTime();return{kind:`lost`,minutes:Math.round((n-i)/6e4)}}var KT=[];function qT(e){return Xe({queries:(0,p.useMemo)(()=>vT(e),[e]).map(e=>({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT})),combine:TT})}function JT(e,t,n){if(t){let e=new Date(t.run.createdAt).getTime(),r=TS(t.run.status)?n:new Date(t.run.updatedAt).getTime();return[e,Math.max(r,e)]}let{subs:r}=Xx(e.events??[]),i=1/0,a=-1/0;for(let e of r){e.startedAt!==void 0&&(i=Math.min(i,e.startedAt));let t=e.terminal?.at??e.startedAt;t!==void 0&&(a=Math.max(a,t))}return i!==1/0&&a!==-1/0?[i,a]:[new Date(e.startedAt).getTime(),new Date(e.finishedAt).getTime()]}function YT(e,t,n){let r=TS(e.status),i=Date.now(),a=new Date(e.createdAt).getTime(),o=-1/0;for(let[e,n]of t)a=Math.min(a,e),o=Math.max(o,n);for(let e of n)e.startedAt&&(a=Math.min(a,new Date(e.startedAt).getTime())),e.finishedAt&&(o=Math.max(o,new Date(e.finishedAt).getTime()));return o=Math.max(o,r?i:a+1),{t0:a,span:Math.max(o-a,1),liveNow:i}}function XT(e,t,n,r=JT(e,t,n.liveNow)){let{t0:i,span:a}=n,[o,s]=r,{subs:c}=Xx(e.events??[]),l=c.map(e=>{let t=e.startedAt??o,n=e.terminal?.at??t;return{key:e.id,name:e.name,status:e.status??`ok`,left:(t-i)/a*100,width:Math.max((n-t)/a*100,.8),ms:e.durationMs??Math.max(n-t,0)}});return{step:e,childId:_T(e),childRun:t,left:(o-i)/a*100,width:Math.max((s-o)/a*100,.8),ms:s-o,subRows:l}}function ZT(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(2)}s`:`${(e/6e4).toFixed(2)}m`}var QT={ok:`bg-good/40 ring-1 ring-good/50`,failed:`bg-bad/40 ring-1 ring-bad/50`,skipped:`bg-warn/35 ring-1 ring-warn/45`},$T={ok:`bg-good`,failed:`bg-bad`,skipped:`bg-warn`};function eE({row:e,run:t,childRuns:n,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,onToggleChild:s,expanded:c,collapsedSubs:l,toggleSubs:u}){let{step:d,left:f,width:p,ms:h,subRows:g}=e,_=d.status===`failed`,v=_T(d),y=!!v,b=y?MC:PC(d.kind),x=i===`${d.runId}#${d.seq}`,S=y&&v!==void 0&&c.has(v),C=g.length>0&&!y,w=l.has(d.seq),T=wS(d,Date.now()),{data:E}=Qe({queryKey:[`workers`],queryFn:()=>XS.workers(),refetchInterval:1e4,enabled:T}),D=T?GT(d,E?.find(e=>e.group===d.workerGroup),Date.now()):void 0;return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`button`,{type:`button`,onClick:()=>a(d,t),title:y?`Child workflow — click for its detail (↗ opens its run)`:void 0,className:`group grid w-full grid-cols-[150px_1fr] items-center gap-3 rounded-md px-2 py-1 text-left transition-colors ${x?`bg-hover/60`:`hover:bg-hover/60`}`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[y&&v!==void 0&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(v)},className:`shrink-0 text-violet hover:text-violet transition-colors`,title:S?`Collapse child run`:`Expand child run inline`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:S?`rotate(90deg)`:`rotate(0deg)`},children:`▸`})}),C&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),u(d.seq)},className:`shrink-0 text-dim transition-colors hover:text-fg-2`,title:w?`Show ${g.length} sub-process(es)`:`Hide sub-processes`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:w?`rotate(0deg)`:`rotate(90deg)`},children:`▸`})}),(0,m.jsx)(`span`,{className:_?`text-bad`:y?`text-violet`:`text-good`,children:(0,m.jsx)(b,{width:12,height:12})}),(0,m.jsx)(`span`,{className:`truncate text-[12px] text-fg-2`,children:v===void 0?OT(d):n[v]?.run.workflow??yT(v,t.id)}),y&&v!==void 0&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(v)},title:`Open the child run`,className:`shrink-0 text-violet transition-colors hover:text-violet`,children:`↗`})]}),(0,m.jsxs)(`span`,{className:`relative h-5`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),(0,m.jsx)(`span`,{className:`absolute top-1/2 flex h-3.5 -translate-y-1/2 items-center rounded-[3px] transition-all duration-500 ease-out ${_?`bg-bad/35 ring-1 ring-bad/50`:x?`bg-good/45 ring-1 ring-good/60`:`bg-good/30 ring-1 ring-good/40`}`,style:{left:`${f}%`,width:`${p}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[10px] text-dim`,style:{left:`min(${f+p}%, calc(100% - 44px))`},children:ZT(h)})]})]}),D?.kind===`working`&&(0,m.jsxs)(`div`,{className:`mono ml-[18px] mb-1 flex items-center gap-1 text-[10px] text-good/80`,title:`A live worker holds this dispatch — its heartbeat is fresh. Long steps are expected to sit here; only re-dispatch if the heartbeat goes stale.`,children:[(0,m.jsx)(`span`,{"aria-hidden":!0,children:`⚙`}),`being worked by `,D.instanceId,` — heartbeat `,D.beatAgoS,`s ago`,D.inFlight===void 0?``:` · ${D.inFlight} in flight`]}),D?.kind===`lost`&&(0,m.jsxs)(`div`,{className:`mono ml-[18px] mb-1 flex items-center gap-1 text-[10px] s-stale`,title:"No live worker heartbeat on this step's group — reconcile-wake can't recover a stuck `pending` step; re-dispatch it from the run actions above",children:[(0,m.jsx)(`span`,{"aria-hidden":!0,children:`⚠`}),`awaiting worker result — dispatched `,D.minutes,`m ago, no live worker (possibly lost)`]}),g.length>0&&!w&&(0,m.jsx)(`div`,{className:`ml-[18px] mt-0.5 mb-1 space-y-0.5 border-l border-line-soft pl-2`,children:g.map(e=>(0,m.jsxs)(`div`,{className:`grid grid-cols-[130px_1fr] items-center gap-3 px-2`,title:`${e.name} — ${e.status}`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[(0,m.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${$T[e.status]}`}),(0,m.jsx)(`span`,{className:`truncate text-[10px] text-fg-2`,children:e.name})]}),(0,m.jsxs)(`span`,{className:`relative h-3`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),(0,m.jsx)(`span`,{className:`absolute top-1/2 h-2 -translate-y-1/2 rounded-[2px] transition-all duration-500 ease-out ${QT[e.status]}`,style:{left:`${e.left}%`,width:`${e.width}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[9px] text-faint`,style:{left:`min(${e.left+e.width}%, calc(100% - 38px))`},children:ZT(e.ms)})]})]},e.key))}),y&&v!==void 0&&S&&(0,m.jsx)(`div`,{className:`ml-[18px] mt-0.5 mb-1 border-l border-line-soft pl-2`,children:(0,m.jsx)(sE,{id:v,depth:r+1,selectedKey:i,onSelect:a,onOpenRun:o,expanded:c,onToggleChild:s})})]})}function tE({label:e,fanFailed:t,memberRows:n,rowProps:r}){return(0,m.jsxs)(`div`,{className:`rounded-md bg-hover/30 ring-1 ring-line-soft`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1`,children:[(0,m.jsx)(`span`,{className:`text-[11px] text-violet/80`,title:`parallel fan-out (ctx.gather / ctx.all)`,children:`⑃`}),(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.15em] text-dim`,children:`parallel`}),(0,m.jsx)(`span`,{className:`text-[11px] ${t?`text-bad`:`text-fg-2`}`,children:e})]}),(0,m.jsx)(`div`,{className:`ml-[10px] border-l border-line-soft pl-1`,children:n.map(e=>(0,m.jsx)(eE,{row:e,...r},e.step.seq))})]})}var nE=28;function rE({fan:e,frame:t,rowProps:n}){let[r,i]=(0,p.useState)(!1),[a,o]=(0,p.useState)(!1),s=RT(n.run.status),c=PT(e,s),l=FT(e,s),u=l===`running`||l===`pending`,d=TS(n.run.status),f=e.startedAt?new Date(e.startedAt).getTime():void 0,h=e.finishedAt?new Date(e.finishedAt).getTime():u&&d?t.liveNow:f,g=(0,p.useMemo)(()=>e.failures.map(e=>XT(e,void 0,t)),[e.failures,t]);return(0,m.jsxs)(`div`,{className:`rounded-md bg-hover/30 ring-1 ring-line-soft`,children:[(0,m.jsxs)(`div`,{className:`grid grid-cols-[150px_1fr] items-center gap-3 px-2 py-1`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[(0,m.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`shrink-0 text-dim transition-colors hover:text-fg-2`,title:r?`Hide the members`:`List the ${e.size} members started`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:r?`rotate(90deg)`:`rotate(0deg)`},children:`▸`})}),(0,m.jsx)(`span`,{className:`text-[11px] text-violet/80`,title:`parallel fan-out, summarized`,children:`⑃`}),(0,m.jsxs)(`span`,{className:`truncate text-[12px] ${l===`failed`?`text-bad`:`text-fg-2`}`,title:e.group,children:[e.label,` ×`,c.total]})]}),(0,m.jsxs)(`span`,{className:`relative h-5`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),f!==void 0&&h!==void 0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`absolute top-1/2 h-3.5 -translate-y-1/2 rounded-[3px] ${l===`failed`?`bg-bad/25 ring-1 ring-bad/40`:`bg-violet/20 ring-1 ring-violet/40`} ${u?`pulse`:``}`,style:{left:`${(f-t.t0)/t.span*100}%`,width:`${Math.max((h-f)/t.span*100,.8)}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[10px] text-dim`,style:{left:`min(${(h-t.t0)/t.span*100}%, calc(100% - 44px))`},children:ZT(h-f)})]})]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-3 px-2 pb-1.5 pl-[26px]`,children:[(0,m.jsx)(`span`,{className:`flex h-1.5 w-40 shrink-0 overflow-hidden rounded-full bg-hover`,children:UT.map(e=>c[e.key]>0?(0,m.jsx)(`span`,{className:e.className,style:{width:`${c[e.key]/Math.max(c.total,1)*100}%`}},e.key):null)}),(0,m.jsxs)(`span`,{className:`mono tnum flex flex-wrap gap-2 text-[10px]`,children:[c.started<c.total&&(0,m.jsxs)(`span`,{className:`text-fg-2`,children:[IT(c),` started`]}),UT.map(t=>c[t.key]>0?(0,m.jsxs)(`span`,{className:t.text,children:[c[t.key],` `,t.label,t.key===`skipped`&&e.failFast?` (failFast)`:``]},t.key):null)]})]}),g.length>0&&!r&&(0,m.jsxs)(`div`,{className:`ml-[10px] border-l border-bad/30 pl-1`,children:[(0,m.jsx)(`div`,{className:`mono px-2 text-[10px] text-bad/70`,children:c.failed>g.length?`first ${g.length} of ${c.failed} failed`:`${g.length} failed`}),g.map(e=>(0,m.jsx)(eE,{row:e,...n},e.step.seq))]}),r&&(0,m.jsxs)(`div`,{className:`ml-[10px] border-l border-line-soft pl-1`,children:[(0,m.jsx)(`div`,{className:`flex items-center gap-2 px-2 py-0.5`,children:(0,m.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`mono rounded border px-1.5 text-[10px] transition-colors ${a?`border-bad/40 bg-bad/15 text-bad`:`border-line text-dim hover:text-fg-2`}`,children:`failed only`})}),(0,m.jsx)(iE,{group:e.group,failedOnly:a,live:u&&d,frame:t,rowProps:n},a?`failed`:`all`)]})]})}function iE({group:e,failedOnly:t,live:n,frame:r,rowProps:i}){let a=i.run.id,o=(0,p.useRef)(null),[s,c]=(0,p.useState)(),l=nT({count:s??0,getScrollElement:()=>o.current,estimateSize:()=>nE,measureElement:e=>e.getBoundingClientRect().height,overscan:10}),u=l.getVirtualItems(),d=HT(u[0]?.index,u[u.length-1]?.index),f=Xe({queries:d.map(r=>({queryKey:[`fan`,a,e,t,r],queryFn:()=>XS.fanMembers(a,e,{page:r+1,size:100,failed:t}),refetchInterval:n?5e3:!1}))}),h=f.find(e=>e.data!==void 0)?.data?.meta.total;(0,p.useEffect)(()=>{h!==void 0&&c(h)},[h]);let g=e=>{let t=d.indexOf(Math.floor(e/100));return t<0?void 0:f[t]},_=e=>g(e)?.data?.data[e%100],v=f.find(e=>e.isError);return s===void 0&&v?(0,m.jsxs)(`div`,{className:`mono px-2 py-1 text-[10px] text-bad`,children:[`couldn't load members:`,` `,v.error instanceof Error?v.error.message:String(v.error)]}):s===void 0?(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:`loading members…`}):s===0?(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:t?`no failed members`:`no members`}):(0,m.jsx)(`div`,{ref:o,className:`max-h-[320px] overflow-auto`,children:(0,m.jsx)(`div`,{className:`relative w-full`,style:{height:l.getTotalSize()},children:u.map(e=>{let t=_(e.index);return(0,m.jsx)(`div`,{"data-index":e.index,ref:l.measureElement,className:`absolute inset-x-0 top-0`,style:{transform:`translateY(${e.start}px)`},children:t?(0,m.jsx)(eE,{row:XT(t,void 0,r),...i}):(0,m.jsx)(aE,{index:e.index,page:g(e.index)})},e.key)})})})}function aE({index:e,page:t}){return t?.isError?(0,m.jsxs)(`div`,{className:`mono flex items-center gap-2 px-2 text-[10px] leading-7 text-bad`,style:{height:nE},children:[(0,m.jsxs)(`span`,{className:`truncate`,children:[`#`,e+1,` couldn't load:`,` `,t.error instanceof Error?t.error.message:String(t.error)]}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>void t.refetch(),className:`rounded border border-bad/40 px-1.5 text-bad hover:bg-bad/15`,children:`retry`})]}):(0,m.jsxs)(`div`,{className:`mono px-2 text-[10px] leading-7 text-faint`,style:{height:nE},children:[`#`,e+1,` loading…`]})}function oE({run:e,timeline:t,fans:n=KT,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,expanded:s,onToggleChild:c}){let l=qT(t),{frame:u,rows:d}=(0,p.useMemo)(()=>{let r=Date.now(),i=t.map(e=>{let t=_T(e),n=t===void 0?void 0:l[t];return{step:e,childRun:n,window:JT(e,n,r)}}),a=YT(e,i.map(e=>e.window),n);return{frame:a,rows:i.map(e=>XT(e.step,e.childRun,a,e.window))}},[e,t,n,l]),f=(0,p.useMemo)(()=>MT(t,n),[t,n]),h=(0,p.useMemo)(()=>{let e=new Map;for(let t of d)e.set(t.step.seq,t);return e},[d]),[g,_]=(0,p.useState)(new Set),v={run:e,childRuns:l,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,onToggleChild:c,expanded:s,collapsedSubs:g,toggleSubs:e=>_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,m.jsx)(m.Fragment,{children:f.map(e=>{if(e.kind===`single`){let t=h.get(e.step.seq);return t?(0,m.jsx)(eE,{row:t,...v},t.step.seq):null}if(e.kind===`summary`)return(0,m.jsx)(rE,{fan:e.fan,frame:u,rowProps:v},`fan:${e.fan.group}`);let t=e.steps.map(e=>h.get(e.seq)).filter(e=>e!==void 0);return(0,m.jsx)(tE,{label:e.label,fanFailed:e.steps.some(e=>e.status===`failed`),memberRows:t,rowProps:v},`fan:${e.group}`)})})}function sE({id:e,depth:t,selectedKey:n,onSelect:r,onOpenRun:i,expanded:a,onToggleChild:o}){let{data:s}=Qe({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT});return t>6?null:s?(0,m.jsxs)(`div`,{className:`my-1 rounded-md border border-line bg-sunken/15`,children:[(0,m.jsxs)(`div`,{className:`mono flex items-center gap-2 px-2 py-1 text-[10px] text-dim`,children:[(0,m.jsxs)(`span`,{className:`text-violet`,children:[`⌁ `,s.run.workflow]}),(0,m.jsx)(`span`,{className:`tnum text-faint`,children:e.slice(0,8)}),(0,m.jsx)(`span`,{className:`s-${s.run.status} uppercase`,children:s.run.status}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`ml-auto rounded border border-line px-1.5 text-fg-2 hover:text-fg`,children:`open ↗`})]}),(0,m.jsx)(oE,{run:s.run,timeline:s.timeline,fans:s.fans,depth:t,selectedKey:n,onSelect:r,onOpenRun:i,expanded:a,onToggleChild:o})]}):(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:`loading child run…`})}function cE({run:e,timeline:t,fans:n,selectedKey:r,onSelect:i,onOpenRun:a,expanded:o,onToggleChild:s}){let c=(0,p.useMemo)(()=>YT(e,t.map(e=>[new Date(e.startedAt).getTime(),new Date(e.finishedAt).getTime()]),n??KT).span,[e,t,n]),l=o??new Set,u=s??(()=>{});return(0,m.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between px-4 pb-2 pt-3`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.2em] text-dim`,children:`spans`}),(0,m.jsxs)(`span`,{className:`mono tnum text-[10px] text-faint`,children:[`total `,ZT(c)]})]}),(0,m.jsx)(`div`,{className:`min-h-0 flex-1 space-y-1 overflow-auto px-3 pb-3`,children:(0,m.jsx)(oE,{run:e,timeline:t,fans:n,depth:0,selectedKey:r,onSelect:i,onOpenRun:a,expanded:l,onToggleChild:u})})]})}function lE(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(2)}s`:`${(e/6e4).toFixed(2)}m`}function uE(e,t){return lE(new Date(t).getTime()-new Date(e).getTime())}function dE(e){return fE(new Date(e).getTime())}function fE(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,fractionalSecondDigits:3})}var pE={ok:`border-good/25 bg-good/10 text-good`,failed:`border-bad/25 bg-bad/10 text-bad`,skipped:`border-warn/25 bg-warn/10 text-warn`},mE={debug:`text-dim`,info:`text-fg-2`,warn:`text-warn`,error:`text-bad`},hE=[`ok`,`failed`,`skipped`];function gE({e}){return(0,m.jsxs)(`div`,{className:`flex gap-2 py-0.5`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint tnum`,children:fE(e.at)}),(0,m.jsx)(`span`,{className:`shrink-0 uppercase ${mE[e.level]}`,children:e.level}),(0,m.jsx)(`span`,{className:`min-w-0 break-words text-fg-2`,children:e.message})]})}function _E({sub:e,showGroup:t=!0}){let n=e.terminal?.message!==void 0&&e.terminal.message!==e.name,r=e.phases.length>0||e.logs.length>0||n,[i,a]=(0,p.useState)(e.status===`failed`),o=e.status?pE[e.status]:`border-warn/25 bg-warn/10 text-warn`;return(0,m.jsxs)(`li`,{className:`rounded-md border ${o}`,children:[(0,m.jsxs)(`button`,{type:`button`,disabled:!r,onClick:()=>a(e=>!e),className:`flex w-full items-center justify-between gap-2 px-2.5 py-1.5 text-left text-[11.5px] disabled:cursor-default`,"aria-expanded":r?i:void 0,children:[(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[r&&(0,m.jsx)(`span`,{className:`text-[9px] text-dim transition-transform duration-150 ${i?``:`-rotate-90`}`,children:`▼`}),(0,m.jsx)(`span`,{className:`mono truncate text-fg`,children:e.name}),t&&e.group&&(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-wider text-dim`,children:e.group})]}),(0,m.jsxs)(`span`,{className:`mono flex shrink-0 items-center gap-2 text-[10px] uppercase tracking-wider`,children:[e.durationMs!==void 0&&(0,m.jsx)(`span`,{className:`tnum text-fg-2`,children:lE(e.durationMs)}),(0,m.jsx)(`span`,{children:e.status??`running`})]})]}),i&&(0,m.jsxs)(`div`,{className:`border-t border-line/60 px-2.5 py-2`,children:[e.phases.length>0&&(0,m.jsx)(`ul`,{className:`mono mb-2 flex flex-col gap-0.5 text-[10.5px]`,children:e.phases.map((t,n)=>(0,m.jsxs)(`li`,{className:`flex gap-2`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint tnum`,children:fE(t.at)}),(0,m.jsx)(`span`,{className:`text-fg-2`,children:t.phase}),e.startedAt!==void 0&&(0,m.jsxs)(`span`,{className:`text-faint tnum`,children:[`+`,lE(t.at-e.startedAt)]})]},`${t.at}-${t.phase}-${n}`))}),e.terminal?.message&&e.terminal.message!==e.name&&(0,m.jsx)(`div`,{className:`mono mb-2 rounded border p-2 text-[11px] ${e.status===`failed`?`border-bad/25 bg-bad/10 text-bad`:`border-line bg-sunken/20 text-fg-2`}`,children:e.terminal.message}),e.logs.length>0&&(0,m.jsx)(`div`,{className:`mono flex flex-col gap-0.5 text-[11px]`,children:e.logs.map((e,t)=>(0,m.jsx)(gE,{e},`${e.at}-${t}`))})]})]})}function vE({events:e}){let{subs:t,stepLogs:n}=Xx(e),r=hE.map(e=>[e,t.filter(t=>t.status===e).length]).filter(([,e])=>e>0),i=t.some(e=>e.group);return(0,m.jsxs)(m.Fragment,{children:[t.length>0&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsxs)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:[`sub-processes · `,t.length]}),(0,m.jsx)(`span`,{className:`mono flex gap-2 text-[10px] uppercase tracking-wider`,children:r.map(([e,t])=>(0,m.jsxs)(`span`,{className:pE[e].split(` `).pop(),children:[t,` `,e]},e))})]}),i?Object.entries(t.reduce((e,t)=>{let n=t.group??`—`;return e[n]===void 0&&(e[n]=[]),e[n].push(t),e},{})).sort(([e],[t])=>e===`—`?1:t===`—`?-1:e.localeCompare(t)).map(([e,t])=>(0,m.jsxs)(`div`,{className:`mb-2`,children:[(0,m.jsx)(`div`,{className:`mono mb-1 text-[10px] uppercase tracking-wider text-dim`,children:e}),(0,m.jsx)(`ul`,{className:`flex flex-col gap-1`,children:t.map(e=>(0,m.jsx)(_E,{sub:e,showGroup:!1},e.id))})]},e)):(0,m.jsx)(`ul`,{className:`flex flex-col gap-1`,children:t.map(e=>(0,m.jsx)(_E,{sub:e},e.id))})]}),n.length>0&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mono mb-1.5 text-[10px] uppercase tracking-[0.18em] text-dim`,children:[`logs · `,n.length]}),(0,m.jsx)(`div`,{className:`mono max-h-64 overflow-auto rounded-lg border border-line bg-sunken/40 p-2.5 text-[11px] leading-relaxed`,children:n.map((e,t)=>(0,m.jsx)(gE,{e},`${e.at}-${t}`))})]})]})}function yE({value:e}){let[t,n]=(0,p.useState)(!1);return(0,m.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded border border-line px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-dim transition-colors hover:text-fg`,onClick:async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1200)}catch{}},children:[t?(0,m.jsx)(TC,{width:11,height:11}):(0,m.jsx)(DC,{width:11,height:11}),t?`copied`:`copy`]})}function bE({label:e,value:t}){let n=typeof t==`string`?t:JSON.stringify(t,null,2);return(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:e}),(0,m.jsx)(yE,{value:n})]}),(0,m.jsx)(`pre`,{className:`mono max-h-64 overflow-auto rounded-lg border border-line bg-sunken/40 p-3 text-[11.5px] leading-relaxed text-fg-2`,children:n})]})}function xE({error:e}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mono mb-1.5 flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-bad/80`,children:[(0,m.jsx)(`span`,{children:`error`}),e.code&&(0,m.jsx)(`span`,{className:`rounded border border-bad/30 px-1.5 py-px normal-case tracking-normal text-bad`,children:e.code})]}),(0,m.jsx)(`div`,{className:`mono rounded-lg border border-bad/25 bg-bad/10 p-3 text-[11.5px] leading-relaxed text-bad`,children:e.message})]}),e.details!==void 0&&(0,m.jsx)(bE,{label:`error details`,value:e.details})]})}function SE({k:e,v:t,mono:n=!0}){return(0,m.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 py-1.5`,children:[(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-[0.16em] text-faint`,children:e}),(0,m.jsx)(`span`,{className:`truncate text-right text-[12px] text-fg ${n?`mono tnum`:``}`,children:t})]})}function CE({id:e,onOpenRun:t}){let{data:n}=Qe({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT}),[r,i]=(0,p.useState)(new Set);return n?n.timeline.length===0?(0,m.jsxs)(`div`,{className:`mono px-2 py-2 text-[10px] text-faint`,children:[`no steps recorded yet — child `,n.run.status]}):(0,m.jsx)(`div`,{className:`mt-2 max-h-80 space-y-1 overflow-auto rounded-md border border-line bg-sunken/20 p-1.5`,children:(0,m.jsx)(oE,{run:n.run,timeline:n.timeline,depth:0,onSelect:()=>{},onOpenRun:t??(()=>{}),expanded:r,onToggleChild:e=>i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})})}):(0,m.jsx)(`div`,{className:`mono px-2 py-2 text-[10px] text-faint`,children:`loading child run…`})}function wE({step:e,run:t,onClose:n,onOpenRun:r}){let i=_T(e),[a,o]=(0,p.useState)(!1),s=e.status===`failed`,c=e.status===`pending`||e.status===`running`,l=PC(e.kind),u=uE(t.createdAt,e.startedAt),d=e.enqueuedAt?new Date(e.startedAt).getTime()-new Date(e.enqueuedAt).getTime():0;return(0,m.jsxs)(`aside`,{className:`absolute inset-y-0 right-0 z-20 flex w-[380px] max-w-[90%] flex-col border-l border-line bg-panel/95 shadow-2xl backdrop-blur-md rise`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-line px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`grid h-6 w-6 shrink-0 place-items-center rounded-md ${s?`bg-bad/15 text-bad`:c?`bg-warn/15 text-warn`:`bg-good/15 text-good`}`,children:(0,m.jsx)(l,{width:13,height:13})}),(0,m.jsx)(`h3`,{className:`truncate text-[15px] font-semibold tracking-tight text-fg`,children:e.name})]}),(0,m.jsxs)(`div`,{className:`mono mt-1 text-[11px] uppercase tracking-wider s-${e.status}`,children:[e.status,` · `,FC[e.kind]??e.kind]})]}),(0,m.jsx)(`button`,{type:`button`,onClick:n,className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-line text-dim transition-colors hover:text-fg`,"aria-label":`Close`,children:(0,m.jsx)(EC,{})})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-auto px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`rounded-lg border border-line bg-sunken/20 px-3.5 py-1`,children:[(0,m.jsx)(SE,{k:`seq`,v:`#${e.seq}`}),d>=1&&(0,m.jsx)(SE,{k:`queued`,v:(0,m.jsx)(`span`,{className:`text-info`,children:lE(d)})}),(0,m.jsx)(SE,{k:`duration`,v:c?(0,m.jsx)(`span`,{className:`text-warn`,children:`running…`}):uE(e.startedAt,e.finishedAt)}),(0,m.jsx)(SE,{k:`attempts`,v:(0,m.jsxs)(`span`,{className:e.attempts>1?`text-warn`:``,children:[e.attempts>1&&(0,m.jsx)(kC,{width:11,height:11,className:`mr-1 inline`}),e.attempts]})}),e.workerGroup&&(0,m.jsx)(SE,{k:`worker`,v:`@${e.workerGroup}`}),(0,m.jsx)(SE,{k:`started`,v:dE(e.startedAt)}),!c&&(0,m.jsx)(SE,{k:`finished`,v:dE(e.finishedAt)}),(0,m.jsx)(SE,{k:`offset`,v:`+${u}`})]}),s&&e.error&&(0,m.jsx)(xE,{error:e.error}),e.events&&e.events.length>0&&(0,m.jsx)(vE,{events:e.events}),i&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:`child run`}),r&&(0,m.jsx)(`button`,{type:`button`,onClick:()=>r(i),className:`mono rounded border border-line px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-dim transition-colors hover:text-fg`,children:`open ↗`})]}),(0,m.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`flex w-full items-center gap-2 rounded-md border border-violet/30 bg-violet/10 px-2.5 py-1.5 text-left transition-colors hover:bg-violet/20`,title:a?`Collapse child run`:`Expand child run inline`,children:[(0,m.jsx)(`span`,{className:`inline-block text-[9px] text-violet transition-transform`,style:{transform:a?`rotate(90deg)`:`rotate(0deg)`},children:`▸`}),(0,m.jsx)(`span`,{className:`mono truncate text-[11px] text-violet`,children:i})]}),a&&(0,m.jsx)(CE,{id:i,onOpenRun:r})]}),e.input!==void 0&&(0,m.jsx)(bE,{label:`input`,value:e.input}),e.output!==void 0&&(0,m.jsx)(bE,{label:`output`,value:e.output})]})]})}var TE=`durable:lifecycle:pending`;function EE(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.round(t/60);if(n<60)return`${n}m`;let r=Math.round(n/60);return r<48?`${r}h`:`${Math.round(r/24)}d`}function DE(e,t){switch(e.state){case`started`:return`started`;case`owed`:{let n=e.owedSince===void 0?`owed`:`owed for ${EE(t-e.owedSince)}`;return e.orphanAt===void 0?n:`${n} · orphan in ${EE(e.orphanAt-t)}`}case`failed`:return e.error?`failed: ${e.error}`:`failed`;case`coalesced`:return`coalesced`;default:return`not started`}}var OE="No run and nothing owed: its `where` declined the event, or it subscribed after the run settled.",kE="Its last delivery failed: `where` threw, the input was rejected, the start failed, or the sweep dropped it as an orphan. The reason is in the run.trigger_failed event. Republish retries it.",AE=`No live instance registers or announces this subscriber; the lifecycle sweep drops it then and reports run.trigger_failed.`;function jE({status:e}){return e?(0,m.jsx)(nC,{variant:`bare`,className:`s-${e} text-[10px]`,children:e}):null}function ME({runId:e,onOpenRun:t}){return(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e),className:`mono max-w-[28rem] truncate px-1.5 py-0`,title:e,children:e})}function NE({source:e,onOpenRun:t}){return(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-1`,"data-testid":`lifecycle-source`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`started by`}),(0,m.jsx)(ME,{runId:e.runId,onOpenRun:t}),(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`on`}),(0,m.jsx)(nC,{variant:`neutral`,className:J(`text-[10px]`,e.kind===`failed`?`s-failed`:`s-completed`),children:e.kind}),(0,m.jsx)(jE,{status:e.status}),e.traceId&&(0,m.jsxs)(`span`,{className:`ml-1 flex items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`trace`}),(0,m.jsx)(`span`,{className:`mono text-[10px] text-fg-2`,title:`The source run's trace id`,children:e.traceId}),(0,m.jsx)(yE,{value:e.traceId})]})]})}function PE({waitsFor:e=[],awaitedBy:t=[],onOpenRun:n}){return e.length===0&&t.length===0?null:(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-1`,children:[e.map(e=>(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,"data-testid":`waits-for`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-warn/80`,children:`Waiting for run`}),(0,m.jsx)(ME,{runId:e.runId,onOpenRun:n}),(0,m.jsx)(jE,{status:e.status})]},`${e.runId}#${e.seq}`)),t.length>0&&(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,"data-testid":`awaited-by`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`Awaited by`}),t.map(e=>(0,m.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(ME,{runId:e.runId,onOpenRun:n}),(0,m.jsx)(jE,{status:e.status})]},`${e.runId}#${e.seq}`))]})]})}function FE({deliveries:e,errors:t,now:n=Date.now(),onOpenRun:r}){return e.length===0?null:(0,m.jsxs)(`section`,{"aria-label":`Lifecycle subscribers`,className:`mt-3`,children:[(0,m.jsx)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:`Lifecycle subscribers`}),(0,m.jsx)(`ul`,{className:`mt-1 flex flex-col gap-1`,children:e.map(e=>{let i=e.state===`failed`?t?.get(e.subscriber):void 0,a=i!==void 0&&e.error===void 0?{...e,error:i}:e;return(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5`,"data-state":a.state,children:[(0,m.jsx)(`span`,{className:`mono text-[12px] text-fg`,children:a.subscriber}),(0,m.jsx)(nC,{variant:a.state===`owed`?`warn`:a.state===`failed`?`destructive`:`neutral`,className:`text-[10px]`,title:a.state===`not-started`?OE:a.state===`failed`?kE:a.orphanAt===void 0?void 0:AE,children:DE(a,n)}),a.runId&&(0,m.jsx)(ME,{runId:a.runId,onOpenRun:r}),a.state===`started`&&(0,m.jsx)(jE,{status:a.status}),a.state===`failed`&&a.error===void 0&&(0,m.jsx)(`span`,{className:`text-[10px] text-dim`,children:`see the run.trigger_failed event for the reason`})]},a.subscriber)})})]})}function IE({tags:e,onChange:t}){let n=e.includes(TE);return(0,m.jsx)(Wi,{variant:`ghost`,size:`micro`,"aria-pressed":n,title:`Settled runs whose lifecycle event is still owed to a subscriber (tag durable:lifecycle:pending)`,onClick:()=>t(n?e.filter(e=>e!==TE):[...e,TE]),className:J(`mono rounded-md border-line`,n&&`border-warn/40 bg-warn/10 text-warn hover:text-warn`),children:`lifecycle pending`})}var LE=class{limit;events=[];pushed=0;listeners=new Set;constructor(e=200){this.limit=e}push(e){this.pushed+=1;let t=[...this.events,{id:this.pushed,event:e}];this.events=t.length>this.limit?t.slice(t.length-this.limit):t;for(let e of this.listeners)e()}snapshot=()=>this.events;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e))};function RE(e,t){if(!e)return t;let n=new Map(e.timeline.map(e=>[e.seq,e]));return{...t,timeline:t.timeline.map(e=>{if((e.status===`pending`||e.status===`running`)&&(e.events?.length??0)===0){let t=n.get(e.seq)?.events;if(t?.length)return{...e,events:t}}return e})}}function zE(e,t,n){if(!e)return e;let r=e.timeline.findIndex(e=>e.seq===t),i=e.timeline[r];if(i===void 0)return e;let a=[...e.timeline];return a[r]={...i,events:[...i.events??[],n]},{...e,timeline:a}}function BE(e,t,n=Date.now){let r=-1/0,i,a=()=>{i=void 0,r=n(),e()};return{call(){if(i!==void 0)return;let e=r+t-n();e<=0?a():i=setTimeout(a,e)},cancel(){i!==void 0&&clearTimeout(i),i=void 0}}}function VE(e){let t=e.lastIndexOf(`~retry~`);return t===-1?void 0:e.slice(0,t)}function HE(e){return(VE(e)??e).match(/^(.*)\.(?:child\.\d+|onError\.\d+)$/)?.[1]||void 0}function UE(e,t){if(t&&e.startsWith(`evt:`))for(let n of[`completed`,`failed`]){let r=`:${n}:${t}`;if(e.endsWith(r)&&e.length>4+r.length)return e.slice(4,-r.length)}}function WE(e){let t=[];if(e.type===`run.triggered`&&e.triggeredRunId&&t.push({rel:`triggered`,runId:e.triggeredRunId}),e.type===`run.started`){let n=UE(e.runId,e.workflow);n&&t.push({rel:`source`,runId:n});let r=HE(e.runId);r&&t.push({rel:`parent`,runId:r})}if(e.type.startsWith(`step.`)&&e.name){let n=_T({name:e.name});n&&t.push({rel:`child`,runId:n})}return t}function GE(e){let t=[];return e.name&&t.push(e.type===`run.triggered`||e.type===`run.trigger_failed`?`subscriber ${e.name}`:e.type===`run.routed`?`handler ${e.name}`:e.name),e.durationMs!==void 0&&t.push(`${e.durationMs}ms`),e.error?.message&&t.push(e.error.message),e.reason&&t.push(e.reason),t.join(` · `)}function KE(e){let t=new Map;for(let{event:n}of e)n.type===`run.trigger_failed`&&n.name&&t.set(n.name,n.error?.message??`unknown error`),n.type===`run.triggered`&&n.name&&t.delete(n.name);return t}function qE(e){return(0,p.useSyncExternalStore)(e.subscribe,e.snapshot,e.snapshot)}var JE={triggered:`started`,source:`started by`,child:`child`,parent:`child of`};function YE(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(11,23)}function XE({tail:e,onOpenRun:t}){let n=qE(e);return(0,m.jsxs)(`section`,{"aria-label":`Events`,className:`mt-3`,"data-testid":`run-events`,children:[(0,m.jsxs)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:[`Events`,n.length>0?` · ${n.length}`:``]}),n.length===0?(0,m.jsxs)(`p`,{className:`mt-1 text-[11px] text-dim`,children:[`Live only: the engine events of this run show here as they arrive while the page is open (the last `,e.limit,`). Nothing is stored, so earlier events are not shown.`]}):(0,m.jsx)(`ol`,{className:`mt-1 flex max-h-72 flex-col gap-0.5 overflow-auto`,children:[...n].reverse().map(({id:e,event:n})=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5 text-[11px]`,"data-type":n.type,children:[(0,m.jsx)(`span`,{className:`mono text-dim`,children:YE(n.at)}),(0,m.jsx)(nC,{variant:n.type===`run.trigger_failed`||n.type.endsWith(`.failed`)||n.type===`run.unrouted`?`destructive`:`neutral`,className:`mono`,children:n.type}),(0,m.jsx)(`span`,{className:`text-fg-2`,children:GE(n)}),WE(n).map(e=>(0,m.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:JE[e.rel]}),(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e.runId),className:`mono max-w-[24rem] truncate px-1.5 py-0`,title:e.runId,children:e.runId})]},`${e.rel}:${e.runId}`))]},e))})]})}function ZE({deliveries:e,tail:t,onOpenRun:n}){let r=qE(t);return(0,m.jsx)(FE,{deliveries:e,errors:KE(r),onOpenRun:n})}function QE({run:e,onClose:t}){let n=e.input===void 0&&e.output===void 0&&!e.error;return(0,m.jsxs)(`aside`,{className:`absolute inset-y-0 right-0 z-30 flex w-[380px] max-w-[90%] flex-col border-l border-line bg-panel/95 shadow-2xl backdrop-blur-md rise`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-line px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`h3`,{className:`truncate text-[15px] font-semibold tracking-tight text-fg`,children:e.workflow}),(0,m.jsxs)(`div`,{className:`mono mt-1 text-[11px] uppercase tracking-wider s-${e.status}`,children:[`run · `,e.status]})]}),(0,m.jsx)(`button`,{type:`button`,onClick:t,className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-line text-dim transition-colors hover:text-fg`,"aria-label":`Close`,children:(0,m.jsx)(EC,{})})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-auto px-5 py-4`,children:[e.error&&(0,m.jsx)(xE,{error:e.error}),e.input!==void 0&&(0,m.jsx)(bE,{label:`input`,value:e.input}),e.output!==void 0&&(0,m.jsx)(bE,{label:`output`,value:e.output}),n&&(0,m.jsx)(`div`,{className:`text-sm text-faint`,children:`No input/output recorded.`})]})]})}function $E(e){let t=e.trim();if(t!==``)return JSON.parse(t)}var eD=`Not available on a tenant deployment — delivering signals/updates/tasks needs the control plane.`;function tD({id:e,label:t,hint:n,draft:r,onDraft:i}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 mt-3 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:e,children:t}),(0,m.jsx)(`textarea`,{id:e,value:r,spellCheck:!1,placeholder:n,onChange:e=>i(e.target.value),className:`mono h-40 w-full resize-y rounded-lg border border-line bg-sunken/40 p-3 text-[11.5px] leading-relaxed text-fg-2 placeholder:text-faint focus:border-line-strong focus:outline-none`})]})}function nD({runId:e,targets:t,tenantPod:n,onDelivered:r}){let[i,a]=(0,p.useState)(void 0),[o,s]=(0,p.useState)(``),[c,l]=(0,p.useState)(``),[u,d]=(0,p.useState)(void 0),[f,h]=(0,p.useState)(void 0),g=e=>{s(e.verb===`signal`?e.token:``),l(``),d(void 0),h(void 0),a(e)},_=()=>a(void 0),v=()=>{_(),r()},y=e=>{h(KS(e)),d(e instanceof GS||e instanceof Error?e.message:`request failed`)},b=$e({mutationFn:t=>XS.signal(e,t.token,t.payload),onSuccess:v,onError:y}),x=$e({mutationFn:t=>XS.update(e,t.name,t.arg),onSuccess:v,onError:y}),S=$e({mutationFn:t=>XS.completeTask(e,t.name,t.result),onSuccess:v,onError:y}),C=$e({mutationFn:t=>XS.failTask(e,t.name,t.error),onSuccess:v,onError:y}),w=b.isPending||x.isPending||S.isPending||C.isPending;if(t.length===0)return null;let T=()=>{if(!i)return;if(i.verb===`task-fail`){C.mutate({name:i.name,error:c.trim()||`failed from console`});return}let e;try{e=$E(c)}catch(e){d(e instanceof Error?e.message:`Invalid JSON`);return}if(i.verb===`signal`){let t=o.trim();if(!t){d(`token is required`);return}b.mutate({token:t,payload:e})}else i.verb===`update`?x.mutate({name:i.name,arg:e}):S.mutate({name:i.name,result:e})},E=i?.verb===`signal`?`Deliver signal`:i?.verb===`update`?`Send update`:i?.verb===`task-complete`?`Complete task`:`Fail task`,D=i?.verb===`signal`?`resumes ${e} at its ctx.waitForSignal`:i?.verb===`update`?`delivers to ${e}'s ctx.onUpdate("${i.name}") — the workflow's validator arbitrates`:i?`settles ${e}'s external task "${i.name}"`:``;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-info/30 bg-info/10 px-7 py-3`,children:[(0,m.jsx)(`span`,{className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-info/40 bg-info/15 text-sm text-info`,"aria-hidden":!0,children:`✋`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`text-[13px] font-medium text-info`,children:`Waiting on a human`}),(0,m.jsxs)(`div`,{className:`mono truncate text-[11px] text-info/70`,children:[`this run is suspended until someone answers the wait`,t.length===1?``:`s`,` `,`below`]})]}),(0,m.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:t.map(e=>e.kind===`task`?(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`task `,e.name]}),(0,m.jsxs)(Wi,{variant:`brand`,size:`micro`,disabled:n||w,title:n?eD:`Complete task "${e.name}" with a result`,onClick:()=>g({verb:`task-complete`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(TC,{width:10,height:10}),`Complete task`]}),(0,m.jsxs)(Wi,{variant:`destructive`,size:`micro`,disabled:n||w,title:n?eD:`Fail task "${e.name}" with a reason`,onClick:()=>g({verb:`task-fail`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(EC,{width:10,height:10}),`Fail task`]})]},e.token):e.kind===`update`?(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`update `,e.name]}),(0,m.jsxs)(Wi,{variant:`info`,size:`micro`,disabled:n||w,title:n?eD:`Send a validated update to "${e.name}"`,onClick:()=>g({verb:`update`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(kC,{width:10,height:10}),`Send update`]})]},e.token):(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`signal `,e.token]}),(0,m.jsxs)(Wi,{variant:`info`,size:`micro`,disabled:n||w,title:n?eD:`Deliver a payload on "${e.token}"`,onClick:()=>g({verb:`signal`,token:e.token}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(kC,{width:10,height:10}),`Deliver signal`]})]},e.token))})]}),(0,m.jsxs)(zC,{open:i!==void 0,onOpenChange:e=>{e||_()},title:E,description:D,footer:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:_,children:`Cancel`}),(0,m.jsx)(Wi,{size:`sm`,variant:i?.verb===`task-fail`?`destructive`:`info`,disabled:w,onClick:T,children:E})]}),children:[i?.verb===`signal`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:`deliver-signal-token`,children:`token`}),(0,m.jsx)(LC,{id:`deliver-signal-token`,value:o,onChange:e=>{s(e.target.value),d(void 0)},onClear:()=>s(``),clearLabel:`clear token`,placeholder:`signal token…`,"aria-label":`signal token`}),(0,m.jsx)(tD,{id:`deliver-signal-payload`,label:`payload (json, optional)`,hint:`empty delivers no payload`,draft:c,onDraft:e=>{l(e),d(void 0)}})]}),i?.verb===`update`&&(0,m.jsx)(tD,{id:`send-update-arg`,label:`argument (json, optional)`,hint:`empty sends no argument`,draft:c,onDraft:e=>{l(e),d(void 0)}}),i?.verb===`task-complete`&&(0,m.jsx)(tD,{id:`complete-task-result`,label:`result (json, optional)`,hint:`empty completes with no result`,draft:c,onDraft:e=>{l(e),d(void 0)}}),i?.verb===`task-fail`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:`fail-task-reason`,children:`reason`}),(0,m.jsx)(LC,{id:`fail-task-reason`,value:c,onChange:e=>{l(e.target.value),d(void 0)},onClear:()=>l(``),clearLabel:`clear reason`,placeholder:`failed from console`,"aria-label":`failure reason`})]}),u&&(0,m.jsx)(`p`,{className:`mono mt-2 rounded border border-bad/25 bg-bad/10 px-2 py-1 text-[11px] text-bad`,children:u}),f&&f.length>0&&(0,m.jsxs)(`div`,{className:`mt-2`,children:[(0,m.jsx)(`div`,{className:`mono mb-1 text-[10px] uppercase tracking-[0.18em] text-dim`,children:`waiting on — pick one`}),(0,m.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:f.map(e=>(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,className:`mono`,onClick:()=>{s(e),d(void 0),h(void 0)},children:e},e))})]})]})]})}function rD(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=rD(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var iD={value:()=>{}};function aD(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new oD(n)}function oD(e){this._=e}function sD(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}oD.prototype=aD.prototype={constructor:oD,on:function(e,t){var n=this._,r=sD(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=cD(n[i],e.name)))return i}else{if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=lD(n[i],e.name,t);else if(t==null)for(i in n)n[i]=lD(n[i],e.name,null);return this}},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new oD(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function cD(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function lD(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=iD,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var uD=`http://www.w3.org/1999/xhtml`,dD={svg:`http://www.w3.org/2000/svg`,xhtml:uD,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function fD(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),dD.hasOwnProperty(t)?{space:dD[t],local:e}:e}function pD(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===uD&&t.documentElement.namespaceURI===uD?t.createElement(e):t.createElementNS(n,e)}}function mD(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function hD(e){var t=fD(e);return(t.local?mD:pD)(t)}function gD(){}function _D(e){return e==null?gD:function(){return this.querySelector(e)}}function vD(e){typeof e!=`function`&&(e=_D(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new ok(r,this._parents)}function yD(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function bD(){return[]}function xD(e){return e==null?bD:function(){return this.querySelectorAll(e)}}function SD(e){return function(){return yD(e.apply(this,arguments))}}function CD(e){e=typeof e==`function`?SD(e):xD(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new ok(r,i)}function wD(e){return function(){return this.matches(e)}}function TD(e){return function(t){return t.matches(e)}}var ED=Array.prototype.find;function DD(e){return function(){return ED.call(this.children,e)}}function OD(){return this.firstElementChild}function kD(e){return this.select(e==null?OD:DD(typeof e==`function`?e:TD(e)))}var AD=Array.prototype.filter;function jD(){return Array.from(this.children)}function MD(e){return function(){return AD.call(this.children,e)}}function ND(e){return this.selectAll(e==null?jD:MD(typeof e==`function`?e:TD(e)))}function PD(e){typeof e!=`function`&&(e=wD(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new ok(r,this._parents)}function FD(e){return Array(e.length)}function ID(){return new ok(this._enter||this._groups.map(FD),this._parents)}function LD(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}LD.prototype={constructor:LD,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function RD(e){return function(){return e}}function zD(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new LD(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function BD(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new LD(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function VD(e){return e.__data__}function HD(e,t){if(!arguments.length)return Array.from(this,VD);var n=t?BD:zD,r=this._parents,i=this._groups;typeof e!=`function`&&(e=RD(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=UD(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new ok(o,r),o._enter=s,o._exit=c,o}function UD(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function WD(){return new ok(this._exit||this._groups.map(FD),this._parents)}function GD(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function KD(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new ok(s,this._parents)}function qD(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function JD(e){e||=YD;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new ok(i,this._parents).order()}function YD(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function XD(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZD(){return Array.from(this)}function QD(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function $D(){let e=0;for(let t of this)++e;return e}function eO(){return!this.node()}function tO(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function nO(e){return function(){this.removeAttribute(e)}}function rO(e){return function(){this.removeAttributeNS(e.space,e.local)}}function iO(e,t){return function(){this.setAttribute(e,t)}}function aO(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function oO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function sO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function cO(e,t){var n=fD(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?rO:nO:typeof t==`function`?n.local?sO:oO:n.local?aO:iO)(n,t))}function lO(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function uO(e){return function(){this.style.removeProperty(e)}}function dO(e,t,n){return function(){this.style.setProperty(e,t,n)}}function fO(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function pO(e,t,n){return arguments.length>1?this.each((t==null?uO:typeof t==`function`?fO:dO)(e,t,n??``)):mO(this.node(),e)}function mO(e,t){return e.style.getPropertyValue(t)||lO(e).getComputedStyle(e,null).getPropertyValue(t)}function hO(e){return function(){delete this[e]}}function gO(e,t){return function(){this[e]=t}}function _O(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function vO(e,t){return arguments.length>1?this.each((t==null?hO:typeof t==`function`?_O:gO)(e,t)):this.node()[e]}function yO(e){return e.trim().split(/^|\s+/)}function bO(e){return e.classList||new xO(e)}function xO(e){this._node=e,this._names=yO(e.getAttribute(`class`)||``)}xO.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function SO(e,t){for(var n=bO(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function CO(e,t){for(var n=bO(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function wO(e){return function(){SO(this,e)}}function TO(e){return function(){CO(this,e)}}function EO(e,t){return function(){(t.apply(this,arguments)?SO:CO)(this,e)}}function DO(e,t){var n=yO(e+``);if(arguments.length<2){for(var r=bO(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?EO:t?wO:TO)(n,t))}function OO(){this.textContent=``}function kO(e){return function(){this.textContent=e}}function AO(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function jO(e){return arguments.length?this.each(e==null?OO:(typeof e==`function`?AO:kO)(e)):this.node().textContent}function MO(){this.innerHTML=``}function NO(e){return function(){this.innerHTML=e}}function PO(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function FO(e){return arguments.length?this.each(e==null?MO:(typeof e==`function`?PO:NO)(e)):this.node().innerHTML}function IO(){this.nextSibling&&this.parentNode.appendChild(this)}function LO(){return this.each(IO)}function RO(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zO(){return this.each(RO)}function BO(e){var t=typeof e==`function`?e:hD(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function VO(){return null}function HO(e,t){var n=typeof e==`function`?e:hD(e),r=t==null?VO:typeof t==`function`?t:_D(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function UO(){var e=this.parentNode;e&&e.removeChild(this)}function WO(){return this.each(UO)}function GO(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KO(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qO(e){return this.select(e?KO:GO)}function JO(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function YO(e){return function(t){e.call(this,t,this.__data__)}}function XO(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function ZO(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function QO(e,t,n){return function(){var r=this.__on,i,a=YO(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function $O(e,t,n){var r=XO(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}}else{for(s=t?QO:ZO,i=0;i<a;++i)this.each(s(r[i],t,n));return this}}function ek(e,t,n){var r=lO(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function tk(e,t){return function(){return ek(this,e,t)}}function nk(e,t){return function(){return ek(this,e,t.apply(this,arguments))}}function rk(e,t){return this.each((typeof t==`function`?nk:tk)(e,t))}function*ik(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var ak=[null];function ok(e,t){this._groups=e,this._parents=t}function sk(){return new ok([[document.documentElement]],ak)}function ck(){return this}ok.prototype=sk.prototype={constructor:ok,select:vD,selectAll:CD,selectChild:kD,selectChildren:ND,filter:PD,data:HD,enter:ID,exit:WD,join:GD,merge:KD,selection:ck,order:qD,sort:JD,call:XD,nodes:ZD,node:QD,size:$D,empty:eO,each:tO,attr:cO,style:pO,property:vO,classed:DO,text:jO,html:FO,raise:LO,lower:zO,append:BO,insert:HO,remove:WO,clone:qO,datum:JO,on:$O,dispatch:rk,[Symbol.iterator]:ik};function lk(e){return typeof e==`string`?new ok([[document.querySelector(e)]],[document.documentElement]):new ok([[e]],ak)}var uk=0;function dk(){return new fk}function fk(){this._=`@`+(++uk).toString(36)}fk.prototype=dk.prototype={constructor:fk,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};function pk(e){let t;for(;t=e.sourceEvent;)e=t;return e}function mk(e,t){if(e=pk(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var hk={passive:!1},gk={capture:!0,passive:!1};function _k(e){e.stopImmediatePropagation()}function vk(e){e.preventDefault(),e.stopImmediatePropagation()}function yk(e){var t=e.document.documentElement,n=lk(e).on(`dragstart.drag`,vk,gk);`onselectstart`in t?n.on(`selectstart.drag`,vk,gk):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function bk(e,t){var n=e.document.documentElement,r=lk(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,vk,gk),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var xk=e=>()=>e;function Sk(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Sk.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Ck(e){return!e.ctrlKey&&!e.button}function wk(){return this.parentNode}function Tk(e,t){return t??{x:e.x,y:e.y}}function Ek(){return navigator.maxTouchPoints||`ontouchstart`in this}function Dk(){var e=Ck,t=wk,n=Tk,r=Ek,i={},a=aD(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,hk).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!u&&e.call(this,n,r)){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(lk(n.view).on(`mousemove.drag`,m,gk).on(`mouseup.drag`,h,gk),yk(n.view),_k(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(vk(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){lk(e.view).on(`mousemove.drag mouseup.drag`,null),bk(e.view,l),vk(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(_k(n),c(`start`,n,i[s]))}function _(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(vk(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(_k(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=mk(l||r,t),p,m,h;if((h=n.call(e,new Sk(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=mk(l||a,t),_=o}u.call(r,e,new Sk(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:xk(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:xk(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:xk(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:xk(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Ok(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function kk(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ak(){}var jk=.7,Mk=1/jk,Nk=`\\s*([+-]?\\d+)\\s*`,Pk=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Fk=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Ik=/^#([0-9a-f]{3,8})$/,Lk=RegExp(`^rgb\\(${Nk},${Nk},${Nk}\\)$`),Rk=RegExp(`^rgb\\(${Fk},${Fk},${Fk}\\)$`),zk=RegExp(`^rgba\\(${Nk},${Nk},${Nk},${Pk}\\)$`),Bk=RegExp(`^rgba\\(${Fk},${Fk},${Fk},${Pk}\\)$`),Vk=RegExp(`^hsl\\(${Pk},${Fk},${Fk}\\)$`),Hk=RegExp(`^hsla\\(${Pk},${Fk},${Fk},${Pk}\\)$`),Uk={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};Ok(Ak,Jk,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Wk,formatHex:Wk,formatHex8:Gk,formatHsl:Kk,formatRgb:qk,toString:qk});function Wk(){return this.rgb().formatHex()}function Gk(){return this.rgb().formatHex8()}function Kk(){return sA(this).formatHsl()}function qk(){return this.rgb().formatRgb()}function Jk(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Ik.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Yk(t):n===3?new $k(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xk(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xk(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Lk.exec(e))?new $k(t[1],t[2],t[3],1):(t=Rk.exec(e))?new $k(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=zk.exec(e))?Xk(t[1],t[2],t[3],t[4]):(t=Bk.exec(e))?Xk(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Vk.exec(e))?oA(t[1],t[2]/100,t[3]/100,1):(t=Hk.exec(e))?oA(t[1],t[2]/100,t[3]/100,t[4]):Uk.hasOwnProperty(e)?Yk(Uk[e]):e===`transparent`?new $k(NaN,NaN,NaN,0):null}function Yk(e){return new $k(e>>16&255,e>>8&255,e&255,1)}function Xk(e,t,n,r){return r<=0&&(e=t=n=NaN),new $k(e,t,n,r)}function Zk(e){return e instanceof Ak||(e=Jk(e)),e?(e=e.rgb(),new $k(e.r,e.g,e.b,e.opacity)):new $k}function Qk(e,t,n,r){return arguments.length===1?Zk(e):new $k(e,t,n,r??1)}function $k(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ok($k,Qk,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new $k(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new $k(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $k(iA(this.r),iA(this.g),iA(this.b),rA(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:eA,formatHex:eA,formatHex8:tA,formatRgb:nA,toString:nA}));function eA(){return`#${aA(this.r)}${aA(this.g)}${aA(this.b)}`}function tA(){return`#${aA(this.r)}${aA(this.g)}${aA(this.b)}${aA((isNaN(this.opacity)?1:this.opacity)*255)}`}function nA(){let e=rA(this.opacity);return`${e===1?`rgb(`:`rgba(`}${iA(this.r)}, ${iA(this.g)}, ${iA(this.b)}${e===1?`)`:`, ${e})`}`}function rA(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function iA(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function aA(e){return e=iA(e),(e<16?`0`:``)+e.toString(16)}function oA(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new lA(e,t,n,r)}function sA(e){if(e instanceof lA)return new lA(e.h,e.s,e.l,e.opacity);if(e instanceof Ak||(e=Jk(e)),!e)return new lA;if(e instanceof lA)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new lA(o,s,c,e.opacity)}function cA(e,t,n,r){return arguments.length===1?sA(e):new lA(e,t,n,r??1)}function lA(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ok(lA,cA,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new lA(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new lA(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new $k(fA(e>=240?e-240:e+120,i,r),fA(e,i,r),fA(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new lA(uA(this.h),dA(this.s),dA(this.l),rA(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(){let e=rA(this.opacity);return`${e===1?`hsl(`:`hsla(`}${uA(this.h)}, ${dA(this.s)*100}%, ${dA(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function uA(e){return e=(e||0)%360,e<0?e+360:e}function dA(e){return Math.max(0,Math.min(1,e||0))}function fA(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var pA=Math.PI/180,mA=180/Math.PI,hA=18,gA=.96422,_A=1,vA=.82521,yA=4/29,bA=6/29,xA=3*bA*bA,SA=bA*bA*bA;function CA(e){if(e instanceof TA)return new TA(e.l,e.a,e.b,e.opacity);if(e instanceof MA)return NA(e);e instanceof $k||(e=Zk(e));var t=kA(e.r),n=kA(e.g),r=kA(e.b),i=EA((.2225045*t+.7168786*n+.0606169*r)/_A),a,o;return t===n&&n===r?a=o=i:(a=EA((.4360747*t+.3850649*n+.1430804*r)/gA),o=EA((.0139322*t+.0971045*n+.7141733*r)/vA)),new TA(116*i-16,500*(a-i),200*(i-o),e.opacity)}function wA(e,t,n,r){return arguments.length===1?CA(e):new TA(e,t,n,r??1)}function TA(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Ok(TA,wA,kk(Ak,{brighter(e){return new TA(this.l+hA*(e??1),this.a,this.b,this.opacity)},darker(e){return new TA(this.l-hA*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=gA*DA(t),e=_A*DA(e),n=vA*DA(n),new $k(OA(3.1338561*t-1.6168667*e-.4906146*n),OA(-.9787684*t+1.9161415*e+.033454*n),OA(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function EA(e){return e>SA?e**(1/3):e/xA+yA}function DA(e){return e>bA?e*e*e:xA*(e-yA)}function OA(e){return 255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055)}function kA(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function AA(e){if(e instanceof MA)return new MA(e.h,e.c,e.l,e.opacity);if(e instanceof TA||(e=CA(e)),e.a===0&&e.b===0)return new MA(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*mA;return new MA(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function jA(e,t,n,r){return arguments.length===1?AA(e):new MA(e,t,n,r??1)}function MA(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function NA(e){if(isNaN(e.h))return new TA(e.l,0,0,e.opacity);var t=e.h*pA;return new TA(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Ok(MA,jA,kk(Ak,{brighter(e){return new MA(this.h,this.c,this.l+hA*(e??1),this.opacity)},darker(e){return new MA(this.h,this.c,this.l-hA*(e??1),this.opacity)},rgb(){return NA(this).rgb()}}));var PA=-.14861,FA=1.78277,IA=-.29227,LA=-.90649,RA=1.97294,zA=RA*LA,BA=RA*FA,VA=FA*IA-LA*PA;function HA(e){if(e instanceof WA)return new WA(e.h,e.s,e.l,e.opacity);e instanceof $k||(e=Zk(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(VA*r+zA*t-BA*n)/(VA+zA-BA),a=r-i,o=(RA*(n-i)-IA*a)/LA,s=Math.sqrt(o*o+a*a)/(RA*i*(1-i)),c=s?Math.atan2(o,a)*mA-120:NaN;return new WA(c<0?c+360:c,s,i,e.opacity)}function UA(e,t,n,r){return arguments.length===1?HA(e):new WA(e,t,n,r??1)}function WA(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ok(WA,UA,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new WA(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new WA(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*pA,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new $k(255*(t+n*(PA*r+FA*i)),255*(t+n*(IA*r+LA*i)),255*(t+RA*r*n),this.opacity)}}));var GA=e=>()=>e;function KA(e,t){return function(n){return e+n*t}}function qA(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function JA(e,t){var n=t-e;return n?KA(e,n>180||n<-180?n-360*Math.round(n/360):n):GA(isNaN(e)?t:e)}function YA(e){return(e=+e)==1?XA:function(t,n){return n-t?qA(t,n,e):GA(isNaN(t)?n:t)}}function XA(e,t){var n=t-e;return n?KA(e,n):GA(isNaN(e)?t:e)}var ZA=(function e(t){var n=YA(t);function r(e,t){var r=n((e=Qk(e)).r,(t=Qk(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=XA(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function QA(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function $A(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ej(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=lj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function tj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function nj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function rj(e,t){var n={},r={},i;for(i in typeof e==`object`&&e||(e={}),typeof t==`object`&&t||(t={}),t)i in e?n[i]=lj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var ij=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aj=new RegExp(ij.source,`g`);function oj(e){return function(){return e}}function sj(e){return function(t){return e(t)+``}}function cj(e,t){var n=ij.lastIndex=aj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=ij.exec(e))&&(i=aj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:nj(r,i)})),n=aj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?sj(c[0].x):oj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function lj(e,t){var n=typeof t,r;return t==null||n===`boolean`?GA(t):(n===`number`?nj:n===`string`?(r=Jk(t))?(t=r,ZA):cj:t instanceof Jk?ZA:t instanceof Date?tj:$A(t)?QA:Array.isArray(t)?ej:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?rj:nj)(e,t)}var uj=180/Math.PI,dj={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fj(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*uj,skewX:Math.atan(c)*uj,scaleX:o,scaleY:s}}var pj;function mj(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?dj:fj(t.a,t.b,t.c,t.d,t.e,t.f)}function hj(e){return e==null||(pj||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),pj.setAttribute(`transform`,e),!(e=pj.transform.baseVal.consolidate()))?dj:(e=e.matrix,fj(e.a,e.b,e.c,e.d,e.e,e.f))}function gj(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:nj(e,i)},{i:c-2,x:nj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:nj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:nj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:nj(e,n)},{i:s-2,x:nj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var _j=gj(mj,`px, `,`px)`,`deg)`),vj=gj(hj,`, `,`)`,`)`),yj=1e-12;function bj(e){return((e=Math.exp(e))+1/e)/2}function xj(e){return((e=Math.exp(e))-1/e)/2}function Sj(e){return((e=Math.exp(2*e))-1)/(e+1)}var Cj=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<yj)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=bj(y),c=s/(n*g)*(i*Sj(t*r+y)-xj(y));return[a+c*d,o+c*f,s*i/bj(t*r+y)]}}return m.duration=Math.abs(h)*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4);function wj(e){return(function t(n){n=+n;function r(t,r){var i=e((t=UA(t)).h,(r=UA(r)).h),a=XA(t.s,r.s),o=XA(t.l,r.l),s=XA(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}wj(JA),wj(XA);var Tj=0,Ej=0,Dj=0,Oj=1e3,kj,Aj,jj=0,Mj=0,Nj=0,Pj=typeof performance==`object`&&performance.now?performance:Date,Fj=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Ij(){return Mj||=(Fj(Lj),Pj.now()+Nj)}function Lj(){Mj=0}function Rj(){this._call=this._time=this._next=null}Rj.prototype=zj.prototype={constructor:Rj,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?Ij():+n)+(t==null?0:+t),!this._next&&Aj!==this&&(Aj?Aj._next=this:kj=this,Aj=this),this._call=e,this._time=n,Wj()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wj())}};function zj(e,t,n){var r=new Rj;return r.restart(e,t,n),r}function Bj(){Ij(),++Tj;for(var e=kj,t;e;)(t=Mj-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Tj}function Vj(){Mj=(jj=Pj.now())+Nj,Tj=Ej=0;try{Bj()}finally{Tj=0,Uj(),Mj=0}}function Hj(){var e=Pj.now(),t=e-jj;t>Oj&&(Nj-=t,jj=e)}function Uj(){for(var e,t=kj,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:kj=n);Aj=e,Wj(r)}function Wj(e){Tj||(Ej&&=clearTimeout(Ej),e-Mj>24?(e<1/0&&(Ej=setTimeout(Vj,Math.ceil(e-Pj.now()-Nj)+1)),Dj&&=clearInterval(Dj)):(Dj||=(jj=Pj.now(),setInterval(Hj,Oj)),Tj=1,Fj(Vj)))}function Gj(e,t,n){var r=new Rj;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}function Kj(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var qj=3;(function e(t){t=+t;function n(e){return e**+t}return n.exponent=e,n})(qj),(function e(t){t=+t;function n(e){return 1-(1-e)**t}return n.exponent=e,n})(qj),(function e(t){t=+t;function n(e){return((e*=2)<=1?e**+t:2-(2-e)**t)/2}return n.exponent=e,n})(qj);function Jj(e){return(2**(-10*e)-.0009765625)*1.0009775171065494}var Yj=4/11;1/Yj/Yj;var Xj=1.70158;(function e(t){t=+t;function n(e){return(e=+e)*e*(t*(e-1)+e)}return n.overshoot=e,n})(Xj),(function e(t){t=+t;function n(e){return--e*e*((e+1)*t+e)+1}return n.overshoot=e,n})(Xj),(function e(t){t=+t;function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return n.overshoot=e,n})(Xj);var Zj=2*Math.PI,Qj=1,$j=.3;(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return t*Jj(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j),(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return 1-t*Jj(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j),(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return((e=e*2-1)<0?t*Jj(-e)*Math.sin((r-e)/n):2-t*Jj(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j);var eM=aD(`start`,`end`,`cancel`,`interrupt`),tM=[],nM=0,rM=1,iM=2,aM=3,oM=4,sM=5,cM=6;function lM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;pM(e,n,{name:t,index:r,group:i,on:eM,tween:tM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:nM})}function uM(e,t){var n=fM(e,t);if(n.state>nM)throw Error(`too late; already scheduled`);return n}function dM(e,t){var n=fM(e,t);if(n.state>aM)throw Error(`too late; already running`);return n}function fM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function pM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=zj(a,0,n.time);function a(e){n.state=rM,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==rM)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===aM)return Gj(o);f.state===oM?(f.state=cM,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=cM,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(Gj(function(){n.state===aM&&(n.state=oM,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=iM,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===iM){for(n.state=aM,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=sM,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===sM&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=cM,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function mM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n)(r=n[o]).name===t?(i=r.state>iM&&r.state<sM,r.state=cM,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]):a=!1;a&&delete e.__transition}}function hM(e){return this.each(function(){mM(this,e)})}function gM(e,t){var n,r;return function(){var i=dM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function _M(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=dM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function vM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=fM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?gM:_M)(n,e,t))}function yM(e,t,n){var r=e._id;return e.each(function(){var e=dM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return fM(e,r).value[t]}}function bM(e,t){var n;return(typeof t==`number`?nj:t instanceof Jk?ZA:(n=Jk(t))?(t=n,ZA):cj)(e,t)}function xM(e){return function(){this.removeAttribute(e)}}function SM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function CM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function wM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function TM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function EM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function DM(e,t){var n=fD(e),r=n===`transform`?vj:bM;return this.attrTween(e,typeof t==`function`?(n.local?EM:TM)(n,r,yM(this,`attr.`+e,t)):t==null?(n.local?SM:xM)(n):(n.local?wM:CM)(n,r,t))}function OM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function kM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function AM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&kM(e,i)),n}return i._value=t,i}function jM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&OM(e,i)),n}return i._value=t,i}function MM(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=fD(e);return this.tween(n,(r.local?AM:jM)(r,t))}function NM(e,t){return function(){uM(this,e).delay=+t.apply(this,arguments)}}function PM(e,t){return t=+t,function(){uM(this,e).delay=t}}function FM(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?NM:PM)(t,e)):fM(this.node(),t).delay}function IM(e,t){return function(){dM(this,e).duration=+t.apply(this,arguments)}}function LM(e,t){return t=+t,function(){dM(this,e).duration=t}}function RM(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?IM:LM)(t,e)):fM(this.node(),t).duration}function zM(e,t){if(typeof t!=`function`)throw Error();return function(){dM(this,e).ease=t}}function BM(e){var t=this._id;return arguments.length?this.each(zM(t,e)):fM(this.node(),t).ease}function VM(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();dM(this,e).ease=n}}function HM(e){if(typeof e!=`function`)throw Error();return this.each(VM(this._id,e))}function UM(e){typeof e!=`function`&&(e=wD(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new vN(r,this._parents,this._name,this._id)}function WM(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new vN(o,this._parents,this._name,this._id)}function GM(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function KM(e,t,n){var r,i,a=GM(t)?uM:dM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function qM(e,t){var n=this._id;return arguments.length<2?fM(this.node(),n).on.on(e):this.each(KM(n,e,t))}function JM(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function YM(){return this.on(`end.remove`,JM(this._id))}function XM(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=_D(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,lM(l[f],t,n,f,l,fM(u,n)));return new vN(a,this._parents,t,n)}function ZM(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=xD(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=fM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&lM(p,t,n,h,f,m);a.push(f),o.push(u)}return new vN(a,o,t,n)}var QM=sk.prototype.constructor;function $M(){return new QM(this._groups,this._parents)}function eN(e,t){var n,r,i;return function(){var a=mO(this,e),o=(this.style.removeProperty(e),mO(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function tN(e){return function(){this.style.removeProperty(e)}}function nN(e,t,n){var r,i=n+``,a;return function(){var o=mO(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function rN(e,t,n){var r,i,a;return function(){var o=mO(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),mO(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function iN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=dM(this,e),l=c.on,u=c.value[a]==null?s||=tN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function aN(e,t,n){var r=(e+=``)==`transform`?_j:bM;return t==null?this.styleTween(e,eN(e,r)).on(`end.style.`+e,tN(e)):typeof t==`function`?this.styleTween(e,rN(e,r,yM(this,`style.`+e,t))).each(iN(this._id,e)):this.styleTween(e,nN(e,r,t),n).on(`end.style.`+e,null)}function oN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function sN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&oN(e,a,n)),r}return a._value=t,a}function cN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,sN(e,t,n??``))}function lN(e){return function(){this.textContent=e}}function uN(e){return function(){var t=e(this);this.textContent=t??``}}function dN(e){return this.tween(`text`,typeof e==`function`?uN(yM(this,`text`,e)):lN(e==null?``:e+``))}function fN(e){return function(t){this.textContent=e.call(this,t)}}function pN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&fN(r)),t}return r._value=e,r}function mN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,pN(e))}function hN(){for(var e=this._name,t=this._id,n=yN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=fM(c,t);lM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new vN(r,this._parents,e,n)}function gN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=dM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var _N=0;function vN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function yN(){return++_N}var bN=sk.prototype;vN.prototype={constructor:vN,select:XM,selectAll:ZM,selectChild:bN.selectChild,selectChildren:bN.selectChildren,filter:UM,merge:WM,selection:$M,transition:hN,call:bN.call,nodes:bN.nodes,node:bN.node,size:bN.size,empty:bN.empty,each:bN.each,on:qM,attr:DM,attrTween:MM,style:aN,styleTween:cN,text:dN,textTween:mN,remove:YM,tween:vM,delay:FM,duration:RM,ease:BM,easeVarying:HM,end:gN,[Symbol.iterator]:bN[Symbol.iterator]};var xN={time:null,delay:0,duration:250,ease:Kj};function SN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function CN(e){var t,n;e instanceof vN?(t=e._id,e=e._name):(t=yN(),(n=xN).time=Ij(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&lM(c,e,t,l,o,n||SN(c,t));return new vN(r,this._parents,e,t)}sk.prototype.interrupt=hM,sk.prototype.transition=CN;var wN=e=>()=>e;function TN(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function EN(e,t,n){this.k=e,this.x=t,this.y=n}EN.prototype={constructor:EN,scale:function(e){return e===1?this:new EN(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new EN(this.k,this.x+this.k*e,this.y+this.k*t)},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 DN=new EN(1,0,0);ON.prototype=EN.prototype;function ON(e){for(;!e.__zoom;)if(!(e=e.parentNode))return DN;return e.__zoom}function kN(e){e.stopImmediatePropagation()}function AN(e){e.preventDefault(),e.stopImmediatePropagation()}function jN(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function MN(){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 NN(){return this.__zoom||DN}function PN(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function FN(){return navigator.maxTouchPoints||`ontouchstart`in this}function IN(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function LN(){var e=jN,t=MN,n=IN,r=PN,i=FN,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Cj,l=aD(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,NN).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,NN),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(DN.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new EN(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new EN(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new EN(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=lk(this.that).datum();l.call(e,this.that,new TN(e,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=mk(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],mM(this),s.start();AN(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=lk(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=mk(t,i),l=t.clientX,u=t.clientY;yk(t.view),kN(t),a.mouse=[c,this.__zoom.invert(c)],mM(this),a.start();function d(e){if(AN(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=mk(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),bk(e.view,a.moved),AN(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=mk(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);AN(r),s>0?lk(this).transition().duration(s).call(x,d,c,r):lk(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(kN(t),s=0;s<i;++s)c=r[s],l=mk(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),mM(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(AN(e),s=0;s<a;++s)c=i[s],l=mk(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(kN(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=mk(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=lk(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:wN(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:wN(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:wN(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:wN([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var RN={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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 parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},zN=[[-1/0,-1/0],[1/0,1/0]],BN=[`Enter`,` `,`Escape`],VN={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},HN;(function(e){e.Strict=`strict`,e.Loose=`loose`})(HN||={});var UN;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(UN||={});var WN;(function(e){e.Partial=`partial`,e.Full=`full`})(WN||={});var GN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},KN;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(KN||={});var qN;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(qN||={});var $;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})($||={});var JN={[$.Left]:$.Right,[$.Right]:$.Left,[$.Top]:$.Bottom,[$.Bottom]:$.Top},YN=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,XN=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),ZN=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),QN=(e,t=[0,0])=>{let{width:n,height:r}=MP(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},$N=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):ZN(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,fP(e,gP(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?mP(r):{x:0,y:0,width:0,height:0}},eP=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=fP(n,gP(e)),r=!0)}),r?mP(n):{x:0,y:0,width:0,height:0}},tP=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=vP(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},nP=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function rP(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=MP(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function iP({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=kP(eP(rP(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function aP({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,RN.error005());else{let{width:e,height:t}=MP(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&jP(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=jP(d)?cP(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,RN.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function oP({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=nP(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var sP=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),cP=(e={x:0,y:0},t,n)=>({x:sP(e.x,t[0][0],t[1][0]-(n?.width??0)),y:sP(e.y,t[0][1],t[1][1]-(n?.height??0))});function lP(e,t,n){let{width:r,height:i}=MP(n),{x:a,y:o}=n.internals.positionAbsolute;return cP(e,[[a,o],[a+r,o+i]],t)}var uP=(e,t,n)=>e<t?sP(Math.abs(e-t),1,t)/t:e>n?-sP(Math.abs(e-n),1,t)/t:0,dP=(e,t,n=15,r=40)=>[uP(e.x,r,t.width-r)*n,uP(e.y,r,t.height-r)*n],fP=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),pP=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),mP=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),hP=(e,t=[0,0])=>{let{x:n,y:r}=ZN(e)?e.internals.positionAbsolute:QN(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},gP=(e,t=[0,0])=>{let{x:n,y:r}=ZN(e)?e.internals.positionAbsolute:QN(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},_P=(e,t)=>mP(fP(pP(e),pP(t))),vP=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},yP=(e,t)=>vP(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),bP=e=>xP(e.width)&&xP(e.height)&&xP(e.x)&&xP(e.y),xP=e=>!isNaN(e)&&isFinite(e),SP=(e,t)=>(e,t)=>{},CP=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),wP=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?CP(s,o):s},TP=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function EP(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function DP(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=EP(e,n),i=EP(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=EP(e.top??e.y??0,n),i=EP(e.bottom??e.y??0,n),a=EP(e.left??e.x??0,t),o=EP(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function OP(e,t,n,r,i,a){let{x:o,y:s}=TP(e,[t,n,r]),{x:c,y:l}=TP({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var kP=(e,t,n,r,i,a)=>{let o=DP(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=sP(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=OP(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},AP=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function jP(e){return e!=null&&e!==`parent`}function MP(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function NP(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function PP(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function FP(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function IP(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function LP(e){return{...VN,...e||{}}}function RP(e){return e===null?null:e?`valid`:`invalid`}function zP(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=GP(e),s=wP({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?CP(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var BP=e=>({width:e.offsetWidth,height:e.offsetHeight}),VP=e=>e?.getRootNode?.()||window?.document,HP=[`INPUT`,`SELECT`,`TEXTAREA`];function UP(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?HP.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var WP=e=>`clientX`in e,GP=(e,t)=>{let n=WP(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},KP=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...BP(t)}})};function qP({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function JP(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function YP({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case $.Left:return[t-JP(t-r,a),n];case $.Right:return[t+JP(r-t,a),n];case $.Top:return[t,n-JP(n-i,a)];case $.Bottom:return[t,n+JP(i-n,a)]}}function XP({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top,curvature:o=.25}){let[s,c]=YP({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=YP({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=qP({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function ZP({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function QP({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function $P({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=fP(gP(e),gP(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),yP({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},mP(a))>0}var eF=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,tF=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),nF=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,RN.error006()),t;let r=n.getEdgeId||eF,i;return i=YN(e)?{...e}:{...e,id:r(e)},tF(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function rF({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=ZP({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var iF={[$.Left]:{x:-1,y:0},[$.Right]:{x:1,y:0},[$.Top]:{x:0,y:-1},[$.Bottom]:{x:0,y:1}},aF=({source:e,sourcePosition:t=$.Bottom,target:n})=>t===$.Left||t===$.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},oF=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),sF=(e,t,n)=>e.x===t.x&&t.x===n.x&&(t.y-e.y)*(n.y-t.y)>=0||e.y===t.y&&t.y===n.y&&(t.x-e.x)*(n.x-t.x)>=0;function cF({source:e,sourcePosition:t=$.Bottom,target:n,targetPosition:r=$.Top,center:i,offset:a,stepPosition:o}){let s=iF[t],c=iF[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=aF({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=ZP({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y},C=[];for(let t of[e,x,...m,S,n]){let[e,n]=C.slice(-2);n&&sF(e,n,t)&&C.pop(),C.push(t)}return[C,h,g,y,b]}function lF(e,t,n,r){let i=Math.min(oF(e,t)/2,oF(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function uF({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=cF({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=lF(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function dF(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function fF(e){let{sourceNode:t,targetNode:n}=e;if(!dF(t)||!dF(n))return null;let r=t.internals.handleBounds||pF(t.handles),i=n.internals.handleBounds||pF(n.handles),a=hF(r?.source??[],e.sourceHandle),o=hF(e.connectionMode===HN.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,RN.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||$.Bottom,c=o?.position||$.Top,l=mF(t,a,s),u=mF(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function pF(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function mF(e,t,n=$.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??MP(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case $.Top:return{x:i+o/2,y:a};case $.Right:return{x:i+o,y:a+s/2};case $.Bottom:return{x:i+o/2,y:a+s};case $.Left:return{x:i,y:a+s/2}}}function hF(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function gF(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function _F(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=gF(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var vF=1e3,yF=10,bF={nodeOrigin:[0,0],nodeExtent:zN,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},xF={...bF,checkEquality:!0};function SF(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function CF(e,t,n){let r=SF(bF,n);for(let n of e.values())if(n.parentId)OF(n,e,t,r);else{let e=cP(QN(n,r.nodeOrigin),jP(n.extent)?n.extent:r.nodeExtent,MP(n));n.internals.positionAbsolute=e}}function wF(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function TF(e){return e===`manual`}function EF(e,t,n,r={}){let i=SF(xF,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!TF(i.zIndexMode)?vF:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=cP(QN(u,i.nodeOrigin),jP(u.extent)?u.extent:i.nodeExtent,MP(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:wF(u,e),z:kF(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}e.measured!==void 0&&e.measured.width!==void 0&&e.measured.height!==void 0||e.hidden||(c=!1),u.parentId&&OF(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function DF(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function OF(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=SF(bF,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}DF(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*yF),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=AF(e,u,o,s,a&&!TF(c)?vF:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function kF(e,t,n){let r=xP(e.zIndex)?e.zIndex:0;return TF(n)?r:r+(e.selected?t:0)}function AF(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=MP(e),l=QN(e,n),u=jP(e.extent)?cP(l,e.extent,c):l,d=cP({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=lP(d,c,t));let f=kF(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function jF(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=_P(a.get(n.parentId)?.expandedRect??hP(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=MP(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function MF(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=BP(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=jP(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=lP(h,s,n))}else m&&(h=cP(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:KP(`source`,r.nodeElement,p,d,e.id),target:KP(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&OF(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:hP(g,i)}))}}if(f.length>0){let e=jF(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function NF({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function PF(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function FF(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;PF(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),PF(`target`,s,c,e,i,o),t.set(r.id,r)}}function IF(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:IF(n,t):!1}function LF(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function RF(e,t,n,r,i){let a=new Map;for(let[o,s]of e)if((i?s.id===r:s.selected||s.id===r)&&(i||!s.parentId||!IF(s,e))&&(s.draggable||t&&s.draggable===void 0)){let t=e.get(o);t&&a.set(o,{id:o,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return a}function zF({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function BF({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=CP(a,t);return{x:o.x-a.x,y:o.y-a.y}}function VF({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=lk(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?pP(eP(s)):null,x=v&&l?BF({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:CP(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=aP({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=zF({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=dP(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0;let v=!!b&&!o&&!i.get(b)?.selected;m&&y||o||!b||i.get(b)?.selected||_(),y&&m&&b&&e?.(b);let x=zP(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=x,s=RF(i,c,x,b,v),s.size>0&&(n||h||!b&&g)){let[e,t]=zF({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Dk().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=zP(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=GP(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=zP(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=GP(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=GP(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p)p&&s.size>0&&t().updateNodePositions(s,!1);else if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=zF({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!LF(t,`.${g}`,v))&&(!_||LF(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function HF(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())yP(i,hP(e))>0&&r.push(e);return r}var UF=250;function WF(e,t,n,r){let i=[],a=1/0,o=HF(e,n,t+UF);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=mF(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function GF(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...mF(o,c,c.position,!0)}:c}function KF(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function qF(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var JF=()=>!0;function YF(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=JF,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=VP(e.target),E=0,D,{x:O,y:k}=GP(e),A=KF(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=GF(i,A,r,c,t);if(!N)return;let P=GP(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=dP(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},ee=c.get(i),V={inProgress:!0,isValid:null,from:mF(ee,B,$.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:ee,to:P,toHandle:null,toPosition:JN[B.position],toNode:null,pointer:P};function te(){M=!0,y(V),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&te();function ne(e){if(!M){let{x:t,y:n}=GP(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;te()}if(!x()||!B){H(e);return}let a=b();P=GP(e,j),D=WF(wP(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=XF(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=qF(!!D,s.isValid);let u=c.get(i),f=u?mF(u,B,$.Left,!0):V.from,p={...V,from:f,isValid:L,to:s.toHandle&&L?TP({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:JN[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),V=p}function H(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=V,r={...n,toPosition:V.toHandle?V.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,ne),T.removeEventListener(`mouseup`,H),T.removeEventListener(`touchmove`,ne),T.removeEventListener(`touchend`,H)}}T.addEventListener(`mousemove`,ne),T.addEventListener(`mouseup`,H),T.addEventListener(`touchmove`,ne),T.addEventListener(`touchend`,H)}function XF(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=JF,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=GP(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=KF(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===HN.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=GF(t,e,a,u,n,!0)}return _}var ZF={onPointerDown:YF,isValid:XF};function QF({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=lk(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&AP()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=LN().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:mk}}var $F=e=>({x:e.x,y:e.y,zoom:e.k}),eI=({x:e,y:t,zoom:n})=>DN.translate(e,t).scale(n),tI=(e,t)=>e.target.closest(`.${t}`),nI=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),rI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,iI=(e,t=0,n=rI,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},aI=e=>{let t=e.ctrlKey&&AP()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function oI({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(tI(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=mk(u),t=d*2**aI(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===UN.Vertical?0:u.deltaX*f,m=i===UN.Horizontal?0:u.deltaY*f;!AP()&&u.shiftKey&&i!==UN.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=$F(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function sI({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=tI(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function cI({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=$F(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function lI({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&nI(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,$F(a.transform))}}function uI({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&nI(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=$F(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function dI({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(tI(f,`${u}-flow__node`)||tI(f,`${u}-flow__edge`)||tI(f,`${u}-flow__selection`)||tI(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||tI(f,c)&&h||tI(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function fI({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]],f=typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t?.contentRect&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null;f?.observe(e);let p=LN().extent(()=>d).scaleExtent([t,n]).translateExtent(r),m=lk(e).call(p);b({x:i.x,y:i.y,zoom:sP(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let h=m.on(`wheel.zoom`),g=m.on(`dblclick.zoom`);p.wheelDelta(aI);async function _(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).transform(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function v({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:f,preventScrolling:_,zoomOnPinch:v,zoomOnScroll:y,zoomOnDoubleClick:b,panActivationKeyPressed:x=!1,zoomActivationKeyPressed:S,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!l.isZoomingOrPanning&&p.on(`zoom`,null);let O=i&&!S&&!r;p.clickDistance(D?1/0:!xP(E)||E<0?0:E);let k=O?oI({zoomPanValues:l,noWheelClassName:e,d3Selection:m,d3Zoom:p,panOnScrollMode:d,panOnScrollSpeed:f,zoomOnPinch:v,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):sI({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:h});m.on(`wheel.zoom`,k,{passive:!1});let A=cI({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});p.on(`start`,A);let j=lI({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:w});p.on(`zoom`,j);let M=uI({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});p.on(`end`,M);let N=dI({panActivationKeyPressed:x,zoomActivationKeyPressed:S,panOnDrag:u,zoomOnScroll:y,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:v,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});p.filter(N),b?m.on(`dblclick.zoom`,g):m.on(`dblclick.zoom`,null)}function y(){p.on(`zoom`,null),f?.disconnect()}async function b(e,t,n){let r=eI(e),i=p?.constrain()(r,t,n);return i&&await _(i),i}async function x(e,t){let n=eI(e);return await _(n,t),n}function S(e){if(m){let t=eI(e),n=m.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&p?.transform(m,t,null,{sync:!0})}}function C(){let e=m?ON(m.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function w(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).scaleTo(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function T(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).scaleBy(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function E(e){p?.scaleExtent(e)}function D(e){p?.translateExtent(e)}function O(e){let t=!xP(e)||e<0?0:e;p?.clickDistance(t)}return{update:v,destroy:y,setViewport:x,setViewportConstrained:b,getViewport:C,scaleTo:w,scaleBy:T,setScaleExtent:E,setTranslateExtent:D,syncViewport:S,setClickDistance:O}}var pI;(function(e){e.Line=`line`,e.Handle=`handle`})(pI||={});function mI({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function hI(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function gI(e,t){return Math.max(0,t-e)}function _I(e,t){return Math.max(0,e-t)}function vI(e,t,n){return Math.max(0,t-e,e-n)}function yI(e,t){return e?!t:t}function bI(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=vI(E,h,g),j=vI(D,_,v);if(o){let e=0,t=0;c&&w<0?e=gI(y+w+O,o[0][0]):!c&&w>0&&(e=_I(y+E+O,o[1][0])),l&&T<0?t=gI(b+T+k,o[0][1]):!l&&T>0&&(t=_I(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=_I(y+w,s[0][0]):!c&&w<0&&(e=gI(y+E,s[1][0])),l&&T>0?t=_I(b+T,s[0][1]):!l&&T<0&&(t=gI(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=vI(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?_I(b+k+E/C,o[1][1])*C:gI(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?gI(b+E/C,s[1][1])*C:_I(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=vI(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?_I(y+D*C+O,o[1][0])/C:gI(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?gI(y+D*C,s[1][0])/C:_I(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(yI(c,l)?-w:w)/C:w=(yI(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var xI={width:0,height:0,x:0,y:0},SI={...xI,pointerX:0,pointerY:0,aspectRatio:1};function CI(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function wI({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=lk(e),o={controlDirection:hI(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...xI},h={...SI};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:hI(e)};let g,_=null,v=[],y,b,x,S=Dk().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=zP(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=jP(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=CI(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=zP(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=bI(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=mI({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)===!1?(m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position})):(d?.(e,I),r(w,l))}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var TI=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},EI=e=>e?TI(e):TI,{useDebugValue:DI}=p.default,{useSyncExternalStoreWithSelector:OI}=pu.default,kI=e=>e;function AI(e,t=kI,n){let r=OI(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return DI(r),r}var jI=(e,t)=>{let n=EI(e),r=(e,r=t)=>AI(n,e,r);return Object.assign(r,n),r},MI=(e,t)=>e?jI(e,t):jI;function NI(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var PI=(0,p.createContext)(null),FI=PI.Provider,II=RN.error001(`react`);function LI(e,t){let n=(0,p.useContext)(PI);if(n===null)throw Error(II);return AI(n,e,t)}function RI(){let e=(0,p.useContext)(PI);if(e===null)throw Error(II);return(0,p.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var zI={display:`none`},BI={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},VI=`react-flow__node-desc`,HI=`react-flow__edge-desc`,UI=`react-flow__aria-live`,WI=e=>e.ariaLiveMessage,GI=e=>e.ariaLabelConfig;function KI({rfId:e}){let t=LI(WI);return(0,m.jsx)(`div`,{id:`${UI}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:BI,children:t})}function qI({rfId:e,disableKeyboardA11y:t}){let n=LI(GI);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{id:`${VI}-${e}`,style:zI,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,m.jsx)(`div`,{id:`${HI}-${e}`,style:zI,children:n[`edge.a11yDescription.default`]}),!t&&(0,m.jsx)(KI,{rfId:e})]})}var JI=(0,p.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,m.jsx)(`div`,{className:rD([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});JI.displayName=`Panel`;var YI=`https://reactflow.dev?utm_source=attribution`;function XI({proOptions:e,position:t=`bottom-right`}){return(0,p.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,m.jsx)(JI,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${YI}`,children:(0,m.jsx)(`a`,{href:YI,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var ZI=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},QI=e=>e.id;function $I(e,t){return NI(e.selectedNodes.map(QI),t.selectedNodes.map(QI))&&NI(e.selectedEdges.map(QI),t.selectedEdges.map(QI))}function eL({onSelectionChange:e}){let t=RI(),{selectedNodes:n,selectedEdges:r}=LI(ZI,$I);return(0,p.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var tL=e=>!!e.onSelectionChangeHandlers;function nL({onSelectionChange:e}){let t=LI(tL);return e||t?(0,m.jsx)(eL,{onSelectionChange:e}):null}var rL=[0,0],iL={x:0,y:0,zoom:1},aL=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],oL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),sL={translateExtent:zN,nodeOrigin:rL,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function cL(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=LI(oL,NI),l=RI();(0,p.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=sL,s()}),[]);let u=(0,p.useRef)(sL);return(0,p.useEffect)(()=>{for(let s of aL){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:LP(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},aL.map(t=>e[t])),null}function lL(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function uL(e){let[t,n]=(0,p.useState)(e===`system`?null:e);return(0,p.useEffect)(()=>{if(e!==`system`){n(e);return}let t=lL(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?lL()?.matches?`dark`:`light`:t}var dL=typeof document<`u`?document:null;function fL(e=null,t={target:dL,actInsideInputWithModifier:!0}){let[n,r]=(0,p.useState)(!1),i=(0,p.useRef)(!1),a=(0,p.useRef)(new Set([])),[o,s]=(0,p.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
49
|
+
`},G_=0,K_=[];function q_(e){var t=p.useRef([]),n=p.useRef([0,0]),r=p.useRef(),i=p.useState(G_++)[0],a=p.useState(h_)[0],o=p.useRef(e);p.useEffect(function(){o.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Gg([e.lockRef.current],(e.shards||[]).map(H_),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=p.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=B_(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=N_(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=N_(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return z_(h,t,e,h===`h`?s:c,!0)},[]),c=p.useCallback(function(e){var n=e;if(K_.length&&K_[K_.length-1]===a){var r=`deltaY`in n?V_(n):B_(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&U_(e.delta,r)})[0];if(i&&i.should)n.cancelable&&n.preventDefault();else if(!i){var c=(o.current.shards||[]).map(H_).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=p.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:J_(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=p.useCallback(function(e){n.current=B_(e),r.current=void 0},[]),d=p.useCallback(function(t){l(t.type,V_(t),t.target,s(t,e.lockRef.current))},[]),f=p.useCallback(function(t){l(t.type,B_(t),t.target,s(t,e.lockRef.current))},[]);p.useEffect(function(){return K_.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,O_),document.addEventListener(`touchmove`,c,O_),document.addEventListener(`touchstart`,u,O_),function(){K_=K_.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,O_),document.removeEventListener(`touchmove`,c,O_),document.removeEventListener(`touchstart`,u,O_)}},[]);var m=e.removeScrollBar,h=e.inert;return p.createElement(p.Fragment,null,h?p.createElement(a,{styles:W_(i)}):null,m?p.createElement(T_,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function J_(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Y_=a_(o_,q_),X_=p.forwardRef(function(e,t){return p.createElement(c_,Ug({},e,{ref:t,sideCar:Y_}))});X_.classNames=c_.classNames;var Z_=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Q_=new WeakMap,$_=new WeakMap,ev={},tv=0,nv=function(e){return e&&(e.host||nv(e.parentNode))},rv=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=nv(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},iv=function(e,t,n,r){var i=rv(t,Array.isArray(e)?e:[e]);ev[n]||(ev[n]=new WeakMap);var a=ev[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Q_.get(e)||0)+1,l=(a.get(e)||0)+1;Q_.set(e,c),a.set(e,l),o.push(e),c===1&&i&&$_.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),tv++,function(){o.forEach(function(e){var t=Q_.get(e)-1,i=a.get(e)-1;Q_.set(e,t),a.set(e,i),t||($_.has(e)||e.removeAttribute(r),$_.delete(e)),i||e.removeAttribute(n)}),tv--,tv||(Q_=new WeakMap,Q_=new WeakMap,$_=new WeakMap,ev={})}},av=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Z_(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),iv(r,i,n,`aria-hidden`)):function(){return null}},ov=Object.defineProperty,sv=(e,t)=>ov(e,`name`,{value:t,configurable:!0}),cv=`Dialog`,[lv,uv]=Qm(cv),[dv,fv]=lv(cv),pv=sv(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=p.useRef(null),c=p.useRef(null),{nodes:l,registry:u}=fg(),[d,f]=mh({prop:r,defaultProp:i??!1,onChange:a,caller:cv}),[h,g]=p.useState(0),[_,v]=p.useState(0);return(0,m.jsx)(dv,{scope:t,triggerRef:s,contentRef:c,contentId:ah(),titleId:ah(),descriptionId:ah(),titlePresent:h>0,descriptionPresent:_>0,setTitleCount:g,setDescriptionCount:v,open:d,onOpenChange:f,onOpenToggle:p.useCallback(()=>f(e=>!e),[f]),modal:o,branchNodes:l,branchRegistry:u,children:n})},`Dialog`),mv=`DialogPortal`,[hv,gv]=lv(mv,{forceMount:void 0}),_v=sv(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=fv(mv,t);return(0,m.jsx)(hv,{scope:t,forceMount:n,children:p.Children.map(r,e=>(0,m.jsx)(Ag,{present:n||a.open,children:(0,m.jsx)(Eg,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),vv=`DialogOverlay`,yv=p.forwardRef(sv(function(e,t){let n=gv(vv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=fv(vv,e.__scopeDialog);return a.modal?(0,m.jsx)(Ag,{present:r||a.open,children:(0,m.jsx)(xv,{...i,ref:t})}):null},`DialogOverlay`)),bv=xh(`DialogOverlay.RemoveScroll`),xv=p.forwardRef(sv(function(e,t){let{__scopeDialog:n,...r}=e,i=fv(vv,n),a=Jm(t,Qh());return(0,m.jsx)(X_,{as:bv,allowPinchZoom:!0,shards:p.useMemo(()=>[i.contentRef,...i.branchNodes.map(e=>({current:e}))],[i.contentRef,i.branchNodes]),children:(0,m.jsx)(Rh.div,{"data-state":Ov(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),Sv=`DialogContent`,Cv=p.forwardRef(sv(function(e,t){let n=gv(Sv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=fv(Sv,e.__scopeDialog);return(0,m.jsx)(Ag,{present:r||a.open,children:a.modal?(0,m.jsx)(wv,{...i,ref:t}):(0,m.jsx)(Tv,{...i,ref:t})})},`DialogContent`)),wv=p.forwardRef(sv(function(e,t){let n=fv(Sv,e.__scopeDialog),r=p.useRef(null),i=Jm(t,n.contentRef,r);return p.useEffect(()=>{let e=r.current;if(e)return av(e)},[]),(0,m.jsx)(Ev,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:zm(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:zm(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:zm(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),Tv=p.forwardRef(sv(function(e,t){let n=fv(Sv,e.__scopeDialog),r=p.useRef(!1),i=p.useRef(!1);return(0,m.jsx)(Ev,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),Ev=p.forwardRef(sv(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,"aria-describedby":o,children:s,...c}=e,l=fv(Sv,n);return Vg(),(0,m.jsx)(dg,{registry:l.branchRegistry,children:(0,m.jsx)(lg,{asChild:!0,loop:!0,trapped:r,branches:l.branchNodes,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,m.jsx)(Zh,{role:`dialog`,id:l.contentId,"aria-labelledby":l.titlePresent?l.titleId:void 0,"aria-describedby":l.descriptionPresent?Dv(o,l.descriptionId):o,"data-state":Ov(l.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1),children:s})})})},`DialogContentImpl`));function Dv(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}sv(Dv,`concatAriaDescribedby`);function Ov(e){return e?`open`:`closed`}sv(Ov,`getState`);var kv=`[cmdk-group=""]`,Av=`[cmdk-group-items=""]`,jv=`[cmdk-group-heading=""]`,Mv=`[cmdk-item=""]`,Nv=`${Mv}:not([aria-disabled="true"])`,Pv=`cmdk-item-select`,Fv=`data-value`,Iv=(e,t,n)=>Fm(e,t,n),Lv=p.createContext(void 0),Rv=()=>p.useContext(Lv),zv=p.createContext(void 0),Bv=()=>p.useContext(zv),Vv=p.createContext(void 0),Hv=p.forwardRef((e,t)=>{let n=ny(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=ny(()=>new Set),i=ny(()=>new Map),a=ny(()=>new Map),o=ny(()=>new Set),s=ey(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:m,loop:h,disablePointerSelection:g=!1,vimBindings:_=!0,...v}=e,y=ah(),b=ah(),x=ah(),S=p.useRef(null),C=ay();ty(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),ty(()=>{C(6,A)},[]);let w=p.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=p.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??Iv;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(Av);t?t.appendChild(e.parentElement===t?e:e.closest(`${Av} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Av} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${kv}[${Fv}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Fv);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(kv)?.querySelector(jv))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${Mv}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(Nv)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(Fv))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(Fv))}function F(e){let t=j()?.closest(kv),n;for(;t&&!n;)t=e>0?Qv(t,kv):$v(t,kv),n=t?.querySelector(Nv);n?w.setState(`value`,n.getAttribute(Fv)):P(e)}let I=()=>N(M().length-1),L=e=>{e.preventDefault(),e.metaKey?I():e.altKey?F(1):P(1)},R=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return p.createElement(Rh.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:_&&e.ctrlKey&&L(e);break;case`ArrowDown`:L(e);break;case`p`:case`k`:_&&e.ctrlKey&&R(e);break;case`ArrowUp`:R(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(Pv);t.dispatchEvent(e)}}}}},p.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:cy},c),sy(e,e=>p.createElement(zv.Provider,{value:w},p.createElement(Lv.Provider,{value:T},e))))}),Uv=p.forwardRef((e,t)=>{let n=ah(),r=p.useRef(null),i=p.useContext(Vv),a=Rv(),o=ey(e),s=o.current?.forceMount??i?.forceMount;ty(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=iy(n,r,[e.value,e.children,r],e.keywords),l=Bv(),u=ry(e=>e.value&&e.value===c.current),d=ry(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);p.useEffect(()=>{let t=r.current;if(t&&!e.disabled)return t.addEventListener(Pv,f),()=>t.removeEventListener(Pv,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;m(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function m(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:h,value:g,onSelect:_,forceMount:v,keywords:y,...b}=e;return p.createElement(Rh.div,{ref:qm(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!h,"aria-selected":!!u,"data-disabled":!!h,"data-selected":!!u,onPointerMove:h||a.getDisablePointerSelection()?void 0:m,onClick:h?void 0:f},e.children)}),Wv=p.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=ah(),s=p.useRef(null),c=p.useRef(null),l=ah(),u=Rv(),d=ry(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));ty(()=>u.group(o),[]),iy(o,s,[e.value,e.heading,c]);let f=p.useMemo(()=>({id:o,forceMount:i}),[i]);return p.createElement(Rh.div,{ref:qm(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&p.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),sy(e,e=>p.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},p.createElement(Vv.Provider,{value:f},e))))}),Gv=p.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=p.useRef(null),a=ry(e=>!e.search);return!n&&!a?null:p.createElement(Rh.div,{ref:qm(i,t),...r,"cmdk-separator":``,role:`separator`})}),Kv=p.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Bv(),o=ry(e=>e.search),s=ry(e=>e.selectedItemId),c=Rv();return p.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),p.createElement(Rh.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),qv=p.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=p.useRef(null),o=p.useRef(null),s=ry(e=>e.selectedItemId),c=Rv();return p.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),p.createElement(Rh.div,{ref:qm(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},sy(e,e=>p.createElement(`div`,{ref:qm(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),Jv=p.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return p.createElement(pv,{open:n,onOpenChange:r},p.createElement(_v,{container:o},p.createElement(yv,{"cmdk-overlay":``,className:i}),p.createElement(Cv,{"aria-label":e.label,"cmdk-dialog":``,className:a},p.createElement(Hv,{ref:t,...s}))))}),Yv=p.forwardRef((e,t)=>ry(e=>e.filtered.count===0)?p.createElement(Rh.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Xv=p.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return p.createElement(Rh.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},sy(e,e=>p.createElement(`div`,{"aria-hidden":!0},e)))}),Zv=Object.assign(Hv,{List:qv,Item:Uv,Input:Kv,Group:Wv,Separator:Gv,Dialog:Jv,Empty:Yv,Loading:Xv});function Qv(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function $v(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function ey(e){let t=p.useRef(e);return ty(()=>{t.current=e}),t}var ty=typeof window>`u`?p.useEffect:p.useLayoutEffect;function ny(e){let t=p.useRef();return t.current===void 0&&(t.current=e()),t}function ry(e){let t=Bv(),n=()=>e(t.snapshot());return p.useSyncExternalStore(t.subscribe,n,n)}function iy(e,t,n,r=[]){let i=p.useRef(),a=Rv();return ty(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Fv,s),i.current=s}),i}var ay=()=>{let[e,t]=p.useState(),n=ny(()=>new Map);return ty(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function oy(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function sy({asChild:e,children:t},n){return e&&p.isValidElement(t)?p.cloneElement(oy(t),{ref:t.ref},n(t.props.children)):n(t)}var cy={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function ly({...e}){return(0,m.jsx)(Nf,{"data-slot":`dialog`,...e})}function uy({...e}){return(0,m.jsx)(hf,{"data-slot":`dialog-portal`,...e})}function dy({className:e,...t}){return(0,m.jsx)(Dc,{"data-slot":`dialog-overlay`,className:J(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function fy({className:e,children:t,showCloseButton:n=!0,...r}){return(0,m.jsxs)(uy,{children:[(0,m.jsx)(dy,{}),(0,m.jsxs)(ff,{"data-slot":`dialog-content`,className:J(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r,children:[t,n&&(0,m.jsxs)(Oc,{"data-slot":`dialog-close`,render:(0,m.jsx)(Wi,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`}),children:[(0,m.jsx)(ht,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function py({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`dialog-header`,className:J(`flex flex-col gap-2`,e),...t})}function my({className:e,showCloseButton:t=!1,children:n,...r}){return(0,m.jsxs)(`div`,{"data-slot":`dialog-footer`,className:J(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,m.jsx)(Oc,{render:(0,m.jsx)(Wi,{variant:`outline`}),children:`Close`})]})}function hy({className:e,...t}){return(0,m.jsx)(Pf,{"data-slot":`dialog-title`,className:J(`cn-font-heading leading-none font-medium`,e),...t})}function gy({className:e,...t}){return(0,m.jsx)(kc,{"data-slot":`dialog-description`,className:J(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function _y({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:J(`group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var vy=Hi(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function yy({className:e,align:t=`inline-start`,...n}){return(0,m.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:J(vy({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function by({className:e,...t}){return(0,m.jsx)(Zv,{"data-slot":`command`,className:J(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...t})}function xy({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!1,...a}){return(0,m.jsxs)(ly,{...a,children:[(0,m.jsxs)(py,{className:`sr-only`,children:[(0,m.jsx)(hy,{children:e}),(0,m.jsx)(gy,{children:t})]}),(0,m.jsx)(fy,{className:J(`top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0`,r),showCloseButton:i,children:n})]})}function Sy({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,m.jsxs)(_y,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,m.jsx)(Zv.Input,{"data-slot":`command-input`,className:J(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t}),(0,m.jsx)(yy,{children:(0,m.jsx)(mt,{className:`size-4 shrink-0 opacity-50`})})]})})}function Cy({className:e,...t}){return(0,m.jsx)(Zv.List,{"data-slot":`command-list`,className:J(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...t})}function wy({className:e,...t}){return(0,m.jsx)(Zv.Group,{"data-slot":`command-group`,className:J(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function Ty({className:e,children:t,...n}){return(0,m.jsxs)(Zv.Item,{"data-slot":`command-item`,className:J(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:**:[svg]:text-foreground`,e),...n,children:[t,(0,m.jsx)(yt,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function Ey({className:e,...t}){return(0,m.jsx)(`kbd`,{"data-slot":`kbd`,className:J(`pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3`,e),...t})}function Dy(e,t){let n=t.trim().toLowerCase();return n===``?[...e]:e.filter(e=>[e.label,...e.keywords??[]].some(e=>e.toLowerCase().includes(n)))}function Oy(e,t){(0,p.useEffect)(()=>{if(!e)return;let n=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),t(e=>!e))};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t])}function ky({onOpen:e,className:t,label:n=`Search all consoles`}){return(0,m.jsxs)(`button`,{type:`button`,onClick:e,"aria-keyshortcuts":`Control+K Meta+K`,"aria-label":n,className:J(`flex h-[26px] items-center gap-2 rounded-[6px] px-2.5 text-[11px] font-medium text-dim transition-colors hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60`,t),children:[(0,m.jsx)(mt,{className:`size-[13px]`}),(0,m.jsx)(`span`,{className:`hidden sm:inline`,children:`Search`}),(0,m.jsx)(Ey,{className:`mono hidden h-4 text-[9px] sm:inline-flex`,children:`⌘K`})]})}function Ay({className:e}){return(0,m.jsxs)(`svg`,{viewBox:`0 0 16 16`,width:14,height:14,fill:`none`,"aria-hidden":!0,"data-agora-search-spinner":``,className:J(`animate-spin text-dim motion-reduce:animate-none`,e),children:[(0,m.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,stroke:`currentColor`,strokeOpacity:.25,strokeWidth:1.8}),(0,m.jsx)(`path`,{d:`M14 8a6 6 0 0 0-6-6`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`})]})}function jy(){return(0,m.jsxs)(`div`,{"data-agora-search-skeleton":``,"aria-hidden":!0,className:`p-1`,children:[(0,m.jsx)(`div`,{className:`px-2 py-1.5 text-xs font-medium uppercase tracking-[0.14em] text-muted-foreground`,children:`Searching consoles…`}),[.55,.4,.48].map(e=>(0,m.jsxs)(`div`,{className:`flex items-center gap-2.5 px-2 py-1.5`,children:[(0,m.jsx)(Gf,{className:`size-[18px] shrink-0 rounded-[5px] bg-fg/[0.08] motion-reduce:animate-none`}),(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[(0,m.jsx)(Gf,{className:`h-3 rounded-sm bg-fg/[0.08] motion-reduce:animate-none`,style:{width:`${e*100}%`}}),(0,m.jsx)(Gf,{className:`h-2.5 rounded-sm bg-fg/[0.08] motion-reduce:animate-none`,style:{width:`${e*55}%`}})]})]},e))]})}function My({config:e,commands:t,open:n,onOpenChange:r,placeholder:i=`Search runs, payments, users…`}){let[a,o]=(0,p.useState)(``),[s,c]=(0,p.useState)([]),[l,u]=(0,p.useState)(`idle`),[d,f]=(0,p.useState)(0);(0,p.useEffect)(()=>{n||o(``)},[n]);let h=(0,p.useMemo)(()=>Dy(t??[],a),[t,a]),g=(0,p.useMemo)(()=>{let e=new Map;for(let t of h)e.set(t.group,[...e.get(t.group)??[],t]);return[...e.entries()]},[h]);(0,p.useEffect)(()=>{let t=a.trim();if(t===``||!e){c([]),u(`idle`);return}let n=new AbortController;u(`loading`);let r=setTimeout(()=>{bm(e,t,n.signal).then(e=>{n.signal.aborted||(c(e),u(`done`))},()=>{n.signal.aborted||(c([]),u(`error`))})},200);return()=>{clearTimeout(r),n.abort()}},[a,e,d]);let _=a.trim(),v=e!==void 0&&_!==``,y=v&&l===`loading`,b=y&&s.length>0,x=s.reduce((e,t)=>e+t.hits.length,0)+h.length,S=_!==``&&h.length===0&&s.length===0&&(!v||l===`done`),C=e?`Search all consoles`:`Search`,w=e=>{r(!1),window.location.assign(e)};return(0,m.jsx)(xy,{open:n,onOpenChange:r,title:C,description:e?`Search every console you can open`:`Jump to a page`,className:`sm:max-w-xl`,children:(0,m.jsxs)(by,{shouldFilter:!1,label:C,children:[(0,m.jsxs)(`div`,{className:`relative`,children:[(0,m.jsx)(Sy,{value:a,onValueChange:o,placeholder:i,"aria-label":C,className:`pr-7`}),y&&(0,m.jsx)(Ay,{className:`pointer-events-none absolute top-[calc(50%+2px)] right-3.5 -translate-y-1/2`})]}),(0,m.jsx)(`span`,{role:`status`,className:`sr-only`,children:y?`Searching…`:v&&l===`error`?`Search failed`:_===``?``:`${x} results`}),(0,m.jsxs)(Cy,{className:`max-h-[60vh]`,"aria-busy":y,children:[_===``&&h.length===0&&(0,m.jsx)(`p`,{className:`px-3 py-6 text-center text-[13px] text-dim`,children:`Type to search.`}),S&&(0,m.jsx)(`p`,{"data-agora-search-empty":``,className:`px-3 py-6 text-center text-[13px] text-dim`,children:`Nothing found.`}),g.map(([e,t])=>(0,m.jsx)(wy,{heading:(0,m.jsx)(`span`,{className:`uppercase tracking-[0.14em]`,children:e}),children:t.map(e=>(0,m.jsxs)(Ty,{value:`local:${e.id}`,onSelect:()=>{r(!1),e.onSelect()},children:[e.icon,(0,m.jsx)(`span`,{className:`truncate text-[13px] text-fg`,children:e.label}),e.hint&&(0,m.jsx)(`span`,{className:`ml-auto text-[11px] text-dim`,children:e.hint})]},e.id))},`local:${e}`)),y&&s.length===0&&(0,m.jsx)(jy,{}),s.map(e=>(0,m.jsx)(wy,{"data-stale":b?``:void 0,className:J(`transition-opacity duration-150 motion-reduce:transition-none`,b&&`opacity-50`),heading:(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 uppercase tracking-[0.14em]`,children:[(0,m.jsx)(Rt,{icon:e.icon,accent:Lt(e.id,e.icon),size:18}),e.title]}),children:e.hits.map(t=>(0,m.jsx)(Ty,{value:`${e.id}:${t.href}`,onSelect:()=>w(t.href),children:(0,m.jsxs)(`a`,{href:t.href,tabIndex:-1,className:`flex min-w-0 flex-col`,onClick:e=>{e.preventDefault(),w(t.href)},children:[(0,m.jsx)(`span`,{className:`mono truncate text-[13px] text-fg`,children:t.title}),t.subtitle&&(0,m.jsx)(`span`,{className:`truncate text-[11px] text-dim`,children:t.subtitle})]})},t.href))},e.id)),v&&l===`error`&&(0,m.jsxs)(`p`,{"data-agora-search-error":``,className:`flex items-center justify-center gap-2 px-3 py-3 text-[12px] text-faint`,children:[`The other consoles didn't answer.`,(0,m.jsx)(`button`,{type:`button`,onClick:()=>f(e=>e+1),className:`rounded-sm text-dim underline underline-offset-2 hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60`,children:`Retry`})]})]})]})})}var Ny=p.createContext(void 0);function Py(e){let t=p.useContext(Ny);if(t===void 0&&!e)throw Error(ci(33));return t}var Fy=p.createContext(void 0);function Iy(e){let t=p.useContext(Fy);if(t===void 0&&!e)throw Error(ci(36));return t}var Ly=p.createContext(void 0);function Ry(e=!0){let t=p.useContext(Ly);if(t===void 0&&!e)throw Error(ci(25));return t}var zy=p.createContext(null);function By(e=`root`){let t=p.useContext(zy),n=p.useContext(Fy);return t===null||n===void 0?null:(e===`submenu-trigger`?n.virtualFocus||n.parentVirtualFocus:n.virtualFocus)?t:null}var Vy={visible:!0,ref:null};function Hy(){return Vy}function Uy(e,t,n=`root`){let r=By(n),i=((n===`submenu-trigger`?r?.useSubmenuTrigger:r?.useItem)??Hy)({label:e.label,children:e.children,render:e.render}),a=_i(t,i.ref);return{visible:i.visible,ref:a,props:i.props}}function Wy(e){e.preventDefault()}function Gy(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:c}=e,l=Iy(),u=Ry(!0),d=c.type===`submenu-trigger`,f=d?l.parentVirtualFocus:l.virtualFocus,m=(d&&l.parent.type===`menu`?l.parent.store:l.store).useState(`webkitAriaSelected`,n),{events:h}=a.useState(`floatingTreeRoot`),g=a.useState(`open`),_=u!==void 0,v=!f&&g&&n?0:-1;return p.useMemo(()=>({id:r,role:`menuitem`,tabIndex:v,"aria-selected":m,onMouseDown:f?Wy:void 0,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&h.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&h.emit(`close`,{domEvent:e.nativeEvent,reason:sa})},onMouseUp(e){if(u){let t=u.initialCursorPointRef.current;if(u.initialCursorPointRef.current=null,_&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||_&&!Oo&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!_||e.button===2)&&c.type===`regular-item`&&pi(s.current,e,{detail:1,pointerType:`mouse`})}}),[t,v,r,h,i,a.context.allowMouseUpTriggerRef,o,s,u,_,c.type,m,f])}var Ky={type:`regular-item`};function qy(e){let{closeOnClick:t,disabled:n,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:l}=e,u=p.useRef(null),{getButtonProps:d,buttonRef:f}=mi({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),m=Gy({closeOnClick:t,highlighted:r,id:i,nodeId:l,store:a,typingRef:o,itemRef:u,itemMetadata:c}),h=p.useCallback(e=>Jr(m,{onMouseEnter(e){c.type===`submenu-trigger`&&c.setActive(e.nativeEvent)}},e,d),[m,d,c]),g=_i(u,f);return p.useMemo(()=>({getItemProps:h,itemRef:g}),[h,g])}var Jy=p.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function Yy(){return p.useContext(Jy)}function Xy(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=Yy(),u=p.useRef(-1),[d,f]=p.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),m=a??d,h=p.useRef(null),g=p.useCallback(e=>{let t=h.current;t&&s(t),h.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return X(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:g,index:m}}var Zy=p.createContext(void 0);function Qy(){let e=p.useContext(Zy);if(e===void 0)throw Error(ci(31));return e}var $y=p.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=p.useState(void 0),c=Mi(`div`,e,{ref:t,props:{role:`group`,"aria-labelledby":o,...a}});return(0,m.jsx)(Zy.Provider,{value:s,children:c})}),eb=p.forwardRef(function(e,t){let n=By()?.Group??$y;return(0,m.jsx)(n,{...e,ref:t})}),tb=p.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=$i(a),c=Qy();return X(()=>(c(s),()=>{c(e=>e===s?void 0:e)}),[c,s]),Mi(`div`,e,{ref:t,props:{id:s,"aria-hidden":!0,...o}})}),nb=p.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!0,style:l,...u}=e,{store:d}=Iy(),f=Xy({guess:!0,label:a}),p=$i(i),m=d.useState(`disabled`),h=d.useState(`isActive`,f.index),g=d.useState(`floatingNodeId`),_=d.useState(`itemProps`),v=s||m,{getItemProps:y,itemRef:b}=qy({closeOnClick:c,disabled:v,highlighted:h,id:p,store:d,nativeButton:o,nodeId:g,itemMetadata:Ky});return Mi(`div`,e,{state:{disabled:v,highlighted:h},props:[_,u,y],ref:[b,t,f.ref]})}),rb=p.forwardRef(function(e,t){let n=Uy(e,t);return n.visible?(0,m.jsx)(nb,{...e,ref:n.ref}):null}),ib=p.createContext(void 0);function ab(e){let t=p.useContext(ib);if(t===void 0&&!e)throw Error(ci(69));return t}var ob=p.createContext(void 0);function sb(){return p.useContext(ob)}function cb(e,t){let n=Ii(e.render);if(p.isValidElement(n)){let e=n.props;if(Object.hasOwn(e,`id`))return e.id??``}return e.id??t}function lb(e,t,n){let r=cb(e,t),i=r===t?void 0:r;return[r,p.useCallback(e=>n?.(e?i:void 0),[i,n])]}function ub(e,t,n){let r=Ii(e.render),i=p.isValidElement(r)?r.props:void 0,a=e[`aria-label`]??i?.[`aria-label`],o=e[`aria-labelledby`]??i?.[`aria-labelledby`];return o==null&&!a&&(o=t?t.id||void 0:n||void 0),o}var db=p.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,id:o,initialFocus:s,...c}=e,{store:l,defaultFloatingId:u,setRenderedFloatingId:d,virtualFocus:f,orientation:h}=Iy(),g=sb(),{side:_,align:v}=Py(),y=ab(!0)!=null,b=l.useState(`open`),x=l.useState(`transitionStatus`),S=l.useState(`popupProps`),C=l.useState(`mounted`),w=l.useState(`instantType`),T=l.useState(`activeTriggerElement`),E=l.useState(`parent`),D=l.useState(`lastOpenChangeReason`),O=l.useState(`rootId`),k=l.useState(`floatingRootContext`),A=l.useState(`floatingTreeRoot`),j=l.useState(`closeDelay`),M=l.useState(`hoverEnabled`),N=l.useState(`disabled`),P=l.useState(`openMethod`),F=l.useState(`activeTriggerId`),I=l.useState(`listElement`),[L,R]=lb(e,u,d),z=ub(e,T,F),B=E.type===`menu`?g:void 0,ee=E.type===`context-menu`,V=s??E.type!==`menu`;s===void 0&&I&&E.type!==`menu`&&(V=()=>l.state.activeIndex===null&&I),to({open:b,ref:l.context.popupRef,onComplete(){b&&l.context.onOpenChangeComplete?.(!0)}}),p.useEffect(()=>{function e(e){l.setOpen(!1,ea(e.reason,e.domEvent))}return A.events.on(`close`,e),()=>{A.events.off(`close`,e)}},[A.events,l]),Ru(k,{enabled:M&&!N&&!ee&&E.type!==`menubar`,closeDelay:j});let te=l.useStateSetter(`popupElement`),{parentVirtualFocusRef:ne,handleFocus:H}=(p.useContext(zy)?.useParentHandoff??pb)(l,E,b,f),re=Mi(`div`,e,{state:{transitionStatus:x,side:_,align:v,open:b,nested:E.type===`menu`,instant:w},ref:[t,l.context.popupRef,te,R],stateAttributesMapping:ts,props:[S,{id:L,...I?{role:`presentation`}:{role:`menu`,"aria-orientation":h===`horizontal`?`horizontal`:void 0,"aria-labelledby":z},onKeyDown(e){B?.onPopupKeyDown?.(e),y&&cf.has(e.key)&&e.stopPropagation()},onFocus:H},Ap(x),c,{"data-rootownerid":O}]}),U=E.type===void 0||ee;(T||E.type===`menubar`&&D!==`outside-press`)&&(U=!0);let ie=B?.getReturnElement??ne;return(0,m.jsx)(Al,{context:k,openInteractionType:P,modal:ee,disabled:!C,returnFocus:a??ie??U,explicitReturnFocus:a===void 0&&ie?!1:void 0,initialFocus:V,restoreFocus:!0,getInsideElements:E.type===void 0?()=>[l.context.beforeTriggerFocusGuardRef.current]:void 0,externalTree:E.type===`menubar`?void 0:A,previousFocusableElement:T,nextFocusableElement:E.type===void 0?l.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:l.context.beforeContentFocusGuardRef,children:re})}),fb={parentVirtualFocusRef:void 0,handleFocus:void 0};function pb(){return fb}var mb=p.forwardRef(function(e,t){let n=By()?.Popup??db;return(0,m.jsx)(n,{...e,ref:t})}),hb=p.createContext(void 0);function gb(){let e=p.useContext(hb);if(e===void 0)throw Error(ci(32));return e}var _b=p.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i,parent:a}=Iy();if(!(i.useState(`mounted`)||n))return null;let o=a.type===`menu`||a.type===`menubar`?`group`:void 0;return(0,m.jsx)(hb.Provider,{value:n,children:(0,m.jsx)(fl,{ref:t,...r,portalOwnerRole:o})})});function vb(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Y(i),[,o]=p.useState(0),s=Vr(bb).current,c=Vr(yb).current,l=p.useRef(0),u=p.useRef(!0),d=p.useRef(null),f=p.useRef(null),h=Y(()=>{u.current||(u.current=!0,o(e=>e+1))}),g=Y((e,t)=>{c.set(e,t),h()}),_=Y(e=>{c.delete(e),h()}),v=Y(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function y(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!Cb(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&wb(r,n)>0){t.disconnect(),h();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=Sb(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let b=Y(()=>{let[e,t]=xb(c),n=v(e),r=d.current,i=!r||r.length!==e.length||e.some((e,t)=>{let n=r[t];return e.index!==n.index||e.element!==n.element||e.registration.index!==n.registration.index||e.registration.metadata!==n.registration.metadata});y(t),d.current=e,u.current=!1,i&&(s.forEach(e=>e(n)),a(n))});X(()=>(!u.current&&d.current&&v(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,v]),X(()=>{u.current&&b()}),X(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let x=Y(e=>(s.add(e),()=>{s.delete(e)})),S=p.useMemo(()=>({register:g,unregister:_,subscribeMapChange:x,nextIndexRef:l}),[g,_,x,l]);return(0,m.jsx)(Jy.Provider,{value:S,children:t})}function yb(){return new Map}function bb(){return new Set}function xb(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>wb(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function Sb(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function Cb(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function wb(e,t){return e.nextElementSibling===t?-1:t.nextElementSibling===e?1:e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function Tb(e){let{store:t,domReference:n,positionerElement:r,open:i}=e,a=p.useRef(null),o=p.useRef(null),s=eo(r);X(()=>{i||(o.current?.abort(),o.current=null,t.state.instantType===`trigger-change`&&t.set(`instantType`,void 0))},[i,t]),X(()=>{let e=n,r=a.current;if(e&&(a.current=e),!r||!e||e===r||!t.select(`open`))return;t.set(`instantType`,void 0);let i=new AbortController;return o.current=i,s(()=>{t.select(`open`)&&t.set(`instantType`,`trigger-change`)},i.signal),()=>{i.abort()}},[n,s,t])}var Eb=20;function Db(e,t,n,r){let[i,a]=p.useState(!1);X(()=>{if(!e||!t||n==null){a(!1);return}let r=fi(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-Eb)},[e,t,n]),Ef(e&&(!t||i),r)}var Ob=p.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o,align:s,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:h=!1,disableAnchorTracking:g=!1,collisionAvoidance:_=al,style:v,...y}=e,{store:b,virtualFocus:x,syncHighlightedItem:S}=Iy(),C=gb(),w=Ry(!0),T=b.useState(`parent`),E=b.useState(`floatingRootContext`),D=b.useState(`floatingTreeRoot`),O=b.useState(`mounted`),k=b.useState(`open`),A=b.useState(`modal`),j=b.useState(`openMethod`),M=b.useState(`activeTriggerElement`),N=b.useState(`transitionStatus`),P=b.useState(`positionerElement`),F=b.useState(`instantType`),I=b.useState(`adaptiveOrigin`),L=b.useState(`lastOpenChangeReason`),R=b.useState(`floatingNodeId`),z=b.useState(`floatingParentNodeId`),B=E.useState(`domReferenceElement`),ee=n,V=c,te=l,ne=s,H=_;T.type===`context-menu`&&(ee=n??T.context?.anchor,ne??=`start`,!o&&ne!==`center`&&(te=e.alignOffset??2,V=e.sideOffset??-5));let re=o,U=ne;T.type===`menu`?(re??=`inline-end`,U??=`start`,H=e.collisionAvoidance??ol):T.type===`menubar`&&(re??=T.context.orientation===`vertical`?`inline-end`:`bottom`,U??=`start`);let ie=T.type===`context-menu`,W=Dp({anchor:ee,floatingRootContext:E,positionMethod:w?`fixed`:r,mounted:O,side:re,sideOffset:V,align:U,alignOffset:te,arrowPadding:ie?0:f,collisionBoundary:u,collisionPadding:d,sticky:h,nodeId:R,keepMounted:C,disableAnchorTracking:g,collisionAvoidance:H,shift:ie?{crossAxis:!(`side`in H&&H.side===`flip`),rootBoundary:`layoutViewport`}:void 0,externalTree:D,adaptiveOrigin:I,lazyFlip:x?`placement`:!1});p.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===R&&b.set(`hoverEnabled`,!1),e.nodeId!==R&&e.parentNodeId===b.select(`floatingParentNodeId`)&&b.setOpen(!1,ea(ha)))}return D.events.on(`menuopenchange`,e),()=>{D.events.off(`menuopenchange`,e)}},[b,D.events,R]),p.useEffect(()=>{if(b.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==b.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;b.setOpen(!1,ea(t))}return D.events.on(`menuopenchange`,e),()=>{D.events.off(`menuopenchange`,e)}},[D.events,b]);let G=Ka();p.useEffect(()=>{k||G.clear()},[k,G]),p.useEffect(()=>{function e(e){if(k&&e.nodeId===b.select(`floatingParentNodeId`)){if(e.target&&M&&M!==e.target){let e=b.select(`closeDelay`);e>0?G.isStarted()||G.start(e,()=>{b.setOpen(!1,ea(ha))}):b.setOpen(!1,ea(ha))}else G.clear()}}return D.events.on(`itemhover`,e),()=>{D.events.off(`itemhover`,e)}},[D.events,k,M,b,G]),p.useEffect(()=>{let e={open:k,nodeId:R,parentNodeId:z,reason:b.select(`lastOpenChangeReason`)};D.events.emit(`menuopenchange`,e)},[D.events,k,b,R,z]),Tb({store:b,domReference:B,positionerElement:P,open:k});let ae={open:k,side:W.side,align:W.align,anchorHidden:W.anchorHidden,nested:T.type===`menu`,instant:F},oe=T.type===`menubar`&&T.context.modal;Db(k&&(oe||A&&L!==`trigger-hover`),j===`touch`,P,M);let se=jp(e,ae,{styles:W.positionerStyles,transitionStatus:N,props:y,refs:[t,b.useStateSetter(`positionerElement`)],hidden:!O,inert:!k}),ce=O&&T.type!==`menu`&&(T.type!==`menubar`&&A&&L!==`trigger-hover`||T.type===`menubar`&&T.context.modal),le=null;return T.type===`menubar`?le=T.context.contentElement:T.type===void 0&&(le=M),(0,m.jsxs)(Ny.Provider,{value:W,children:[ce&&(0,m.jsx)(mf,{ref:T.type===`context-menu`||T.type===`nested-context-menu`?T.context.internalBackdropRef:null,inert:pf(!k),cutout:le}),(0,m.jsx)(bl,{id:R,children:(0,m.jsx)(vb,{elementsRef:b.context.itemDomElements,labelsRef:b.context.itemLabels,onMapChange:S,children:se})})]})}),kb=p.createContext(null);function Ab(e){let t=p.useContext(kb);if(t===null&&!e)throw Error(ci(5));return t}function jb(e){return e==null?na:e.type.startsWith(`key`)?fa:e.type.startsWith(`mouse`)||e.type.startsWith(`pointer`)?pa:na}var Mb={...ku,disabled:e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled,modal:e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0),openMethod:e=>e.openMethod,keyboardOpen:e=>e.keyboardOpen,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId,activeIndex:e=>e.activeIndex,listElement:e=>e.listElement,triggerControlsId:(e,t)=>{let n=ku.triggerPopupId(e,t);return n?e.listElement?.id||n:void 0},filterTriggerProps:e=>e.filterTriggerProps,inputProps:e=>e.inputProps,webkitAriaSelected:(e,t)=>Ao&&e.inputFocused&&t?!0:void 0,highlightedItemId:e=>e.highlightedItem?.id||void 0,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType===`trigger-change`&&!ku.open(e)?void 0:e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)}},Nb=class extends bu{constructor(e,t,n=!1){let r=new eu,i=Fb(r,t,n,e);super(i,Pb(r),Mb),this.observe(`parent`,e=>{e.type===`menu`?this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef:e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef)})}subscribeToParentMenu(){let e=this.state.parent;if(e.type!==`menu`)return;let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);return e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);(t!==i||n!==a||r!==o)&&(t=i,n=a,r=o,this.notifyAll())})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}setActiveIndex(e,t,n){if(this.state.activeIndex!==e){let r=(e===null?void 0:this.context.itemDomElements.current[e])===this.context.reportedItem;this.context.highlightReason=r?`none`:t,this.context.highlightEvent=r?void 0:n}this.set(`activeIndex`,e)}highlightItem(e,t,n){let r=this.context.itemDomElements.current.indexOf(e);r>-1&&this.setActiveIndex(r,t,n)}};function Pb(e){return{positionerRef:p.createRef(),popupRef:p.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},highlightReason:`none`,highlightEvent:void 0,reportedItem:void 0,allowMouseUpTriggerRef:{current:!1},virtualFocusRef:void 0,triggerFocusTargetRef:p.createRef(),beforeTriggerFocusGuardRef:p.createRef(),beforeContentFocusGuardRef:p.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function Fb(e,t,n=!1,r){return{...Cu(e,t,n),disabled:!1,modal:!0,openMethod:null,keyboardOpen:!1,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,listElement:null,filterTriggerProps:Oi,inputProps:Oi,inputFocused:!1,highlightedItem:void 0,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new ml,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Oi,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...r}}var Ib=p.createContext(null);function Lb(e,t){return(e===`trigger-press`||e===`item-press`)&&t?.detail===0}function Rb(e,t){return e===`list-navigation`||Lb(e,t)}var zb=lu(function(e){let{children:t,open:n,onOpenChange:r,onOpenChangeComplete:i,onItemHighlighted:a,defaultOpen:o=!1,disabled:s=!1,modal:c,loopFocus:l=!0,orientation:u=`vertical`,actionsRef:d,closeParentOnEsc:f=!1,handle:h,triggerId:g,defaultTriggerId:_=null,highlightItemOnHover:v=!0,isSubmenu:y=!1,virtualFocus:b=!1,virtualFocusRef:x,allowEscape:S=!0,resetOnPointerLeave:C=!0}=e,w=Ry(!0),T=Iy(!0),E=Ab(!0),D=T?.store,O=T?.virtualFocus??!1,k=p.useMemo(()=>y&&D?{type:`menu`,store:D}:E?{type:`menubar`,context:E}:w&&!D?{type:`context-menu`,context:w}:{type:void 0},[w,D,E,y]),A=$i(),j=$i(),[M,N]=p.useState(void 0),P=(M??j)||void 0,F=_l(),I=k.type===`menu`?k.store:void 0,L=(n??o)&&I?.state.transitionStatus===`starting`,R=Vr(()=>L?I?.state.instantType:void 0).current,z=Vr(()=>{let e=new Nb({open:o,openProp:n,activeTriggerId:_,triggerIdProp:g,parent:k,disabled:s,highlightItemOnHover:v,modal:k.type===void 0?c:void 0,rootId:A,instantType:R},P,F!=null);return e.context.virtualFocusRef=x,e}).current;z.useControlledProp(`openProp`,n),z.useControlledProp(`triggerIdProp`,g),z.useContextCallback(`onOpenChangeComplete`,i);let B=z.useState(`floatingTreeRoot`),ee=yl(B),V=z.useState(`open`),te=z.useState(`activeTriggerElement`),ne=z.useState(`positionerElement`),H=z.useState(`hoverEnabled`),re=z.useState(`disabled`),U=z.useState(`lastOpenChangeReason`),ie=z.useState(`parent`),W=z.useState(`activeIndex`),G=z.useState(`keyboardOpen`),ae=z.useState(`payload`),oe=z.useState(`floatingParentNodeId`),se=p.useRef(null),ce=p.useRef(ie.type!==`context-menu`),le=Ka(),ue=p.useRef(!0),de=Ka(),fe=oe!=null,{openMethod:pe,triggerProps:me}=Lf(V);z.useSyncedValues({disabled:s,highlightItemOnHover:v,modal:ie.type===void 0?c:void 0,openMethod:pe,rootId:A}),Xl(z);let{forceUnmount:he,transitionStatus:ge}=Zl(V,z,()=>{z.set(`allowMouseEnter`,!1)},L),_e=eo(z.context.popupRef);p.useEffect(()=>{if(R===void 0)return;let e=()=>{z.state.instantType===R&&z.set(`instantType`,void 0)};if(!V){e();return}if(ge!==void 0)return;if(z.context.popupRef.current==null){e();return}let t=new AbortController;return _e(e,t.signal),()=>{t.abort()}},[R,V,ge,_e,z]),X(()=>{w&&!T?z.update({parent:{type:`context-menu`,context:w},floatingNodeId:ee,floatingParentNodeId:F}):(T||!z.select(`activeTriggerElement`))&&z.update({floatingNodeId:ee,floatingParentNodeId:F})},[w,T,ee,F,te,z]),p.useEffect(()=>{V||(se.current=null),ie.type===`context-menu`&&(V?le.start(500,()=>{ce.current=!0}):(le.clear(),ce.current=!1))},[le,V,ie.type]),X(()=>{!V&&!H&&z.set(`hoverEnabled`,!0)},[V,H,z]);let ve=Y((e,t)=>{let n=t.reason;if(!e&&!z.select(`open`)||V===e&&t.trigger===te&&U===n)return;let i=ql(t);if(!e&&t.trigger==null&&(t.trigger=te??void 0),r?.(e,t),t.isCanceled)return;z.state.floatingRootContext.dispatchOpenChange(e,t);let a=t.event;if(e===!1&&n!==`item-press`&&a?.type===`click`&&a.pointerType===`touch`&&!ue.current)return;e&&n===`trigger-focus`?(ue.current=!1,de.start(300,()=>{ue.current=!0})):(ue.current=!0,de.clear());let o=!e&&(n===`escape-key`||n==null);se.current=t.event;let s=Kl(z.state,e,t.trigger,i());s.openChangeReason=n,s.keyboardOpen=e&&Rb(n,a),s.instantType=ie.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?`group`:Lb(n,a)?`click`:o?`dismiss`:void 0,z.update(s)}),ye=Rl({popupStore:z,floatingRootContext:z.state.floatingRootContext,floatingId:P,nested:F!=null,onOpenChange:ve}),be=ye.context.events;X(()=>{let e=({open:e,eventDetails:t})=>ve(e,t);return be.on(`setOpen`,e),()=>{be?.off(`setOpen`,e)}},[be,ve]),X(()=>z.subscribeToParentMenu(),[z]);let xe=p.useCallback(()=>{z.setOpen(!1,ea(_a))},[z]);p.useImperativeHandle(d,()=>({unmount:he,close:xe}),[he,xe]);let Se;ie.type===`context-menu`&&(Se=ie.context),p.useImperativeHandle(Se?.positionerRef,()=>ne,[ne]),p.useImperativeHandle(Se?.actionsRef,()=>({setOpen:ve}),[ve]);let Ce=Ll(ye,{enabled:!re,bubbles:{escapeKey:f&&ie.type===`menu`},outsidePress(){return ie.type!==`context-menu`||se.current?.type===`contextmenu`||ce.current},externalTree:fe?B:void 0}),we=pp(),Te=qu(ye,{enabled:!re,listRef:z.context.itemDomElements,activeIndex:W,virtual:b,nested:ie.type===`menubar`||!b&&ie.type!==void 0,parentOrientation:ie.type===`menubar`?ie.context.orientation:void 0,loopFocus:l,focusItemOnOpen:b?G:void 0,allowEscape:b&&l&&S,orientation:u,triggerOrientation:b?`vertical`:u,rtl:we===`rtl`,disabledIndices:Di,onNavigate(e,t){z.setActiveIndex(e,jb(t),t?.nativeEvent)},openOnArrowKeyDown:ie.type!==`context-menu`&&!(b&&y),externalTree:!b&&fe?B:void 0,nestedReturnFocusRef:I?.context.virtualFocusRef,focusItemOnHover:v,resetOnPointerLeave:C}),Ee=p.useCallback(e=>{z.context.typingRef.current=e},[z]),De=Ju(ye,{enabled:!re&&!b,listRef:z.context.itemLabels,elementsRef:z.context.itemDomElements,activeIndex:W,resetMs:500,onMatch:(e,t)=>{V&&e!==W&&z.setActiveIndex(e,fa,t.nativeEvent)},onTyping:Ee}),Oe=Y(a),ke=p.useRef(-1),Ae=Y(()=>{let e=z.state.activeIndex,t=e===null?void 0:z.context.itemDomElements.current[e]??void 0;if(t?.isConnected===!1)return;let n=t===void 0?-1:e;if(ke.current===n&&z.context.reportedItem===t)return;ke.current=n,z.context.reportedItem=t,b&&z.set(`highlightedItem`,t);let{highlightReason:r,highlightEvent:i}=z.context;z.context.highlightReason=na,z.context.highlightEvent=void 0,a&&Oe(t,ta(r,i,{label:t===void 0?void 0:z.context.itemLabels.current[n]??void 0}))});X(()=>{Ae()},[W,Ae]);let je=p.useMemo(()=>{if(!b)return Te.reference;if(!Te.trigger)return Oi;let{onFocus:e,...t}=Te.trigger;return t},[b,Te.reference,Te.trigger]);z.useSyncedValue(`inputProps`,b?Te.reference??Oi:Oi);let Me=p.useMemo(()=>{let e=Jr(De.reference,je,Ce.reference,{onMouseMove(){z.set(`allowMouseEnter`,!0)}},me);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=V,e},[z,De.reference,je,Ce.reference,me,V]),Ne=p.useMemo(()=>{let e=Jr(Te.trigger,Ce.trigger,me);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=!1,e},[Te.trigger,Ce.trigger,me]);Vr(()=>(z.update({inactiveTriggerProps:Ne}),null)),Ql(z,{floatingRootContext:ye,activeTriggerProps:Me,inactiveTriggerProps:Ne,popupProps:p.useMemo(()=>Jr(Bl,{onMouseMove(){z.set(`allowMouseEnter`,!0),ie.type===`menu`&&z.set(`hoverEnabled`,!1)},onClick(){z.select(`hoverEnabled`)&&z.set(`hoverEnabled`,!1)},onKeyDown(e){let t=z.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}},De.floating,Te.floating,Ce.floating),[ie.type,z,De.floating,Te.floating,Ce.floating]),itemProps:Te.item??Oi});let Pe=p.useMemo(()=>({store:z,parent:k,orientation:u,loopFocus:l,allowEscape:S,defaultFloatingId:j,setRenderedFloatingId:N,virtualFocus:b,parentVirtualFocus:O,syncHighlightedItem:Ae}),[z,k,u,l,S,j,b,O,Ae]),Fe=typeof t==`function`?t({payload:ae}):t,Ie=(0,m.jsxs)(Fy.Provider,{value:Pe,children:[h&&(0,m.jsx)(Ul,{handle:h,store:z}),Fe]});return(ie.type===void 0||ie.type===`context-menu`)&&(Ie=(0,m.jsx)(xl,{externalTree:B,children:Ie})),Ie});function Bb(e){let t=p.useContext(Ib);if(t===null)return(0,m.jsx)(zb,{...e});let n=t.Root;return(0,m.jsx)(Ib.Provider,{value:null,children:(0,m.jsx)(n,{...t.options,...e})})}var Vb=5;function Hb(e,t){let n=Ub(t);return e.clientX>=n.left-Vb&&e.clientX<=n.right+Vb&&e.clientY>=n.top-Vb&&e.clientY<=n.bottom+Vb}function Ub(e){let t=e.getBoundingClientRect(),n=gr(e);if(Mo)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}function Wb(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=ui(),{ref:i,index:a}=Xy(e),o=n===a,s=p.useRef(null),c=_i(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function Gb(e){let{render:t,className:n,style:r,state:i=Oi,props:a=Di,refs:o=Di,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=Wb({metadata:s});return Mi(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}function Kb(e){if(br(e)&&e.hasAttribute(`data-rootownerid`))return e.getAttribute(`data-rootownerid`);if(!Mr(e))return Kb(Fr(e))}function qb(e,t){function n(n,r,i){let a=n.currentTarget;Za.flushSync(()=>{e.setOpen(!1,ea(la,n.nativeEvent,a))}),yc(a.isConnected?a:t.current,r,i)?.focus()}function r(t){n(t,-1,e.select(`positionerElement`))}function i(t){let r=e.select(`positionerElement`);r&&bc(t,r)?e.context.beforeContentFocusGuardRef.current?.focus():n(t,1,r)}return{handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}function Jb(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,i=p.useRef(!1);return p.useMemo(()=>t?{onMouseDown:e=>{(n===`open`&&!r||n===`close`&&r)&&(i.current=!0,fi(e.currentTarget).addEventListener(`click`,()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:Oi,[t,n,r])}var Yb=uu(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,id:s,openOnHover:c,delay:l=100,closeDelay:u=0,handle:d,payload:f,...h}=e,g=Iy(!0),_=Au(d)??g?.store;if(!_)throw Error(ci(85));let v=$i(s),y=_.useState(`isTriggerActive`,v),b=_.useState(`floatingRootContext`),x=_.useState(`isOpenedByTrigger`,v),S=_.useState(`triggerControlsId`,v),C=p.useRef(null),w=Zb(),T=ui(!0),E=vl(),D=p.useMemo(()=>E??new ml,[E]),{registerTrigger:O,isMountedByThisTrigger:k}=Yl(v,C,_,{payload:f,closeDelay:u,parent:w,floatingTreeRoot:D,floatingNodeId:yl(D),floatingParentNodeId:_l(),keyboardEventRelay:T?.relayKeyboardEvent}),A=w.type===`menubar`,j=_.useState(`disabled`),M=a||j||A&&w.context.disabled,{getButtonProps:N,buttonRef:P}=mi({disabled:M,native:o});p.useEffect(()=>{!x&&w.type===void 0&&(_.context.allowMouseUpTriggerRef.current=!1)},[_,x,w.type]);let F=p.useRef(null),I=Ka(),L=Y(e=>{if(!F.current)return;I.clear(),_.context.allowMouseUpTriggerRef.current=!1;let t=e.target;Z(F.current,t)||Z(_.select(`positionerElement`),t)||t===F.current||t!=null&&Kb(t)===_.select(`rootId`)||Hb(e,F.current)||D.events.emit(`close`,{domEvent:e,reason:ma})});p.useEffect(()=>{let e=fi(F.current);if(x&&_.select(`lastOpenChangeReason`)===`trigger-hover`)return e.addEventListener(`mouseup`,L,{once:!0}),()=>{e.removeEventListener(`mouseup`,L)}},[x,L,_]);let R=A&&w.context.hasSubmenuOpen,z=Bu(b,{enabled:(c??R)&&!M&&(!A||R&&!k),handleClose:td({blockPointerEvents:!A}),mouseOnly:!0,move:!1,restMs:w.type===void 0?l:void 0,delay:{close:u},triggerElementRef:C,externalTree:D,isActiveTrigger:y,isClosing:()=>_.select(`transitionStatus`)===`ending`}),B=Xb(x,_.select(`lastOpenChangeReason`)),ee=jl(b,{enabled:!M,event:x&&A?`click`:`mousedown`,toggle:!0,ignoreMouse:!1,stickIfOpen:w.type===void 0&&B}),V=Mu(b,{enabled:!M&&R}),te=Jb({open:x,enabled:A,mouseDownAction:`open`}),ne=p.useMemo(()=>Jr(V.reference,ee.reference),[V.reference,ee.reference]),H=_.useState(`triggerProps`,k),re=_.useState(`filterTriggerProps`),{handlePreFocusGuardFocus:U,handleFocusTargetFocus:ie}=qb(_,C),W={disabled:M,open:x},G=[F,t,P,O,C],ae=[ne,z??Oi,H,{"aria-haspopup":`menu`,"aria-controls":S,id:v,onMouseDown:e=>{_.select(`open`)||(I.start(200,()=>{_.context.allowMouseUpTriggerRef.current=!0}),fi(e.currentTarget).addEventListener(`mouseup`,L,{once:!0}))}},re,A?{role:`menuitem`}:{},te,h,N],oe=Mi(`button`,e,{enabled:!A,stateAttributesMapping:$o,state:W,ref:G,props:ae});return A?(0,m.jsx)(Gb,{tag:`button`,render:n,className:r,style:i,state:W,refs:G,props:ae,stateAttributesMapping:$o}):x?(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)(Hc,{ref:_.context.beforeTriggerFocusGuardRef,onFocus:U},`${v}-pre-focus-guard`),(0,m.jsx)(p.Fragment,{children:oe},v),(0,m.jsx)(Hc,{ref:_.context.triggerFocusTargetRef,onFocus:ie},`${v}-post-focus-guard`)]}):(0,m.jsx)(p.Fragment,{children:oe},v)});function Xb(e,t){let n=Ka(),[r,i]=p.useState(!1);return X(()=>{e&&t===`trigger-hover`?(i(!0),n.start(500,()=>{i(!1)})):e||(n.clear(),i(!1))},[e,t,n]),r}function Zb(){let e=Ab(!0);return p.useMemo(()=>e?{type:`menubar`,context:e}:{type:void 0},[e])}function Qb({...e}){return(0,m.jsx)(Bb,{"data-slot":`dropdown-menu`,...e})}function $b({...e}){return(0,m.jsx)(Yb,{"data-slot":`dropdown-menu-trigger`,...e})}function ex({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:i,...a}){return(0,m.jsx)(_b,{children:(0,m.jsx)(Ob,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,m.jsx)(mb,{"data-slot":`dropdown-menu-content`,className:J(`cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,i),...a})})})}function tx({...e}){return(0,m.jsx)(eb,{"data-slot":`dropdown-menu-group`,...e})}function nx({className:e,inset:t,...n}){return(0,m.jsx)(tb,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:J(`px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8`,e),...n})}function rx({className:e,inset:t,variant:n=`default`,...r}){return(0,m.jsx)(rb,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:J(`group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function ix({className:e,...t}){return(0,m.jsx)(wc,{"data-slot":`dropdown-menu-separator`,className:J(`-mx-1 my-1 h-px bg-border`,e),...t})}function ax({className:e,...t}){return(0,m.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:J(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,e),...t})}function ox(e){let[t,n]=(0,p.useState)([]);return(0,p.useEffect)(()=>{if(!e)return;let t=!0;return ym(e).then(e=>{t&&n(e)}),()=>{t=!1}},[e]),t}function sx({brand:e,current:t,config:n,onSearch:r}){let i=ox(n);return!n||i.length===0?(0,m.jsx)(m.Fragment,{children:e}):(0,m.jsx)(`div`,{"data-agora-switcher":``,className:`-mx-2 -mt-2 -mb-1.5 min-w-0`,children:(0,m.jsxs)(Qb,{children:[(0,m.jsxs)($b,{"aria-label":`${t.title}: switch console`,className:`flex w-full min-w-0 items-center gap-2.5 rounded-lg border border-transparent p-2 text-left outline-none transition-colors hover:border-border hover:bg-sidebar-accent/60 focus-visible:ring-2 focus-visible:ring-ring/60 data-popup-open:border-border data-popup-open:bg-sidebar-accent/60`,children:[(0,m.jsx)(`span`,{className:`min-w-0 flex-1`,children:e}),(0,m.jsx)(_t,{className:`size-3 shrink-0 text-faint`})]}),(0,m.jsxs)(ex,{align:`start`,className:`w-64 border border-border bg-popover shadow-(--agora-shadow) ring-0`,children:[(0,m.jsxs)(tx,{children:[(0,m.jsx)(nx,{className:`text-[10px] uppercase tracking-[0.16em] text-dim`,children:`Consoles`}),(0,m.jsxs)(rx,{disabled:!0,"aria-current":`page`,className:`data-disabled:opacity-100`,children:[(0,m.jsx)(Rt,{icon:t.icon,accent:`var(--agora-accent)`}),(0,m.jsx)(cx,{title:t.title,pkg:t.package}),(0,m.jsx)(yt,{"aria-label":`Current console`,className:`ml-auto text-brand`})]}),i.map(e=>(0,m.jsxs)(rx,{render:(0,m.jsx)(`a`,{href:e.href}),children:[(0,m.jsx)(Rt,{icon:e.icon,accent:Lt(e.id,e.icon)}),(0,m.jsx)(cx,{title:e.title,pkg:e.package})]},e.id))]}),r&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ix,{}),(0,m.jsxs)(rx,{onClick:r,children:[(0,m.jsx)(mt,{className:`text-dim`}),`Search all consoles`,(0,m.jsx)(ax,{className:`mono`,children:`⌘K`})]})]})]})]})})}function cx({title:e,pkg:t}){return(0,m.jsxs)(`span`,{className:J(`flex min-w-0 flex-col leading-tight`),children:[(0,m.jsx)(`span`,{className:`truncate`,children:e}),t&&(0,m.jsx)(`span`,{className:`mono truncate text-[10px] text-dim`,children:t})]})}var lx=p.createContext(void 0);function ux(){let e=p.useContext(lx);if(e===void 0)throw Error(ci(13));return e}var dx={imageLoadingStatus:()=>null},fx=p.forwardRef(function(e,t){let{className:n,render:r,style:i,...a}=e,[o,s]=p.useState(`idle`),c={imageLoadingStatus:o},l=p.useMemo(()=>({imageLoadingStatus:o,setImageLoadingStatus:s}),[o,s]),u=Mi(`span`,e,{state:c,ref:t,props:a,stateAttributesMapping:dx});return(0,m.jsx)(lx.Provider,{value:l,children:u})}),px=p.forwardRef(function(e,t){let{className:n,render:r,delay:i=0,style:a,...o}=e,{imageLoadingStatus:s}=ux(),[c,l]=p.useState(i===0),u=Ka();return p.useEffect(()=>(i>0?u.start(i,()=>l(!0)):l(!0),u.clear),[u,i]),Mi(`span`,e,{state:{imageLoadingStatus:s},ref:t,props:o,stateAttributesMapping:dx,enabled:s!==`loaded`&&(i===0||c)})});function mx({className:e,size:t=`default`,...n}){return(0,m.jsx)(fx,{"data-slot":`avatar`,"data-size":t,className:J(`group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten`,e),...n})}function hx({className:e,...t}){return(0,m.jsx)(px,{"data-slot":`avatar-fallback`,className:J(`flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs`,e),...t})}function gx(e){let t=e.label.includes(`@`)?e.label.split(`@`)[0]??``:e.label,n=t.split(/[\s._-]+/).filter(Boolean);return(n.length>1?`${n[0]?.[0]??``}${n[1]?.[0]??``}`:t.slice(0,2)).toUpperCase()||`?`}function _x({viewer:e,signOut:t}){let{theme:n,toggle:r}=ft();return(0,m.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[e&&(0,m.jsxs)(`div`,{className:`flex items-center gap-[9px] px-2 py-1.5`,"data-agora-viewer":``,children:[(0,m.jsx)(mx,{className:`size-7 after:hidden`,children:(0,m.jsx)(hx,{className:`border border-brand-border bg-brand-soft text-[10.5px] font-semibold text-brand`,children:gx(e)})}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1 leading-[normal]`,children:[(0,m.jsx)(`div`,{className:`truncate text-[11px] font-medium text-fg`,title:e.email??e.label,children:e.label}),(e.role||e.email&&e.email!==e.label)&&(0,m.jsx)(`div`,{className:`mono truncate text-[9.5px] text-faint`,children:e.role??e.email})]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(Wi,{variant:`ghost`,size:`sm`,className:`flex-1 justify-start gap-2`,onClick:r,"aria-label":n===`dark`?`Switch to light mode`:`Switch to dark mode`,children:[n===`dark`?(0,m.jsx)(bt,{className:`size-[13px]`}):(0,m.jsx)(xt,{className:`size-[13px]`}),n===`dark`?`Light mode`:`Dark mode`]}),t&&(`action`in t?(0,m.jsxs)(`form`,{method:`post`,action:t.action,className:`contents`,children:[t.csrfToken&&(0,m.jsx)(`input`,{type:`hidden`,name:`_csrf`,value:t.csrfToken}),(0,m.jsx)(Wi,{type:`submit`,variant:`ghost`,size:`sm`,"aria-label":`Sign out`,title:`Sign out`,className:`text-dim`,children:(0,m.jsx)(St,{className:`size-[13px]`})})]}):(0,m.jsx)(Wi,{variant:`ghost`,size:`sm`,"aria-label":`Sign out`,title:`Sign out`,className:`text-dim`,nativeButton:!1,render:(0,m.jsx)(`a`,{href:t.href}),children:(0,m.jsx)(St,{className:`size-[13px]`})}))]})]})}function vx({brand:e}){return(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,m.jsxs)(`div`,{className:`relative grid size-[30px] shrink-0 place-items-center rounded-md border border-brand-border bg-brand-soft text-brand [&_svg]:size-4`,children:[e.mark,(0,m.jsx)(`span`,{className:`agora-ring`,"aria-hidden":!0})]}),(0,m.jsxs)(`div`,{className:`min-w-0 overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`truncate text-sm leading-[normal] font-bold tracking-[0.03em] text-fg`,children:e.name}),e.subtitle&&(0,m.jsx)(`div`,{className:`mt-px truncate text-[10px] leading-[normal] font-medium uppercase tracking-[0.08em] text-faint`,children:e.subtitle})]})]})}function yx({nav:e,activeId:t}){let{isMobile:n,setOpenMobile:r}=qp(),i=(0,p.useCallback)(()=>{n&&r(!1)},[n,r]);return(0,m.jsx)(m.Fragment,{children:e.filter(e=>e.items.length>0).map(e=>e.collapsible?(0,m.jsx)(po,{defaultOpen:e.defaultOpen??!0,children:(0,m.jsxs)(tm,{className:`px-2.5 py-0`,children:[(0,m.jsxs)(nm,{className:J(bx,`p-0`),render:(0,m.jsx)(mo,{className:`flex w-full items-center gap-1 rounded-md px-2 pt-3 pb-[5px] text-left uppercase hover:text-dim`}),children:[e.section,(0,m.jsx)(_t,{className:`ml-auto size-3! -rotate-90 transition-transform in-data-panel-open:rotate-0`})]}),(0,m.jsx)(ho,{children:(0,m.jsx)(rm,{children:(0,m.jsx)(xx,{items:e.items,activeId:t,after:i})})})]})},e.section):(0,m.jsxs)(tm,{className:`px-2.5 py-0`,children:[(0,m.jsx)(nm,{className:bx,children:e.section}),(0,m.jsx)(rm,{children:(0,m.jsx)(xx,{items:e.items,activeId:t,after:i})})]},e.section))})}var bx=`h-auto px-2 pt-3 pb-[5px] text-[9.5px] leading-[normal] font-semibold uppercase tracking-[0.14em] text-faint`;function xx({items:e,activeId:t,after:n}){return(0,m.jsx)(im,{className:`gap-0`,children:e.map(e=>{let r=e.id===t,i=(0,m.jsxs)(m.Fragment,{children:[e.icon,(0,m.jsx)(`span`,{children:e.label})]});return(0,m.jsxs)(am,{children:[e.href?(0,m.jsx)(sm,{isActive:r,"aria-current":r?`page`:void 0,className:Sx,render:(0,m.jsx)(`a`,{href:e.href,onClick:t=>{e.onSelect&&(t.preventDefault(),e.onSelect()),n()}}),children:i}):(0,m.jsx)(sm,{isActive:r,"aria-current":r?`page`:void 0,className:Sx,onClick:()=>{e.onSelect?.(),n()},children:i}),e.badge!==void 0&&(0,m.jsx)(cm,{className:`mono tnum text-[10px]`,children:e.badge})]},e.id)})})}var Sx=`h-auto gap-[9px] rounded-md border border-transparent px-[9px] py-[7px] text-[12.5px] leading-[normal] font-medium text-dim transition-colors hover:bg-hover hover:text-fg data-active:border-brand-border data-active:bg-brand-soft data-active:font-medium data-active:text-fg [&_svg]:size-[15px]! [&_svg]:text-faint hover:[&_svg]:text-dim data-active:[&_svg]:text-brand`;function Cx({title:e,actions:t,search:n}){return(0,m.jsxs)(`header`,{className:`sticky top-0 z-20 flex h-(--agora-topbar-h) shrink-0 items-center gap-3 border-b border-border bg-(--agora-topbar) px-3 backdrop-blur-md md:px-5`,children:[(0,m.jsx)(Xp,{className:`-ml-1 text-dim md:hidden`}),(0,m.jsx)(`div`,{className:`min-w-0 truncate text-sm font-semibold text-fg`,children:e}),(0,m.jsxs)(`div`,{className:`ml-auto flex min-w-0 items-center gap-2`,children:[t,n]})]})}function wx({brand:e,nav:t,activeId:n,shell:r,title:i,actions:a,children:o,searchPlaceholder:s,contentClassName:c,commands:l}){let[u,d]=(0,p.useState)(!1),f=r.search!==void 0||(l?.length??0)>0;Oy(f,d);let h=(0,p.useCallback)(()=>d(!0),[]);return(0,m.jsxs)(Ip,{delay:150,children:[(0,m.jsx)(`div`,{className:`agora-glow`,"aria-hidden":!0}),(0,m.jsxs)(Jp,{className:`relative z-[1] h-svh min-h-0 overflow-hidden`,style:{"--sidebar-width":`var(--agora-sidebar-w)`},children:[(0,m.jsxs)(Yp,{className:`border-sidebar-border [&_[data-slot=sidebar-inner]]:backdrop-blur-md`,children:[(0,m.jsx)(Qp,{className:`border-b border-sidebar-border px-[18px] pt-[18px] pb-3.5`,children:(0,m.jsx)(sx,{brand:(0,m.jsx)(vx,{brand:e}),current:e.current,config:r.switcher,...f?{onSearch:h}:{}})}),(0,m.jsx)(em,{className:`pt-2.5 pb-2`,children:(0,m.jsx)(`nav`,{"aria-label":`Console`,children:(0,m.jsx)(yx,{nav:t,activeId:n})})}),(0,m.jsx)($p,{className:`border-t border-sidebar-border px-3.5 py-3`,children:(0,m.jsx)(_x,{...r.viewer?{viewer:r.viewer}:{},...r.signOut?{signOut:r.signOut}:{}})})]}),(0,m.jsxs)(Zp,{className:`min-h-0 min-w-0 overflow-hidden bg-transparent`,children:[(0,m.jsx)(Cx,{title:i,actions:a,search:f?(0,m.jsx)(ky,{onOpen:h,label:r.search?`Search all consoles`:`Search`}):void 0}),(0,m.jsx)(`div`,{className:J(`relative min-h-0 flex-1 overflow-y-auto`,c),children:o})]})]}),f&&(0,m.jsx)(My,{config:r.search,commands:l,open:u,onOpenChange:d,...s?{placeholder:s}:{}})]})}function Tx({children:e,className:t}){return(0,m.jsx)(`div`,{className:J(`flex flex-col gap-4 px-4 pt-5 pb-16 md:px-6 md:pt-6`,t),children:e})}function Ex(e){return encodeURIComponent(String(e))}function Dx(e){let t=[];for(let[n,r]of Object.entries(e))if(r!=null){if(Array.isArray(r))for(let e of r)t.push(`${Ex(n)}[]=${Ex(e)}`);else if(typeof r==`object`)for(let[e,i]of Object.entries(r))i!=null&&t.push(`${Ex(n)}[${Ex(e)}]=${Ex(i)}`);else t.push(`${Ex(n)}=${Ex(r)}`)}return t.join(`&`)}function Ox(e){let t=[];return kx(e,`where`,t),t.join(`&`)}function kx(e,t,n){for(let r=0;r<e.length;r++){let i=e[r],a=`${t}[${r}]`;if(n.push(`${a}[field]=${Ex(i.field)}`),n.push(`${a}[operator]=${Ex(i.operator)}`),i.value!==void 0){if(Array.isArray(i.value))for(let e=0;e<i.value.length;e++)n.push(`${a}[value][${e}]=${Ex(i.value[e])}`);else n.push(`${a}[value]=${Ex(i.value)}`)}i.AND&&i.AND.length>0&&kx(i.AND,`${a}[AND]`,n),i.OR&&i.OR.length>0&&kx(i.OR,`${a}[OR]`,n)}}var Ax=[`equals`,`notEquals`,`contains`,`notContains`,`iContains`,`startsWith`,`endsWith`,`gt`,`gte`,`lt`,`lte`,`between`,`notBetween`,`in`,`notIn`,`isAnyOf`,`isEmpty`,`isNotEmpty`,`isNull`,`isNotNull`,`exists`,`notExists`],jx=[`equals`,`notEquals`,`gt`,`gte`,`lt`,`lte`],Mx=[`contains`,`notContains`,`iContains`,`startsWith`,`endsWith`],Nx=[`in`,`notIn`,`isAnyOf`],Px=[`between`,`notBetween`],Fx=[`isNull`,`isNotNull`,`isEmpty`,`isNotEmpty`,`exists`,`notExists`],Ix=[`gt`,`gte`,`lt`,`lte`],Lx=new Set(jx),Rx=new Set(Mx),zx=new Set(Nx),Bx=new Set(Px),Vx=new Set(Fx),Hx=new Set(Ix);function Ux(e,t){if(Vx.has(e)){if(t!=null)throw Error(`Operator "${e}" does not accept a value.`)}else if(Rx.has(e)){if(typeof t!=`string`)throw Error(`Operator "${e}" expects a string value.`)}else if(Bx.has(e)){if(!Array.isArray(t)||t.length!==2)throw Error(`Operator "${e}" expects [low, high] tuple.`)}else if(zx.has(e)){if(!Array.isArray(t))throw Error(`Operator "${e}" expects an array value.`)}else if(Lx.has(e)&&Array.isArray(t))throw Error(`Operator "${e}" expects a scalar value, not an array. Use "in" for arrays.`)}function Wx(e){if(!Hx.has(e))throw Error(`Operator "${e}" should use where() (replace), not add(). add() is for range operators (gt, gte, lt, lte) on the same field.`)}var Gx=class e{conditions=[];groups=[];extra={};includes=[];searchTerm;sorts=[];distinctFields=[];groupByCountSpec;pagination;cursor;version=0;snapshot=null;listeners=new Set;where(e,t,n){if(this.conditions=this.conditions.filter(t=>t.field!==e),n!==void 0){let r=t;Ux(r,n),this.conditions.push({field:e,operator:r,value:n})}else Array.isArray(t)?this.conditions.push({field:e,operator:`in`,value:t}):typeof t==`string`&&[`isNull`,`isNotNull`,`isEmpty`,`isNotEmpty`,`exists`,`notExists`].includes(t)?(Ux(t,void 0),this.conditions.push({field:e,operator:t,value:void 0})):this.conditions.push({field:e,operator:`equals`,value:t});return this.notify(),this}whereDynamic(e,t,n){if(!Ax.includes(t))throw Error(`Unknown filter operator "${String(t)}".`);return Ux(t,n),this.conditions=this.conditions.filter(t=>t.field!==e),this.conditions.push({field:e,operator:t,value:Vx.has(t)?void 0:n}),this.notify(),this}add(e,t,n){return Wx(t),Ux(t,n),this.conditions.push({field:e,operator:t,value:n}),this.notify(),this}remove(e){return this.conditions=this.conditions.filter(t=>t.field!==e),this.notify(),this}clear(){return this.conditions=[],this.groups.length=0,this.extra={},this.includes=[],this.searchTerm=void 0,this.sorts=[],this.distinctFields=[],this.groupByCountSpec=void 0,this.pagination=void 0,this.cursor=void 0,this.notify(),this}or(t){let n=new e;return t(n),this.groups.push({type:`OR`,conditions:n.conditions}),this.notify(),this}and(t){let n=new e;return t(n),this.groups.push({type:`AND`,conditions:n.conditions}),this.notify(),this}equals(e,t){return this.where(e,`equals`,t)}notEquals(e,t){return this.where(e,`notEquals`,t)}contains(e,t){return this.where(e,`contains`,t)}in(e,t){return this.where(e,`in`,t)}notIn(e,t){return this.where(e,`notIn`,t)}between(e,t,n){return this.where(e,`between`,[t,n])}gt(e,t){return this.where(e,`gt`,t)}gte(e,t){return this.where(e,`gte`,t)}lt(e,t){return this.where(e,`lt`,t)}lte(e,t){return this.where(e,`lte`,t)}isNull(e){return this.where(e,`isNull`)}isNotNull(e){return this.where(e,`isNotNull`)}isEmpty(e){return this.where(e,`isEmpty`)}isNotEmpty(e){return this.where(e,`isNotEmpty`)}startsWith(e,t){return this.where(e,`startsWith`,t)}endsWith(e,t){return this.where(e,`endsWith`,t)}addGte(e,t){return this.add(e,`gte`,t)}addLte(e,t){return this.add(e,`lte`,t)}addGt(e,t){return this.add(e,`gt`,t)}addLt(e,t){return this.add(e,`lt`,t)}set(e,t){return this.extra[e]=t,this.notify(),this}include(...e){for(let t of e)typeof t==`string`&&(this.includes.includes(t)||this.includes.push(t));return this.notify(),this}search(e){return typeof e==`string`&&(this.searchTerm=e,this.notify()),this}distinct(...e){for(let t of e)typeof t==`string`&&(this.distinctFields.includes(t)||this.distinctFields.push(t));return this.notify(),this}groupByCount(e,t={}){return typeof e==`string`&&e!==``&&(this.groupByCountSpec={field:e,...t.limit!==void 0&&{limit:t.limit},...t.offset!==void 0&&{offset:t.offset},...t.search!==void 0&&{search:t.search}}),this.notify(),this}sort(e,t=`asc`){return this.sorts=this.sorts.filter(t=>t.field!==e),this.sorts.push({field:e,direction:t}),this.notify(),this}sortDynamic(e,t=`asc`){return this.sort(e,t)}sortDesc(e){return this.sort(e,`desc`)}sortAsc(e){return this.sort(e,`asc`)}page(e,t=25){if(!Number.isInteger(e)||e<1)throw RangeError(`page must be an integer >= 1 (pages are 1-based), got ${e}`);if(!Number.isInteger(t)||t<1)throw RangeError(`size must be an integer >= 1, got ${t}`);return this.pagination={page:e,size:t},this.cursor=void 0,this.notify(),this}after(e){return this.setCursor(`after`,e),this}before(e){return this.setCursor(`before`,e),this}first(e){return this.setCursorSize(`first`,e),this}last(e){return this.setCursorSize(`last`,e),this}setCursor(e,t){if(typeof t!=`string`||t.length===0)throw TypeError(`${e} must be a non-empty cursor string, got ${String(t)}`);let{first:n,last:r}=this.cursor??{};this.cursor={[e]:t,...n!==void 0&&{first:n},...r!==void 0&&{last:r}},this.pagination=void 0,this.notify()}setCursorSize(e,t){if(!Number.isInteger(t)||t<1)throw RangeError(`${e} must be an integer >= 1, got ${t}`);let{after:n,before:r}=this.cursor??{};this.cursor={...n!==void 0&&{after:n},...r!==void 0&&{before:r},[e]:t},this.pagination=void 0,this.notify()}notify(){this.version++,this.snapshot=null;for(let e of this.listeners)e()}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>(this.snapshot===null&&(this.snapshot=this.build()),this.snapshot);getVersion(){return this.version}build(){let e=[];for(let t of this.conditions)e.push({field:t.field,operator:t.operator,value:t.value});for(let t of this.groups){let n=t.conditions.map(e=>({field:e.field,operator:e.operator,value:e.value}));t.type===`OR`?e.push({field:``,operator:`equals`,value:void 0,OR:n}):e.push({field:``,operator:`equals`,value:void 0,AND:n})}let t={...this.extra,filter:{where:e}};return this.includes.length>0&&(t.include=[...this.includes]),this.searchTerm!==void 0&&(t.search=this.searchTerm),this.sorts.length>0&&(t.sort=[...this.sorts]),this.distinctFields.length>0&&(t.distinct=[...this.distinctFields]),this.groupByCountSpec!==void 0&&(t.groupByCount={...this.groupByCountSpec}),this.pagination!==void 0&&(t.paginate={...this.pagination}),this.cursor!==void 0&&Object.assign(t,this.cursor),t}toQueryString(){let e=[],t;if(this.groups.length===0){let e=this.toFlatObject();t=Dx(Object.fromEntries(Object.entries(e).map(([e,t])=>[`filter[${e}]`,t])))}else t=Ox(this.build().filter.where);if(t&&e.push(t),this.includes.length>0&&e.push(`include=${encodeURIComponent(this.includes.join(`,`))}`),this.searchTerm!==void 0&&e.push(`search=${encodeURIComponent(this.searchTerm)}`),this.sorts.length>0){let t=this.sorts.map(e=>e.direction===`desc`?`-${e.field}`:e.field).join(`,`);e.push(`sort=${encodeURIComponent(t)}`)}if(this.distinctFields.length>0&&e.push(`distinct=${encodeURIComponent(this.distinctFields.join(`,`))}`),this.groupByCountSpec!==void 0){let{field:t,limit:n,offset:r,search:i}=this.groupByCountSpec,a=[[`groupByCount[field]`,t]];n!==void 0&&a.push([`groupByCount[limit]`,n]),r!==void 0&&a.push([`groupByCount[offset]`,r]),i!==void 0&&a.push([`groupByCount[search]`,i]);let o=Dx(Object.fromEntries(a));o&&e.push(o)}if(this.pagination!==void 0&&(e.push(`page=${encodeURIComponent(String(this.pagination.page))}`),e.push(`size=${encodeURIComponent(String(this.pagination.size))}`)),this.cursor!==void 0)for(let t of[`after`,`before`,`first`,`last`]){let n=this.cursor[t];n!==void 0&&e.push(`${t}=${encodeURIComponent(String(n))}`)}let n=Dx(this.extra);return n&&e.push(n),e.join(`&`)}toFlatObject(){let e={};for(let t of this.conditions)if(t.operator===`equals`)e[t.field]=t.value;else if(t.operator===`in`)e[t.field]=t.value;else{let n=e[t.field];typeof n==`object`&&n&&!Array.isArray(n)?n[t.operator]=t.value:e[t.field]={[t.operator]:t.value}}return e}},Kx=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`]);function qx(e,t,n){if(n!==void 0){if(Array.isArray(n)){if(n.length===0)return;e.where(t,n.length===1?n[0]:n)}else n!==``&&e.where(t,n)}}function Jx(e,t={},n){let r=new Gx;qx(r,`status`,e.status),qx(r,`workflow`,e.workflow),qx(r,`tag`,e.tag),qx(r,`namespace`,e.namespace),e.origin&&r.where(`origin`,e.origin);let i=[];for(let t of e.attr??[]){let[e,n,...r]=t.split(`:`);e&&Kx.has(n??``)&&r.length!==0&&i.push(t)}return i.length>0&&r.where(`attr`,i.length===1?i[0]:i),t.page!==void 0&&r.set(`page`,t.page),t.size!==void 0&&r.set(`size`,t.size),n&&r.groupByCount(n.field,{...n.limit!==void 0&&{limit:n.limit},...n.offset!==void 0&&{offset:n.offset},...n.search?.trim()&&{search:n.search.trim()}}),r.toQueryString()}function Yx(e){if(typeof e==`object`&&e&&`durationMs`in e){let t=e.durationMs;if(typeof t==`number`)return t}}function Xx(e){let t=new Map,n=[];for(let r of e){let e=r.subId??r.name??r.process;if(e===void 0){n.push(r);continue}let i=t.get(e),a=i??{id:e,name:r.name??e,phases:[],logs:[]};i||t.set(e,a),r.name!==void 0&&(a.name=r.name),r.group!==void 0&&(a.group=r.group),r.status===void 0?r.phase===void 0?a.logs.push(r):a.phases.push(r):(a.terminal=r,a.status=r.status)}return{subs:[...t.values()].map(e=>{let t=[...e.phases,...e.logs],n=[...t,...e.terminal?[e.terminal]:[]].map(e=>e.at),r=n.length?n.reduce((e,t)=>t<e?t:e,1/0):void 0,i=Yx(e.terminal?.data)??(e.terminal&&r!==void 0&&t.length>0?e.terminal.at-r:void 0);return{...e,startedAt:r,durationMs:i}}),stepLogs:n}}var Zx={kind:`all`};function Qx(e){return e?.trim()||void 0}function $x(e){return Qx(e)===void 0}function eS(e){let t=Qx(e);if(t===void 0)return`app`;let n=t.lastIndexOf(`/`);return n===-1?t:t.slice(n+1)||t}function tS(e,t){return e.kind===t.kind?e.kind===`origin`&&t.kind===`origin`?e.origin===t.origin:!0:!1}function nS(e){return e.kind===`origin`?`origin:${e.origin}`:e.kind}function rS(e,t){if(t.kind===`all`)return!0;let n=Qx(e.origin);return t.kind===`unknown`?n===void 0:n===t.origin}function iS(e,t){return t.kind===`all`?[...e]:e.filter(e=>rS(e,t))}var aS=`The app's own workflows: runs with no package origin, i.e. not declared by any library.`;function oS(e){let t=new Map,n=0;for(let r of e){let e=Qx(r.origin);e===void 0?n+=1:t.set(e,(t.get(e)??0)+1)}let r=[{filter:Zx,label:`all`,title:`Every origin, including runs that have none`,count:e.length}];for(let e of[...t.keys()].sort())r.push({filter:{kind:`origin`,origin:e},label:eS(e),title:e,count:t.get(e)??0});return n>0&&r.push({filter:{kind:`unknown`},label:`app`,title:aS,count:n}),r}function sS(e){return e.some(e=>Qx(e.origin)!==void 0)}function cS(e){return e.reduce((e,t)=>e+ +!!$x(t.origin),0)}function lS(e){return e.anyFilter?e.origin.kind===`unknown`?{message:e.unknownCount>0?`No app runs match the other filters.`:`Every run here comes from a package — none are the app's own.`}:e.origin.kind===`origin`&&e.unknownCount>0?{message:`No runs from ${eS(e.origin.origin)} match these filters.`,unclassified:e.unknownCount}:{message:`No runs match these filters.`}:{message:`No runs yet.`}}function uS(e){return e.startsWith(`compensate:`)?e.slice(11):e}function dS(e){let t=[],n=[];for(let r of e)r.seq<0?n.push(r):t.push(r);return n.sort((e,t)=>t.seq-e.seq),{body:t,compensations:n}}function fS(e){let t=0,n=0,r=0;for(let i of e)i.status===`completed`?t++:i.status===`failed`?n++:r++;return{total:e.length,done:t,failed:n,pending:r}}var pS=`update:`,mS=`task:`,hS=`child:`,gS=`runwait:`,_S=[`bp:`,`breakpoint`];function vS(e,t){let n=e.slice(t.length),r=n.indexOf(`:`);if(r===-1)return;let i=n.slice(r+1);return i.length>0?i:void 0}function yS(e){if(!_S.some(t=>e.startsWith(t))&&!(e.startsWith(hS)||e.startsWith(gS))){if(e.startsWith(pS)){let t=vS(e,pS);if(t!==void 0)return{kind:`update`,token:e,name:t}}if(e.startsWith(mS)){let t=vS(e,mS);if(t!==void 0)return{kind:`task`,token:e,name:t}}return{kind:`signal`,token:e}}}function bS(e,t){let n=[];for(let t of e)t.kind===`signal`&&(t.status===`pending`||t.status===`running`)&&n.push(t.name);n.length===0&&t&&(t.on===`signal`||t.on===`webhook`)&&n.push(t.name);let r=new Set,i=[];for(let e of n){if(r.has(e))continue;r.add(e);let t=yS(e);t&&i.push(t)}return i}function xS(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search).get(`tenant`);return e&&e!==`*`?e:void 0}function SS(e){let t=xS();return t===void 0?e:`${e}${e.includes(`?`)?`&`:`?`}tenant=${encodeURIComponent(t)}`}var CS=6e5;function wS(e,t){return e.kind!==`remote`||e.status!==`pending`?!1:t-(e.enqueuedAt?new Date(e.enqueuedAt).getTime():new Date(e.startedAt).getTime())>CS}function TS(e){return e===`running`||e===`suspended`||e===`cancelling`}var ES=new Set([`running`,`suspended`,`blocked`,`cancelling`]),DS=`durable:singleton:admitted`;function OS(e){let t=e.lastIndexOf(`@`);return t===-1?e:e.slice(0,t)}function kS(e,t){let n=OS(e),r=t.filter(e=>OS(e.group)===n),i=r.some(e=>e.depth>0),a=r.some(e=>e.liveWorkers.length>0);return i&&!a}function AS(e){return e.startsWith(`wh:`)?`webhook ${e}`:e.startsWith(`child:`)?`child ${e.slice(6)}`:`signal ${e}`}function jS(e,t){let n=e.tags?.find(e=>e.startsWith(`singleton:`));if(!n||e.tags?.includes(DS))return;let r=t.filter(e=>ES.has(e.status)&&e.tags?.includes(n)).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id));return r.find(e=>e.tags?.includes(DS))??r[0]}function MS(e){return`${e.on} ${e.name}`}function NS(e,t){if(e.status!==`suspended`)return e.status===`pending`&&kS(e.workflow,t.health)?{status:`no-worker`,detail:e.workflow}:e.status===`blocked`?{status:`blocked`,detail:e.error?.message??e.workflow}:{status:e.status};let n=jS(e,t.runs);if(n&&n.id!==e.id)return{status:`queued`,detail:`behind leader ${n.id.slice(0,8)}`};let r=t.timeline?.find(e=>e.status===`pending`||e.status===`running`);if(r){if(r.name.startsWith(`signal:child:${e.id}.onError.`)){let e=r.input?.workflow;return{status:`awaiting`,detail:typeof e==`string`?`failure handler ${e}`:`failure handler`}}return r.kind===`signal`?{status:`awaiting`,detail:AS(r.name)}:r.kind===`sleep`?{status:`sleeping`}:r.workerGroup&&kS(r.workerGroup,t.health)?{status:`no-worker`,detail:OS(r.workerGroup)}:{status:`running`}}return e.waiting?{status:`awaiting`,detail:MS(e.waiting)}:kS(e.workflow,t.health)?{status:`no-worker`,detail:e.workflow}:t.timeline?{status:`suspended`}:{status:`running`}}function PS(e,t){return e.status===`suspended`?t?.some(e=>e.status===`pending`||e.status===`running`)?`running`:e.wakeAt==null?t?`awaiting`:`running`:`sleeping`:e.status}var FS=`durable-dashboard-config`;function IS(){if(typeof document>`u`)return{};let e=document.getElementById(FS);if(e===null)return{};try{let t=JSON.parse(e.textContent??``);return typeof t==`object`&&t?t:{}}catch{return{}}}function LS(){let e=IS().base;return typeof e==`string`?e:`/durable`}function RS(){let e=IS().api;return typeof e==`string`?e:`${LS()}/api`}async function zS(e){try{let t=await e.json();if(typeof t!=`object`||!t)return;let n=t.redirectTo;return typeof n==`string`&&n!==``?n:void 0}catch{return}}function BS(e){typeof window<`u`&&(window.location.href=e??(LS()||`/`))}function VS(){if(typeof document>`u`)return{};let e=/(?:^|;\s*)XSRF-TOKEN=([^;]*)/.exec(document.cookie)?.[1];return e?{"x-xsrf-token":decodeURIComponent(e)}:{}}var HS=`The server redirected this request instead of answering it, usually because the session or its CSRF token expired. Reload the page and try again.`;async function US(e,t){let n=(t?.method??`GET`).toUpperCase(),r=n!==`GET`&&n!==`HEAD`,i=await fetch(RS()+SS(e),{...t,...r?{headers:{...t?.headers,...VS()},redirect:`manual`}:{}});if(i.status===401)throw BS(await zS(i)),Error(`Not signed in; redirecting.`);if(i.type===`opaqueredirect`||i.redirected||i.status>=300&&i.status<400)throw new GS(i.status,HS,void 0);return i}async function WS(e,t){let n=await US(e,t);if(!n.ok)throw await JS(n);return await n.json()}var GS=class extends Error{status;body;constructor(e,t,n){super(t),this.status=e,this.body=n,this.name=`DurableActionError`}};function KS(e){if(!(e instanceof GS)||typeof e.body!=`object`||e.body===null)return;let t=e.body.waitingOn;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function qS(e,t){let n=await US(e,t);if(!n.ok)throw await JS(n);return await n.json()}async function JS(e){let t;try{t=await e.json()}catch{t=void 0}let n=typeof t==`object`&&t&&typeof t.error==`string`?t.error:`${e.status} ${e.statusText}`;return new GS(e.status,n,t)}function YS(e,t){return qS(e,{method:`POST`,...t===void 0?{}:{headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}})}var XS={async runs(e,t,n,r){let{data:i}=await XS.runsPage(e,t,n,r);return i},async runsPage(e,t,n,r,i){let a=Jx({status:e,tag:t,attr:n,...r},i??{}),o=await WS(a?`/runs?${a}`:`/runs`);return{data:o.data,meta:o.meta}},async values(e,t={},n){return WS(`/runs/values?${Jx(t,{},{field:e,...n})}`)},run(e){return WS(`/runs/${encodeURIComponent(e)}`)},fanMembers(e,t,n={}){let r=new Gx;n.failed&&r.where(`status`,`failed`),(n.page!==void 0||n.size!==void 0)&&r.page(n.page??1,n.size??100);let i=r.toQueryString(),a=`/runs/${encodeURIComponent(e)}/fans/${encodeURIComponent(t)}`;return WS(i?`${a}?${i}`:a)},async workers(){return(await WS(`/workers`)).data},topology(){return WS(`/topology`)},tenants(){return WS(`/tenants`)},selectTenant(e){return WS(`/tenants/${encodeURIComponent(e)}/select`,{method:`POST`})},compat(){return WS(`/compat`)},async retry(e){return(await WS(`/runs/${encodeURIComponent(e)}/retry`,{method:`POST`})).result},async retryWithInput(e,t){return(await WS(`/runs/${encodeURIComponent(e)}/retry-with-input`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({input:t})})).result},bulk(e,t){let{compensate:n,...r}=t,i=Jx(r),a=n?`${i?`${i}&`:``}compensate=true`:i;return WS(`/bulk/${e}${a?`?${a}`:``}`,{method:`POST`})},async cancel(e,t){let n=t?.compensate?`?compensate=true`:``;return(await WS(`/runs/${encodeURIComponent(e)}/cancel${n}`,{method:`POST`})).result},async continue(e){return(await WS(`/runs/${encodeURIComponent(e)}/continue`,{method:`POST`})).result},workflowLifecycle(e){return WS(`/workflows/${encodeURIComponent(e)}/lifecycle`)},async republishLifecycle(e,t){return(await WS(`/runs/${encodeURIComponent(e)}/republish-lifecycle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t===void 0?{}:{subscriber:t})})).result},async redispatch(e){return(await WS(`/runs/${encodeURIComponent(e)}/redispatch`,{method:`POST`})).result},async signal(e,t,n,r){return(await YS(`/runs/${encodeURIComponent(e)}/signal`,{token:t,payload:n,...r?.force?{force:!0}:{}})).result},async update(e,t,n){return(await YS(`/runs/${encodeURIComponent(e)}/updates/${encodeURIComponent(t)}`,{arg:n})).result},completeTask(e,t,n){return YS(`/runs/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/complete`,{result:n})},failTask(e,t,n){return YS(`/runs/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/fail`,{error:n})},async schedules(){let e=[];for(let t=1;;t+=1){let n=await WS(`/schedules?${new Gx().page(t,200).toQueryString()}`);if(e.push(...n.data),n.meta.currentPage>=n.meta.lastPage)return e}},setSchedulePaused(e,t){return YS(`/schedules/${encodeURIComponent(e)}/${t?`pause`:`resume`}`)},async triggerSchedule(e){return(await YS(`/schedules/${encodeURIComponent(e)}/trigger`)).result},streamRun(e,t){if(typeof EventSource>`u`)return()=>{};let n=new EventSource(`${RS()}${SS(`/runs/${encodeURIComponent(e)}/stream`)}`);return n.onmessage=e=>{try{t(JSON.parse(e.data))}catch{}},()=>n.close()}};function ZS({title:e,description:t,actions:n,className:r}){return(0,m.jsxs)(`div`,{className:J(`flex flex-wrap items-end justify-between gap-3`,r),children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`h1`,{className:`text-lg font-bold tracking-[0.01em] text-fg`,children:e}),t&&(0,m.jsx)(`p`,{className:`mt-1 text-xs text-faint`,children:t})]}),n&&(0,m.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]})}function QS({children:e,className:t,label:n=`toolbar`}){return(0,m.jsx)(`div`,{role:`toolbar`,"aria-label":n,className:J(`flex flex-wrap items-center gap-1.5`,t),children:e})}function $S({className:e,size:t=`default`,...n}){return(0,m.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:J(`group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...n})}function eC({title:e,description:t,action:n,children:r,flush:i,className:a,bodyClassName:o}){return(0,m.jsxs)($S,{className:J(`agora-surface agora-rise rounded-lg border border-border shadow-none ring-0 gap-0 py-0`,a),children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-border px-4 py-3`,children:[(0,m.jsx)(`h3`,{className:`text-[12.5px] font-semibold tracking-[0.02em] text-fg`,children:e}),(t||n)&&(0,m.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[t&&(0,m.jsx)(`span`,{className:`mono truncate text-[10.5px] text-faint`,children:t}),n]})]}),(0,m.jsx)(`div`,{className:J(i?``:`px-4 pt-3 pb-4`,o),children:r})]})}var tC=Hi(`group/badge inline-flex h-[18px] w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 font-mono text-[10px] font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`border-bad/22 bg-bad/12 text-bad`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`,brand:`border-brand-border bg-brand-soft text-brand`,good:`border-good/22 bg-good/12 text-good`,warn:`border-warn/22 bg-warn/12 text-warn`,info:`border-info/22 bg-info/12 text-info`,violet:`border-violet/22 bg-violet/12 text-violet`,teal:`border-teal/22 bg-teal/12 text-teal`,neutral:`border-border bg-hover text-dim`,bare:`h-auto rounded-none border-transparent px-0 uppercase tracking-wider`}},defaultVariants:{variant:`default`}});function nC({className:e,variant:t=`default`,render:n,...r}){return go({defaultTagName:`span`,props:Jr({className:J(tC({variant:t}),e)},r),render:n,state:{slot:`badge`,variant:t}})}function rC(e){return`#/workflow/${encodeURIComponent(e)}`}function iC(e){let t=e.match(/^#\/workflow\/(.+)$/);return t?.[1]?decodeURIComponent(t[1]):void 0}function aC(e){let t=[];return e.where&&t.push(`where`),e.input&&t.push(`input`),e.coalesce&&t.push(e.coalesce.keyed?`${e.coalesce.mode} by key`:e.coalesce.mode),e.local||t.push(`announced`),t}function oC(e,t){let n=e?.[t];if(n)return n.failed>0?`${n.triggered} started · ${n.failed} failed`:`${n.triggered} started`}function sC({title:e,empty:t,links:n,counts:r}){return(0,m.jsxs)(`section`,{"aria-label":e,className:`min-w-0`,children:[(0,m.jsx)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:e}),n.length===0?(0,m.jsx)(`p`,{className:`mt-1 text-[11px] text-faint`,children:t}):(0,m.jsx)(`ul`,{className:`mt-1 flex flex-col gap-1`,children:n.map(e=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,m.jsx)(`a`,{href:rC(e.workflow),className:`mono text-[12px] text-fg underline-offset-2 hover:underline`,children:e.workflow}),(0,m.jsxs)(nC,{variant:`neutral`,className:e.kind===`failed`?`s-failed`:`s-completed`,children:[`on `,e.kind]}),aC(e).map(e=>(0,m.jsx)(nC,{variant:`neutral`,children:e},e)),oC(r,e.workflow)&&(0,m.jsx)(`span`,{className:`mono text-[10px] ${r?.[e.workflow]?.failed?`text-bad`:`text-dim`}`,title:`Counted by this dashboard's server process since it started`,children:oC(r,e.workflow)})]},`${e.workflow}:${e.kind}`))})]})}function cC({links:e,counts:t}){return(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,m.jsx)(sC,{title:`Starts when it settles`,empty:`No workflow starts when it settles.`,links:e.startsOnSettle,counts:t}),(0,m.jsx)(sC,{title:`Started by`,empty:`No workflow's settling starts it.`,links:e.startedBy})]})}function lC({workflow:e}){let{data:t,error:n,isPending:r}=Qe({queryKey:[`workflow-lifecycle`,e],queryFn:()=>XS.workflowLifecycle(e),refetchInterval:1e4});return(0,m.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,m.jsx)(ZS,{title:(0,m.jsx)(`span`,{className:`mono`,children:e}),description:`Lifecycle events: registered here and announced by live workers.`}),(0,m.jsx)(eC,{title:`Lifecycle`,description:`who starts when it settles, and who starts it`,children:n?(0,m.jsx)(Ki,{title:`Lifecycle could not be loaded`,error:n}):r||!t?(0,m.jsxs)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":!0,children:[(0,m.jsx)(Gf,{className:`h-3 w-48`}),(0,m.jsx)(Gf,{className:`h-3 w-64`}),(0,m.jsx)(Gf,{className:`h-3 w-40`})]}):(0,m.jsx)(cC,{links:t,counts:t.triggerCounts})})]})}function uC(e){let t=e.match(/^#\/run\/(.+)$/)?.[1];if(t)return{page:`runs`,runId:decodeURIComponent(t)};let n=iC(e);return n===void 0?e===`#/workers`?{page:`workers`}:e===`#/schedules`?{page:`schedules`}:{page:`runs`}:{page:`workflow`,workflow:n}}function dC(e){switch(e.page){case`runs`:return e.runId?`#/run/${encodeURIComponent(e.runId)}`:``;case`workflow`:return rC(e.workflow);default:return`#/${e.page}`}}function fC(){return typeof window>`u`?{page:`runs`}:uC(window.location.hash)}function pC(e){if(typeof window>`u`)return;let t=dC(e);if(window.location.hash===t)return;let n=t||window.location.pathname+window.location.search;window.history.pushState(null,``,n)}function mC({className:e}){return(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,className:e,role:`img`,"aria-label":`durable`,children:[(0,m.jsx)(`title`,{children:`durable`}),(0,m.jsx)(`path`,{d:`M12 2.5 21.5 12 12 21.5 2.5 12z`,opacity:.35}),(0,m.jsx)(`circle`,{cx:`6.4`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`circle`,{cx:`17.6`,cy:`12`,r:`1.7`,fill:`currentColor`,stroke:`none`}),(0,m.jsx)(`path`,{d:`M8.1 12h2.2M13.7 12h2.2`})]})}var hC=[`pending`,`running`,`suspended`,`blocked`,`cancelling`,`completed`,`failed`,`cancelled`,`dead`];function gC(e){let t=Date.now()-new Date(e).getTime(),n=Math.round(t/1e3);if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function _C(e,t){let n=new Date(t).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${(n/6e4).toFixed(1)}m`}function vC({status:e}){return(0,m.jsx)(`span`,{className:`dot s-${e} ${e===`running`||e===`awaiting`?`pulse`:``}`,"aria-hidden":!0})}function yC({status:e}){return(0,m.jsxs)(nC,{variant:`bare`,className:`s-${e} gap-1.5 text-[11px]`,children:[(0,m.jsx)(vC,{status:e}),e]})}var bC={width:14,height:14,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,strokeLinecap:`round`,strokeLinejoin:`round`};function xC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`rect`,{x:`7`,y:`7`,width:`10`,height:`10`,rx:`1.5`}),(0,m.jsx)(`path`,{d:`M9 3v2M15 3v2M9 19v2M15 19v2M3 9h2M3 15h2M19 9h2M19 15h2`})]})}function SC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,m.jsx)(`path`,{d:`M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18`})]})}function CC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`13`,r:`8`}),(0,m.jsx)(`path`,{d:`M12 13V9M9 2h6`})]})}function wC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`}),(0,m.jsx)(`path`,{d:`M7.8 7.8a6 6 0 0 0 0 8.4M16.2 16.2a6 6 0 0 0 0-8.4M5 5a10 10 0 0 0 0 14M19 19a10 10 0 0 0 0-14`})]})}function TC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`m4 12 5 5L20 6`})})}function EC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})}function DC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,m.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function OC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M21 12a9 9 0 1 1-2.6-6.3M21 4v5h-5`})})}function kC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M13 2 4 14h7l-1 8 9-12h-7l1-8z`})})}function AC(e){return(0,m.jsx)(`svg`,{...bC,...e,"aria-hidden":`true`,children:(0,m.jsx)(`path`,{d:`M6 4l14 8-14 8z`})})}function jC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,m.jsx)(`path`,{d:`m20 20-4-4`})]})}function MC(e){return(0,m.jsxs)(`svg`,{...bC,...e,"aria-hidden":`true`,children:[(0,m.jsx)(`circle`,{cx:`6`,cy:`5`,r:`2`}),(0,m.jsx)(`path`,{d:`M6 7v6a4 4 0 004 4h4`}),(0,m.jsx)(`circle`,{cx:`18`,cy:`17`,r:`2`})]})}var NC={local:xC,remote:SC,sleep:CC,signal:wC,child:MC};function PC(e){return NC[e]??xC}var FC={local:`In-process step`,remote:`Remote worker step`,sleep:`Durable timer`,signal:`External signal`,child:`Child workflow — click to open its run`},IC=(0,p.forwardRef)(({className:e,...t},n)=>(0,m.jsx)(`input`,{ref:n,className:J(`mono w-full bg-transparent py-1.5 text-xs text-fg placeholder:text-faint focus:outline-none disabled:opacity-50`,e),...t}));IC.displayName=`Input`;var LC=(0,p.forwardRef)(({glyph:e,onClear:t,clearLabel:n=`clear`,containerClassName:r,value:i,...a},o)=>(0,m.jsxs)(`div`,{className:J(`flex items-center gap-1.5 rounded-md border border-line px-2 transition-colors focus-within:border-line-strong`,r),children:[e!==void 0&&(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:e}),(0,m.jsx)(IC,{ref:o,value:i,...a}),t&&i?(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:t,title:n,"aria-label":n,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})}):null]}));LC.displayName=`InputField`;function RC({onOpenRun:e}){let[t,n]=(0,p.useState)(``),[r,i]=(0,p.useState)(!1),a=$e({mutationFn:e=>XS.run(e),onSuccess:t=>{n(``),i(!1),e(t.run.id)},onError:()=>i(!0)});return(0,m.jsxs)(`form`,{className:`relative`,onSubmit:e=>{e.preventDefault();let n=t.trim();n&&a.mutate(n)},children:[(0,m.jsx)(LC,{glyph:(0,m.jsx)(jC,{width:12,height:12}),value:t,onChange:e=>{n(e.target.value),i(!1)},onClear:()=>{n(``),i(!1)},clearLabel:`clear run id`,placeholder:`open run id…`,"aria-label":`open run by id`,containerClassName:`w-44`}),r&&(0,m.jsx)(`span`,{className:`mono absolute left-0 top-full z-20 mt-1 whitespace-nowrap rounded border border-bad/25 bg-panel-2 px-1.5 py-0.5 text-[10px] text-bad`,children:`no run with that id`})]})}function zC({open:e,onOpenChange:t,title:n,description:r,footer:i,children:a,className:o}){return(0,m.jsx)(ly,{open:e,onOpenChange:t,children:(0,m.jsxs)(fy,{className:J(`gap-4 sm:max-w-xl`,o),children:[(0,m.jsxs)(py,{children:[(0,m.jsx)(hy,{className:`pr-8 text-[15px] font-semibold tracking-tight`,children:n}),r&&(0,m.jsx)(gy,{className:`mono break-all text-[11px]`,children:r})]}),(0,m.jsx)(`div`,{children:a}),i&&(0,m.jsx)(my,{children:i})]})})}function BC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty`,className:J(`flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-lg border-dashed p-12 text-center text-balance`,e),...t})}function VC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-header`,className:J(`flex max-w-sm flex-col items-center gap-2`,e),...t})}var HC=Hi(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function UC({className:e,variant:t=`default`,...n}){return(0,m.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:J(HC({variant:t,className:e})),...n})}function WC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-title`,className:J(`cn-font-heading text-lg font-medium tracking-tight`,e),...t})}function GC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-description`,className:J(`text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,e),...t})}function KC({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`empty-content`,className:J(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,e),...t})}function qC({title:e,description:t,icon:n,action:r,className:i}){return(0,m.jsxs)(BC,{className:J(`p-8`,i),children:[(0,m.jsxs)(VC,{children:[(0,m.jsx)(UC,{variant:`icon`,className:`border border-border bg-panel-2 text-faint`,children:n??(0,m.jsx)(Tt,{})}),(0,m.jsx)(WC,{className:`text-[13px] font-semibold text-fg`,children:e}),t&&(0,m.jsx)(GC,{className:`text-xs text-faint`,children:t})]}),r&&(0,m.jsx)(KC,{children:r})]})}var JC=p.createContext(void 0);function YC(e){let t=p.useContext(JC);if(t===void 0&&!e)throw Error(ci(47));return t}var XC={...ku,disabled:e=>e.disabled,instantType:e=>e.instantType===`trigger-change`&&!ku.open(e)?void 0:e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,isPressOpenedByTrigger:(e,t)=>e.openChangeReason===`trigger-press`&&ku.isOpenedByTrigger(e,t),isTouchPressOpen:(e,t)=>t&&e.openMethod===`touch`&&e.openChangeReason===`trigger-press`,hasTriggerFocusGuards:(e,t)=>ku.isOpenedByTrigger(e,t)&&!e.focusManagerModal,modal:e=>e.modal,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},ZC=class extends bu{constructor(e,t,n){let r=new eu;super(QC(e,r,t,n),$C(r),XC)}setOpen=(e,t)=>{let n=t.reason===ia,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=ql(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n=Kl(this.state,e,t.trigger,a());n.openChangeReason=t.reason,this.update(n)};n?(this.context.stickIfOpen=!0,this.context.stickIfOpenTimeout.start(500,()=>{this.context.stickIfOpen=!1}),Za.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function QC(e,t,n,r=!1){let i={...Cu(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i}function $C(e){return{popupRef:p.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:p.createRef(),beforeTriggerFocusGuardRef:p.createRef(),beforeContentFocusGuardRef:p.createRef(),stickIfOpenTimeout:new Ga,stickIfOpen:!0,triggerElements:e}}var ew=lu(function({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=nw(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),h=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),$l(u,d),Xl(u);let{forceUnmount:g}=Zl(d,u,()=>{u.context.stickIfOpen=!0,u.set(`openChangeReason`,null)});u.useSyncedValues({modal:o}),p.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),p.useImperativeHandle(e.actionsRef,()=>({unmount:g,close:()=>u.setOpen(!1,ea(_a))}),[g,u]);let _=d||f||s!=null;return(0,m.jsxs)(JC.Provider,{value:u,children:[s&&(0,m.jsx)(Ul,{handle:s,store:u}),_&&(0,m.jsx)(rw,{store:u,modal:o}),typeof t==`function`?t({payload:h}):t]})});function tw(e){return YC(!0)?(0,m.jsx)(ew,{props:e}):(0,m.jsx)(xl,{children:(0,m.jsx)(ew,{props:e})})}function nw(e,t){let n=Hl((e,n)=>new ZC(t,e,n));return p.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function rw({store:e,modal:t}){let n=Ll(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return Ql(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var iw=uu(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...h}=e,g=YC(!0),_=Au(s)??g;if(!_)throw Error(ci(74));let v=$i(f),y=_.useState(`isTriggerActive`,v),b=_.useState(`floatingRootContext`),x=_.useState(`isOpenedByTrigger`,v),S=_.useState(`triggerPopupId`,v),C=p.useRef(null),{registerTrigger:w,isMountedByThisTrigger:T}=Yl(v,C,_,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),E=_.useState(`isPressOpenedByTrigger`,v),D=_.useState(`isTouchPressOpen`,l),O=_.useState(`hasTriggerFocusGuards`,v),k=Bu(b,{enabled:!a&&l&&!D,mouseOnly:!0,move:!1,handleClose:td(),restMs:u,delay:{close:d},triggerElementRef:C,isActiveTrigger:y,isClosing:()=>_.select(`transitionStatus`)===`ending`}),A=jl(b,{stickIfOpen:Y(()=>_.context.stickIfOpen)}),j=If(()=>_.select(`open`),e=>{_.set(`openMethod`,e)}),M=_.useState(`triggerProps`,T),{getButtonProps:N,buttonRef:P}=mi({disabled:a,native:o}),F={open(e){return E?$o.open(e):Qo.open(e)}},{handlePreFocusGuardFocus:I,handleFocusTargetFocus:L}=qb(_,C),R=Mi(`button`,e,{state:{disabled:a,open:x},ref:[P,t,w,C],props:[A.reference,k,M,j,{[il]:``,id:v,"aria-haspopup":`dialog`,"aria-expanded":x,"aria-controls":S},h,N],stateAttributesMapping:F}),z=(0,m.jsx)(p.Fragment,{children:R},v);return O?(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)(Hc,{ref:_.context.beforeTriggerFocusGuardRef,onFocus:I}),z,(0,m.jsx)(Hc,{ref:_.context.triggerFocusTargetRef,onFocus:L})]}):z}),aw=p.createContext(void 0);function ow(){let e=p.useContext(aw);if(e===void 0)throw Error(ci(45));return e}var sw=p.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return YC().useState(`mounted`)||n?(0,m.jsx)(aw.Provider,{value:n,children:(0,m.jsx)(fl,{ref:t,...r})}):null}),cw=p.createContext(void 0);function lw(){let e=p.useContext(cw);if(!e)throw Error(ci(46));return e}var uw=p.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:h,disableAnchorTracking:g=!1,collisionAvoidance:_=ol,...v}=e,y=YC(),b=ow(),x=yl(),S=y.useState(`floatingRootContext`),C=y.useState(`mounted`),w=y.useState(`open`),T=y.useState(`openChangeReason`),E=y.useState(`activeTriggerElement`),D=y.useState(`modal`),O=y.useState(`openMethod`),k=y.useState(`positionerElement`),A=y.useState(`instantType`),j=y.useState(`transitionStatus`),M=Dp({anchor:a,floatingRootContext:S,positionMethod:o,mounted:C,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:h,disableAnchorTracking:g,keepMounted:b,nodeId:x,collisionAvoidance:_,adaptiveOrigin:y.useState(`adaptiveOrigin`)});Tb({store:y,domReference:S.useState(`domReferenceElement`),positionerElement:k,open:w});let N=D===!0&&T!==`trigger-hover`;Db(w&&N,O===`touch`,k,E);let P=y.useStateSetter(`positionerElement`),F=jp(e,{open:w,side:M.side,align:M.align,anchorHidden:M.anchorHidden,instant:A},{styles:M.positionerStyles,transitionStatus:j,props:v,refs:[t,P],hidden:!C,inert:!w});return(0,m.jsxs)(cw.Provider,{value:M,children:[C&&N&&(0,m.jsx)(mf,{inert:pf(!w),cutout:E}),(0,m.jsx)(bl,{id:x,children:F})]})}),dw=p.createContext(void 0);function fw(){let[e,t]=p.useState(0),n=Y(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:p.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var pw=p.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=YC(),l=lw(),u=ab(!0)!=null,{context:d,hasClosePart:f}=fw(),p=c.useState(`open`),h=c.useState(`openMethod`),g=c.useState(`instantType`),_=c.useState(`transitionStatus`),v=c.useState(`popupProps`),y=c.useState(`titleElementId`),b=c.useState(`descriptionElementId`),x=c.useState(`modal`),S=c.useState(`mounted`),C=c.useState(`openChangeReason`),w=c.useState(`activeTriggerElement`),T=c.useState(`floatingRootContext`),E=T.useState(`floatingId`),D=c.useState(`disabled`),O=c.useState(`openOnHover`),k=c.useState(`closeDelay`);to({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),Ru(T,{enabled:O&&!D,closeDelay:k});let A=a===void 0?Vl(c.context.popupRef):a,j=x!==!1&&f;c.useSyncedValue(`focusManagerModal`,j);let M=c.useStateSetter(`popupElement`),N=Mi(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:g,transitionStatus:_},ref:[t,c.context.popupRef,M],props:[v,{id:E,role:`dialog`,...Bl,"aria-labelledby":y,"aria-describedby":b,onKeyDown(e){u&&cf.has(e.key)&&e.stopPropagation()}},Ap(_),s],stateAttributesMapping:ts});return(0,m.jsx)(Al,{context:T,openInteractionType:h,modal:j,disabled:!S||C===`trigger-hover`,initialFocus:A,returnFocus:o,restoreFocus:`popup`,getInsideElements:()=>[c.context.beforeTriggerFocusGuardRef.current],previousFocusableElement:br(w)?w:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,m.jsx)(dw.Provider,{value:d,children:N})})});function mw({...e}){return(0,m.jsx)(tw,{"data-slot":`popover`,...e})}function hw({...e}){return(0,m.jsx)(iw,{"data-slot":`popover-trigger`,...e})}function gw({className:e,align:t=`center`,alignOffset:n=0,side:r=`bottom`,sideOffset:i=4,...a}){return(0,m.jsx)(sw,{children:(0,m.jsx)(uw,{align:t,alignOffset:n,side:r,sideOffset:i,className:`isolate z-50`,children:(0,m.jsx)(pw,{"data-slot":`popover-content`,className:J(`z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...a})})})}function _w(e){return typeof e==`object`?e.key:e}function vw(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function yw(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return(o.length!==r.length||o.some((e,t)=>r[t]!==e))&&(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1),i}return o.updateDeps=e=>{r=e},o}function bw(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var xw=(e,t)=>Math.abs(e-t)<1.01,Sw=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function Cw({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var ww=e=>e===`smooth`||e===`smoothFinishing`;function Tw({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!ww(n.phase)&&!xw(t,n.lastTargetOffset)&&!xw(t,r())&&e!==`clampedEcho`}var Ew=40;function Dw(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<Ew;)n--;if(n<0)return!1;let r=e[n],i=n-1;for(;i>=0&&r.t-e[i].t<Ew;)i--;if(i<0)return!1;let a=e[i],o=(t.offset-r.offset)/(t.t-r.t),s=(r.offset-a.offset)/(r.t-a.t);return o*s>=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function Ow(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<Ew;)n--;if(n<0)return!1;let r=e[n];return Math.abs(t.offset-r.offset)/(t.t-r.t)>=.05}var kw,Aw=()=>{if(kw!==void 0)return kw;if(typeof navigator>`u`)return kw=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return kw=!0;let e=navigator.maxTouchPoints;return kw=navigator.platform===`MacIntel`&&e!==void 0&&e>0},jw,Mw=()=>jw===void 0?jw=Aw()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):jw,Nw=()=>!Aw()||Mw(),Pw={capture:!0,passive:!0},Fw=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,Pw),e.addEventListener(`touchend`,n,Pw),e.addEventListener(`touchcancel`,n,Pw),()=>{e.removeEventListener(`touchstart`,t,Pw),e.removeEventListener(`touchend`,n,Pw),e.removeEventListener(`touchcancel`,n,Pw),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(r.moved,r.awaitingFling):(this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=r}}get touch(){return this._touch}},Iw=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},Lw=e=>{let t=new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},Rw=e=>e,zw=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e<r;e++)i[e]=n+e;return i},Bw=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Iw(n)),!r.ResizeObserver)return()=>{};let a=Lw(r),o=new r.ResizeObserver(()=>{let t=()=>{i(Iw(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},Vw={passive:!0},Hw=typeof window>`u`||`onscrollend`in window,Uw=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Hw,o=0,s=a?null:Sw(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Vw),a&&r.addEventListener(`scrollend`,u,Vw),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},Ww=(e,t)=>Uw(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Gw=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Kw=(e,{adjustments:t=0,behavior:n},r)=>{var i;let{scrollElement:a,options:o}=r,s=e+t,c=o.horizontal&&o.isRtl&&a!==null&&`ownerDocument`in a;(i=a?.scrollTo)==null||i.call(a,{[o.horizontal?`left`:`top`]:c?-s:s,behavior:n})},qw=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,Jw=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function Yw(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var Xw=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new Fw({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&Ow(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand(),this._retryClampedAdjustment()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=null,n=!1,r=!1,i=new Set,a=()=>{if(e)return e;let r=this.targetWindow;if(!r||!r.ResizeObserver)return null;let i=t=Lw(r);return e=new r.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(o)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment(),this.measureElement(null))}};if(this.options.useAnimationFrameWithResizeObserver)i.schedule(t);else{n=!0;try{t()}finally{n=!1}}})},o=e=>{let t=e.target,n=this.indexFromElement(t);if(t.isConnected)this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this));else{this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}}};return{disconnect:()=>{var n;(n=a())==null||n.disconnect(),t?.cancel(),i.clear(),r=!1,e=null,t=null},observe:o=>{let s=a();s&&(n?(i.add(o),r||(r=!0,t?.schedule(()=>{r=!1,i.forEach(t=>{t.isConnected&&e?.observe(t,{box:`border-box`})}),i.clear()}))):s.observe(o,{box:`border-box`}))},unobserve:e=>{var t;i.delete(e),(t=a())==null||t.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Rw,rangeExtractor:zw,onChange:()=>{},measureElement:Gw,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>_w(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||Yw(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:s}=this.options,c=0;for(;c<a&&s(c)!==e;)c++;if(c<a){let e=n[c];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(o=n-this.scrollOffset,this.scrollOffset=n)}}}i?this.pendingScrollAnchor={kind:`follow`,behavior:i}:o!==null&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:`anchor`,delta:o}:(this._holdOffset+=o,this._followOffsetTarget(o)))},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=yw(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:Tw({kind:a,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:o<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t;let c=this.scrollState;if(c?.phase===`queued`&&a===`external`&&t){if(r||this._reportedOverscroll)c.samples=[];else{let e=this.now();c.samples=[...(c.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||Dw(c.samples))&&(this.scrollState=null)}}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?Jw(this.scrollState)&&!xw(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>Cw({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled||!this._canWriteScroll())return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=qw(t,e.index!=null&&xw(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(Aw()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=yw(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=yw(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=vw(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=yw(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes,this._getLayoutTotalSize()+this.options.scrollMargin],(e,t,n,r,i)=>{if(e.length===0||t===0)return this.range=null,null;let a=Math.max(i-t,0);return this.range=$w(e,t,Math.min(n,a),r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=yw(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!Jw(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!Jw(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i<u,f=!Jw(this.scrollState)&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?d:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:a,start:i,size:r,end:i+r,lane:0},c,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(a,t),this.itemSizeCacheVersion++;let p=!1;if(this._awaitingCommandReadBack()||(o?p=this.applyScrollAdjustment(this._getLayoutTotalSize()-l):f&&(p=this.applyScrollAdjustment(c))),this._resizeBatch){this._resizeBatch.notify=!0,(n=this._resizeBatch).sync||(n.sync=p);return}this.notify(p),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=yw(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;i<a;i++){let a=t[e[i]];r.push(n===0?a:{...a,start:a.start-n,end:a.end-n})}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return bw(t[Zw(0,t.length-1,r?e=>n[e*2]:e=>bw(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a),c=()=>this.options.horizontal?r.clientHeight:r.clientWidth,l=c();if(i.setProperty(a,`hidden`,`important`),c()!==l){i.setProperty(a,o,s);return}let u={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=u,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===u&&(this._momentumStop=null,u.restore()&&u.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()+this.options.scrollMargin-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.getMeasurements()[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(Aw()&&this._iosGesture.dragging())&&e!==null&&!xw(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){this.targetWindow?this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}):this.scrollState=null}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&xw(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=Jw(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){this.pendingScrollAnchor=null,this._clampedAdjustment=null;let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&Nw()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:qw(n,e.index!=null&&xw(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},Zw=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Qw(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function $w(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Qw(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=Zw(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var eT=typeof document<`u`?p.useLayoutEffect:p.useEffect;function tT({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=p.useReducer(e=>e+1,0)[1],a=p.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=p.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=(e,t,n)=>{let r=a.current,i=!!e.options.horizontal,o=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==o&&(r.lastPositions.set(n,o),r.mode===`transform`?n.style.transform=i?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:n.style[i?`left`:`top`]=`${o}px`)},l=e=>{let t=a.current;if(t.enabled&&t.container){s(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&c(e,t,n)}}},u={...r,onChange:(t,n)=>{var s;let c=a.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,Za.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[d]=p.useState(()=>{let e=new Xw(u),t=e.measureElement;return e.measureElement=n=>{o.current=!0;try{t(n)}finally{o.current=!1}let r=a.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&c(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=a.current;n.container=t,n.lastSize=null,t!==null&&l(e)}})});return d.setOptions(u),eT(()=>d._didMount(),[]),eT(()=>(s(d),d._willUpdate())),eT(()=>{l(d)}),d}function nT(e){return tT({observeElementRect:Bw,observeElementOffset:Ww,scrollToFn:Kw,...e})}var rT=48,iT=60,aT=24;function oT({glyph:e,label:t,placeholder:n,value:r,onChange:i,options:a,loading:o,failed:s,search:c,onSearchChange:l,hasMore:u,loadingMore:d,onLoadMore:f,allowCustom:h=!0,title:g}){let[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(``),x=l!==void 0,S=x?c??``:y,C=x?l:b,w=(0,p.useMemo)(()=>{let e=S.trim().toLowerCase(),t=e&&!x?a.filter(t=>t.value.toLowerCase().includes(e)):a;return[...r.filter(e=>!t.some(t=>t.value===e)).filter(t=>!e||t.toLowerCase().includes(e)).map(e=>({value:e,count:0})),...t]},[a,S,x,r]),T=(0,p.useRef)(null),E=()=>{let e=T.current;e&&u&&!d&&f&&e.scrollTop+e.clientHeight>=e.scrollHeight-rT&&f()},D=e=>{i(r.includes(e)?r.filter(t=>t!==e):[...r,e])},O=w.length>iT,k=nT({count:w.length,getScrollElement:()=>T.current,estimateSize:()=>aT,overscan:8,enabled:O}),A=e=>{let t=r.includes(e.value);return(0,m.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t,onClick:()=>D(e.value),className:J(`mono flex w-full items-center gap-2 px-2 py-1 text-left text-xs hover:bg-hover`,t?`text-fg`:`text-fg-2`),children:[(0,m.jsx)(`span`,{className:`w-3 shrink-0`,children:t&&(0,m.jsx)(TC,{width:12,height:12})}),(0,m.jsx)(`span`,{className:`truncate`,children:e.value}),(0,m.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] text-faint`,children:e.count})]},e.value)},j=S.trim(),M=h&&j!==``&&!w.some(e=>e.value===j)&&!r.includes(j);return(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-line px-2 py-1 transition-colors focus-within:border-line-strong`,children:[e!==void 0&&(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:e}),(0,m.jsxs)(mw,{open:_,onOpenChange:v,children:[(0,m.jsx)(hw,{render:(0,m.jsx)(`button`,{type:`button`,"aria-label":t,title:g??t,className:`mono flex min-w-0 flex-1 flex-wrap items-center gap-1 py-0.5 text-left text-xs text-fg focus:outline-none`}),children:r.length===0?(0,m.jsx)(`span`,{className:`text-faint`,children:n}):r.map(e=>(0,m.jsx)(nC,{variant:`neutral`,className:`mono max-w-[10rem] truncate`,children:e},e))}),(0,m.jsxs)(gw,{align:`start`,className:`w-72 gap-0 overflow-hidden p-0`,children:[(0,m.jsx)(`div`,{className:`border-b border-line px-2`,children:(0,m.jsx)(IC,{autoFocus:!0,value:S,onChange:e=>C(e.target.value),placeholder:h?`search, or type a value…`:`search…`,onKeyDown:e=>{e.key===`Enter`&&M&&(e.preventDefault(),D(j),C(``))}})}),(0,m.jsxs)(`div`,{ref:T,onScroll:E,className:`max-h-64 overflow-auto py-1`,role:`listbox`,tabIndex:-1,"aria-multiselectable":!0,"aria-label":t,children:[M&&(0,m.jsxs)(`button`,{type:`button`,"aria-label":`use ${j} as typed`,onClick:()=>{D(j),C(``)},className:`mono flex w-full items-center gap-2 px-2 py-1 text-left text-xs text-fg-2 hover:bg-hover`,children:[(0,m.jsx)(`span`,{className:`w-3 shrink-0 text-faint`,children:`+`}),(0,m.jsx)(`span`,{className:`truncate`,children:j}),(0,m.jsx)(`span`,{className:`ml-auto text-[10px] text-faint`,children:`use as typed`})]}),d&&w.length>0&&(0,m.jsx)(`p`,{className:`px-2 py-1 text-[10px] text-faint`,children:`loading more…`}),w.length===0&&!M&&(0,m.jsx)(`p`,{className:J(`px-2 py-2 text-[11px]`,s?`text-bad`:`text-faint`),children:s?`couldn't load values — type one instead`:o?`loading…`:`no values here`}),O?(0,m.jsx)(`div`,{className:`relative w-full`,style:{height:`${k.getTotalSize()}px`},children:k.getVirtualItems().map(e=>(0,m.jsx)(`div`,{ref:k.measureElement,"data-index":e.index,className:`absolute top-0 left-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:A(w[e.index])},w[e.index]?.value??e.key))}):w.map(A)]})]})]}),r.length>0&&(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:()=>i([]),title:`clear ${t}`,"aria-label":`clear ${t}`,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})})]})}var sT=50,cT=200;function lT(e,t){let[n,r]=(0,p.useState)(e);return(0,p.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function uT(e){return e.filter(e=>e.value!==null).map(e=>({value:e.value,count:e.count}))}function dT({field:e,scope:t,value:n,onChange:r,glyph:i,label:a,placeholder:o,title:s,single:c}){let[l,u]=(0,p.useState)(``),d=lT(l,cT),f=et({queryKey:[`run-values`,e,t,d],queryFn:({pageParam:n})=>XS.values(e,t,{limit:sT,offset:n,search:d}),initialPageParam:0,getNextPageParam:(e,t)=>e.length<sT?void 0:t.reduce((e,t)=>e+t.length,0),staleTime:1e4,refetchInterval:1e4}),h=(0,p.useMemo)(()=>uT(f.data?.pages.flat()??[]),[f.data]);return(0,m.jsx)(oT,{label:a,placeholder:o,...s!==void 0&&{title:s},...i!==void 0&&{glyph:i},value:n,onChange:e=>r(c?e.slice(-1):e),options:h,search:l,onSearchChange:u,loading:f.isLoading,failed:f.isError,hasMore:f.hasNextPage,loadingMore:f.isFetchingNextPage,onLoadMore:()=>void f.fetchNextPage()})}var fT=[{op:`eq`,label:`is`},{op:`in`,label:`is any of`},{op:`ne`,label:`is not`},{op:`gte`,label:`≥`},{op:`gt`,label:`>`},{op:`lte`,label:`≤`},{op:`lt`,label:`<`}];function pT(e){let[t,n,...r]=e.split(`:`);return!t||!n||r.length===0?null:{key:t,op:n,operand:r.join(`:`)}}function mT(e){let t=pT(e);if(!t)return e;let n=fT.find(e=>e.op===t.op)?.label??t.op;return`${t.key} ${n} ${t.operand.split(`|`).join(`, `)}`}function hT({value:e,onChange:t,scope:n}){let[r,i]=(0,p.useState)(!1),[a,o]=(0,p.useState)(``),[s,c]=(0,p.useState)(`eq`),[l,u]=(0,p.useState)([]),[d,f]=(0,p.useState)(``),h=s===`eq`||s===`in`,g=h?l.join(`|`):d.trim(),_=a!==``&&g!==``,v=()=>{o(``),c(`eq`),u([]),f(``)},y=()=>{if(!_)return;let n=s===`in`&&l.length===1?`eq`:s;t([...e,`${a}:${n}:${g}`]),v(),i(!1)};return(0,m.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 rounded-md border border-line px-2 py-1 transition-colors focus-within:border-line-strong`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:`⛃`}),(0,m.jsxs)(mw,{open:r,onOpenChange:e=>{i(e),e||v()},children:[(0,m.jsx)(hw,{render:(0,m.jsx)(`button`,{type:`button`,"aria-label":`filter by search attribute`,title:`Typed search attributes (WorkflowRun.searchAttributes)`,className:`mono flex min-w-0 flex-1 flex-wrap items-center gap-1 py-0.5 text-left text-xs text-fg focus:outline-none`}),children:e.length===0?(0,m.jsx)(`span`,{className:`text-faint`,children:`filter by attribute…`}):e.map(e=>(0,m.jsx)(nC,{variant:`violet`,className:`mono max-w-[12rem] truncate`,children:mT(e)},e))}),(0,m.jsx)(gw,{align:`start`,className:`w-80 gap-0 p-2`,children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.length>0&&(0,m.jsx)(`div`,{className:`flex flex-wrap gap-1 border-b border-line pb-1.5`,children:e.map(n=>(0,m.jsxs)(nC,{variant:`violet`,className:`mono gap-1 py-0.5`,children:[mT(n),(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,className:`h-3 w-3 text-violet/70 hover:text-violet`,title:`remove ${mT(n)}`,"aria-label":`remove ${mT(n)}`,onClick:()=>t(e.filter(e=>e!==n)),children:(0,m.jsx)(EC,{width:10,height:10})})]},n))}),(0,m.jsx)(dT,{field:`attr`,scope:n,glyph:`⛃`,label:`attribute key`,placeholder:`key…`,single:!0,value:a?[a]:[],onChange:e=>{o(e.at(-1)??``),u([])}}),(0,m.jsx)(`select`,{"aria-label":`operator`,value:s,onChange:e=>c(e.target.value),className:`mono rounded-md border border-line bg-transparent px-2 py-1.5 text-xs text-fg focus:border-line-strong focus:outline-none`,children:fT.map(e=>(0,m.jsx)(`option`,{value:e.op,className:`bg-hover`,children:e.label},e.op))}),h?(0,m.jsx)(dT,{field:`attr.${a}`,scope:n,glyph:`=`,label:`attribute value`,placeholder:a?`value…`:`pick a key first`,...s!==`in`&&{single:!0},value:l,onChange:u}):(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-line px-2 focus-within:border-line-strong`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint`,"aria-hidden":!0,children:`=`}),(0,m.jsx)(IC,{value:d,onChange:e=>f(e.target.value),placeholder:`value…`,"aria-label":`attribute value`,onKeyDown:e=>{e.key===`Enter`&&y()}})]}),(0,m.jsx)(Wi,{variant:`brand`,size:`chip`,className:`mono self-end rounded`,disabled:!_,onClick:y,children:`add filter`})]})})]}),e.length>0&&(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-sm`,onClick:()=>t([]),title:`clear attribute filters`,"aria-label":`clear attribute filters`,className:`h-4 w-4`,children:(0,m.jsx)(EC,{width:12,height:12})})]})}function gT({runs:e,value:t,onChange:n}){if(!sS(e)&&t.kind===`all`)return null;let r=oS(e);return(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 border-b border-line px-2 py-1.5`,children:[(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-[0.18em] text-faint`,children:`origin`}),r.map(e=>{let r=tS(t,e.filter);return(0,m.jsxs)(Wi,{variant:`ghost`,size:`chip`,"aria-pressed":r,title:e.title,onClick:()=>n(e.filter),className:J(`mono max-w-full gap-1 rounded-md`,e.filter.kind===`unknown`&&`italic text-dim`,r&&`border-line-strong bg-hover text-fg hover:text-fg`),children:[(0,m.jsx)(`span`,{className:`truncate`,children:e.label}),(0,m.jsx)(`span`,{className:`tnum shrink-0 text-faint`,children:e.count})]},nS(e.filter))})]})}function _T(e){if(e.name.startsWith(`spawn:`))return e.name.slice(6);if(e.name.startsWith(`signal:child:`))return e.name.slice(13)}function vT(e,t=50){let n=new Set;for(let r of e){if(n.size>=t)break;let e=_T(r);e!==void 0&&n.add(e)}return[...n]}function yT(e,t){let n=`${t}.`;return`child ${e.startsWith(n)?e.slice(n.length):e}`}function bT(e,t,n=12){let r=e.slice(0,n);return{shown:r,more:Math.max(0,(t??e.length)-r.length)}}function xT(e){return{...e.triggeredBy?{startedBy:{...e.triggeredBy}}:{},triggered:[...e.triggered??[]]}}var ST=new Set([`completed`,`failed`,`cancelled`,`dead`]);function CT(e){return ST.has(e.run.status)?[...e.lifecycleSubscribers??[]]:[]}function wT(e){let t=`${e.started} subscriber run${e.started===1?``:`s`} started`;return e.failed.length===0?`${t}.`:`${t}, ${e.failed.length} failed: ${e.failed.map(e=>`${e.subscriber} (${e.error})`).join(`; `)}.`}function TT(e){let t={};for(let n of e)n.data&&(t[n.data.run.id]=n.data);return t}var ET=`fan:`;function DT(e){if(!e.name.startsWith(ET))return;let t=e.output?.values;return Array.isArray(t)?t.length:void 0}function OT(e){let t=DT(e);return t===void 0?e.name:`${t} child run${t===1?``:`s`}`}function kT(e){if(e.length===0)return``;let t=e[0]??``;for(let n of e.slice(1)){let e=0;for(;e<t.length&&e<n.length&&t[e]===n[e];)e+=1;t=t.slice(0,e)}return t.replace(/[\s._:-]+$/,``)}function AT(e){if(e.some(e=>DT(e)!==void 0))return`child runs ×${e.reduce((e,t)=>e+(DT(t)??1),0)}`;let t=kT(e.map(e=>e.name));return`${t.length>=2?t:`parallel`} ×${e.length}`}function jT(e){return e.kind===`single`?e.step.seq:e.kind===`fan`?e.steps[0]?.seq??1/0:e.fan.firstSeq}function MT(e,t=[]){let n=NT(e);if(t.length===0)return n;let r=[...t].sort((e,t)=>e.firstSeq-t.firstSeq),i=[],a=0;for(let e of n){let t=jT(e);for(;a<r.length&&r[a].firstSeq<t;)i.push({kind:`summary`,fan:r[a]}),a+=1;i.push(e)}for(;a<r.length;a+=1)i.push({kind:`summary`,fan:r[a]});return i}function NT(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===void 0){n+=1;continue}let i=r.parallelGroup;if(i===void 0||i===``){t.push({kind:`single`,step:r}),n+=1;continue}let a=[],o=n;for(;o<e.length&&e[o]?.parallelGroup===i;){let t=e[o];t!==void 0&&a.push(t),o+=1}a.length<=1?t.push({kind:`single`,step:a[0]??r}):t.push({kind:`fan`,group:i,steps:a,label:AT(a)}),n=o}return t}function PT(e,t=!1){let n=e.counts.running??0,r=e.counts.pending??0,i=e.notStarted??0;return{completed:e.counts.completed??0,failed:e.counts.failed??0,running:t?0:n,pending:t?0:r,interrupted:t?n+r:0,notStarted:t?0:i,skipped:t?i:0,started:e.size,total:e.total??e.size}}function FT(e,t=!1){let n=PT(e,t);return n.running>0?`running`:n.pending>0||n.notStarted>0?`pending`:n.failed>0||n.interrupted>0?`failed`:`completed`}function IT(e){return e.started<e.total?`${e.started} of ${e.total}`:`×${e.total}`}var LT=new Set([`completed`,`failed`,`cancelled`,`dead`]);function RT(e){return LT.has(e)}var zT=2e3,BT=3e4;function VT(e){let t=e.state.data?.run?.status;return t!==void 0&&RT(t)?BT:zT}function HT(e,t,n=100){if(e===void 0||t===void 0)return[0];let r=[];for(let i=Math.floor(e/n);i<=Math.floor(t/n);i+=1)r.push(i);return r}var UT=[{key:`completed`,className:`bg-good/60`,text:`text-good`,label:`done`},{key:`failed`,className:`bg-bad/70`,text:`text-bad`,label:`failed`},{key:`running`,className:`bg-live/70`,text:`text-live`,label:`running`},{key:`pending`,className:`bg-dim/60`,text:`text-fg-2`,label:`pending`},{key:`interrupted`,className:`bg-warn/60`,text:`text-warn`,label:`interrupted`},{key:`notStarted`,className:`bg-line-strong/70`,text:`text-fg-2`,label:`not started`},{key:`skipped`,className:`bg-line-strong/40`,text:`text-dim`,label:`never ran`}],WT=9e4;function GT(e,t,n){let r=(t?.liveWorkers??[]).filter(e=>n-e.lastBeatAt<=WT).sort((e,t)=>t.lastBeatAt-e.lastBeatAt)[0];if(r)return{kind:`working`,instanceId:r.instanceId,beatAgoS:Math.max(0,Math.round((n-r.lastBeatAt)/1e3)),inFlight:r.status?.inFlight};let i=e.enqueuedAt?new Date(e.enqueuedAt).getTime():new Date(e.startedAt).getTime();return{kind:`lost`,minutes:Math.round((n-i)/6e4)}}var KT=[];function qT(e){return Xe({queries:(0,p.useMemo)(()=>vT(e),[e]).map(e=>({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT})),combine:TT})}function JT(e,t,n){if(t){let e=new Date(t.run.createdAt).getTime(),r=TS(t.run.status)?n:new Date(t.run.updatedAt).getTime();return[e,Math.max(r,e)]}let{subs:r}=Xx(e.events??[]),i=1/0,a=-1/0;for(let e of r){e.startedAt!==void 0&&(i=Math.min(i,e.startedAt));let t=e.terminal?.at??e.startedAt;t!==void 0&&(a=Math.max(a,t))}return i!==1/0&&a!==-1/0?[i,a]:[new Date(e.startedAt).getTime(),new Date(e.finishedAt).getTime()]}function YT(e,t,n){let r=TS(e.status),i=Date.now(),a=new Date(e.createdAt).getTime(),o=-1/0;for(let[e,n]of t)a=Math.min(a,e),o=Math.max(o,n);for(let e of n)e.startedAt&&(a=Math.min(a,new Date(e.startedAt).getTime())),e.finishedAt&&(o=Math.max(o,new Date(e.finishedAt).getTime()));return o=Math.max(o,r?i:a+1),{t0:a,span:Math.max(o-a,1),liveNow:i}}function XT(e,t,n,r=JT(e,t,n.liveNow)){let{t0:i,span:a}=n,[o,s]=r,{subs:c}=Xx(e.events??[]),l=c.map(e=>{let t=e.startedAt??o,n=e.terminal?.at??t;return{key:e.id,name:e.name,status:e.status??`ok`,left:(t-i)/a*100,width:Math.max((n-t)/a*100,.8),ms:e.durationMs??Math.max(n-t,0)}});return{step:e,childId:_T(e),childRun:t,left:(o-i)/a*100,width:Math.max((s-o)/a*100,.8),ms:s-o,subRows:l}}function ZT(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(2)}s`:`${(e/6e4).toFixed(2)}m`}var QT={ok:`bg-good/40 ring-1 ring-good/50`,failed:`bg-bad/40 ring-1 ring-bad/50`,skipped:`bg-warn/35 ring-1 ring-warn/45`},$T={ok:`bg-good`,failed:`bg-bad`,skipped:`bg-warn`};function eE({row:e,run:t,childRuns:n,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,onToggleChild:s,expanded:c,collapsedSubs:l,toggleSubs:u}){let{step:d,left:f,width:p,ms:h,subRows:g}=e,_=d.status===`failed`,v=_T(d),y=!!v,b=y?MC:PC(d.kind),x=i===`${d.runId}#${d.seq}`,S=y&&v!==void 0&&c.has(v),C=g.length>0&&!y,w=l.has(d.seq),T=wS(d,Date.now()),{data:E}=Qe({queryKey:[`workers`],queryFn:()=>XS.workers(),refetchInterval:1e4,enabled:T}),D=T?GT(d,E?.find(e=>e.group===d.workerGroup),Date.now()):void 0;return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`button`,{type:`button`,onClick:()=>a(d,t),title:y?`Child workflow — click for its detail (↗ opens its run)`:void 0,className:`group grid w-full grid-cols-[150px_1fr] items-center gap-3 rounded-md px-2 py-1 text-left transition-colors ${x?`bg-hover/60`:`hover:bg-hover/60`}`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[y&&v!==void 0&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s(v)},className:`shrink-0 text-violet hover:text-violet transition-colors`,title:S?`Collapse child run`:`Expand child run inline`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:S?`rotate(90deg)`:`rotate(0deg)`},children:`▸`})}),C&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),u(d.seq)},className:`shrink-0 text-dim transition-colors hover:text-fg-2`,title:w?`Show ${g.length} sub-process(es)`:`Hide sub-processes`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:w?`rotate(0deg)`:`rotate(90deg)`},children:`▸`})}),(0,m.jsx)(`span`,{className:_?`text-bad`:y?`text-violet`:`text-good`,children:(0,m.jsx)(b,{width:12,height:12})}),(0,m.jsx)(`span`,{className:`truncate text-[12px] text-fg-2`,children:v===void 0?OT(d):n[v]?.run.workflow??yT(v,t.id)}),y&&v!==void 0&&(0,m.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(v)},title:`Open the child run`,className:`shrink-0 text-violet transition-colors hover:text-violet`,children:`↗`})]}),(0,m.jsxs)(`span`,{className:`relative h-5`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),(0,m.jsx)(`span`,{className:`absolute top-1/2 flex h-3.5 -translate-y-1/2 items-center rounded-[3px] transition-all duration-500 ease-out ${_?`bg-bad/35 ring-1 ring-bad/50`:x?`bg-good/45 ring-1 ring-good/60`:`bg-good/30 ring-1 ring-good/40`}`,style:{left:`${f}%`,width:`${p}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[10px] text-dim`,style:{left:`min(${f+p}%, calc(100% - 44px))`},children:ZT(h)})]})]}),D?.kind===`working`&&(0,m.jsxs)(`div`,{className:`mono ml-[18px] mb-1 flex items-center gap-1 text-[10px] text-good/80`,title:`A live worker holds this dispatch — its heartbeat is fresh. Long steps are expected to sit here; only re-dispatch if the heartbeat goes stale.`,children:[(0,m.jsx)(`span`,{"aria-hidden":!0,children:`⚙`}),`being worked by `,D.instanceId,` — heartbeat `,D.beatAgoS,`s ago`,D.inFlight===void 0?``:` · ${D.inFlight} in flight`]}),D?.kind===`lost`&&(0,m.jsxs)(`div`,{className:`mono ml-[18px] mb-1 flex items-center gap-1 text-[10px] s-stale`,title:"No live worker heartbeat on this step's group — reconcile-wake can't recover a stuck `pending` step; re-dispatch it from the run actions above",children:[(0,m.jsx)(`span`,{"aria-hidden":!0,children:`⚠`}),`awaiting worker result — dispatched `,D.minutes,`m ago, no live worker (possibly lost)`]}),g.length>0&&!w&&(0,m.jsx)(`div`,{className:`ml-[18px] mt-0.5 mb-1 space-y-0.5 border-l border-line-soft pl-2`,children:g.map(e=>(0,m.jsxs)(`div`,{className:`grid grid-cols-[130px_1fr] items-center gap-3 px-2`,title:`${e.name} — ${e.status}`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[(0,m.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${$T[e.status]}`}),(0,m.jsx)(`span`,{className:`truncate text-[10px] text-fg-2`,children:e.name})]}),(0,m.jsxs)(`span`,{className:`relative h-3`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),(0,m.jsx)(`span`,{className:`absolute top-1/2 h-2 -translate-y-1/2 rounded-[2px] transition-all duration-500 ease-out ${QT[e.status]}`,style:{left:`${e.left}%`,width:`${e.width}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[9px] text-faint`,style:{left:`min(${e.left+e.width}%, calc(100% - 38px))`},children:ZT(e.ms)})]})]},e.key))}),y&&v!==void 0&&S&&(0,m.jsx)(`div`,{className:`ml-[18px] mt-0.5 mb-1 border-l border-line-soft pl-2`,children:(0,m.jsx)(sE,{id:v,depth:r+1,selectedKey:i,onSelect:a,onOpenRun:o,expanded:c,onToggleChild:s})})]})}function tE({label:e,fanFailed:t,memberRows:n,rowProps:r}){return(0,m.jsxs)(`div`,{className:`rounded-md bg-hover/30 ring-1 ring-line-soft`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1`,children:[(0,m.jsx)(`span`,{className:`text-[11px] text-violet/80`,title:`parallel fan-out (ctx.gather / ctx.all)`,children:`⑃`}),(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.15em] text-dim`,children:`parallel`}),(0,m.jsx)(`span`,{className:`text-[11px] ${t?`text-bad`:`text-fg-2`}`,children:e})]}),(0,m.jsx)(`div`,{className:`ml-[10px] border-l border-line-soft pl-1`,children:n.map(e=>(0,m.jsx)(eE,{row:e,...r},e.step.seq))})]})}var nE=28;function rE({fan:e,frame:t,rowProps:n}){let[r,i]=(0,p.useState)(!1),[a,o]=(0,p.useState)(!1),s=RT(n.run.status),c=PT(e,s),l=FT(e,s),u=l===`running`||l===`pending`,d=TS(n.run.status),f=e.startedAt?new Date(e.startedAt).getTime():void 0,h=e.finishedAt?new Date(e.finishedAt).getTime():u&&d?t.liveNow:f,g=(0,p.useMemo)(()=>e.failures.map(e=>XT(e,void 0,t)),[e.failures,t]);return(0,m.jsxs)(`div`,{className:`rounded-md bg-hover/30 ring-1 ring-line-soft`,children:[(0,m.jsxs)(`div`,{className:`grid grid-cols-[150px_1fr] items-center gap-3 px-2 py-1`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5 truncate`,children:[(0,m.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`shrink-0 text-dim transition-colors hover:text-fg-2`,title:r?`Hide the members`:`List the ${e.size} members started`,children:(0,m.jsx)(`span`,{className:`inline-block transition-transform`,style:{transform:r?`rotate(90deg)`:`rotate(0deg)`},children:`▸`})}),(0,m.jsx)(`span`,{className:`text-[11px] text-violet/80`,title:`parallel fan-out, summarized`,children:`⑃`}),(0,m.jsxs)(`span`,{className:`truncate text-[12px] ${l===`failed`?`text-bad`:`text-fg-2`}`,title:e.group,children:[e.label,` ×`,c.total]})]}),(0,m.jsxs)(`span`,{className:`relative h-5`,children:[(0,m.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-line-soft`}),f!==void 0&&h!==void 0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`absolute top-1/2 h-3.5 -translate-y-1/2 rounded-[3px] ${l===`failed`?`bg-bad/25 ring-1 ring-bad/40`:`bg-violet/20 ring-1 ring-violet/40`} ${u?`pulse`:``}`,style:{left:`${(f-t.t0)/t.span*100}%`,width:`${Math.max((h-f)/t.span*100,.8)}%`}}),(0,m.jsx)(`span`,{className:`mono tnum absolute top-1/2 -translate-y-1/2 whitespace-nowrap pl-1 text-[10px] text-dim`,style:{left:`min(${(h-t.t0)/t.span*100}%, calc(100% - 44px))`},children:ZT(h-f)})]})]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-3 px-2 pb-1.5 pl-[26px]`,children:[(0,m.jsx)(`span`,{className:`flex h-1.5 w-40 shrink-0 overflow-hidden rounded-full bg-hover`,children:UT.map(e=>c[e.key]>0?(0,m.jsx)(`span`,{className:e.className,style:{width:`${c[e.key]/Math.max(c.total,1)*100}%`}},e.key):null)}),(0,m.jsxs)(`span`,{className:`mono tnum flex flex-wrap gap-2 text-[10px]`,children:[c.started<c.total&&(0,m.jsxs)(`span`,{className:`text-fg-2`,children:[IT(c),` started`]}),UT.map(t=>c[t.key]>0?(0,m.jsxs)(`span`,{className:t.text,children:[c[t.key],` `,t.label,t.key===`skipped`&&e.failFast?` (failFast)`:``]},t.key):null)]})]}),g.length>0&&!r&&(0,m.jsxs)(`div`,{className:`ml-[10px] border-l border-bad/30 pl-1`,children:[(0,m.jsx)(`div`,{className:`mono px-2 text-[10px] text-bad/70`,children:c.failed>g.length?`first ${g.length} of ${c.failed} failed`:`${g.length} failed`}),g.map(e=>(0,m.jsx)(eE,{row:e,...n},e.step.seq))]}),r&&(0,m.jsxs)(`div`,{className:`ml-[10px] border-l border-line-soft pl-1`,children:[(0,m.jsx)(`div`,{className:`flex items-center gap-2 px-2 py-0.5`,children:(0,m.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`mono rounded border px-1.5 text-[10px] transition-colors ${a?`border-bad/40 bg-bad/15 text-bad`:`border-line text-dim hover:text-fg-2`}`,children:`failed only`})}),(0,m.jsx)(iE,{group:e.group,failedOnly:a,live:u&&d,frame:t,rowProps:n},a?`failed`:`all`)]})]})}function iE({group:e,failedOnly:t,live:n,frame:r,rowProps:i}){let a=i.run.id,o=(0,p.useRef)(null),[s,c]=(0,p.useState)(),l=nT({count:s??0,getScrollElement:()=>o.current,estimateSize:()=>nE,measureElement:e=>e.getBoundingClientRect().height,overscan:10}),u=l.getVirtualItems(),d=HT(u[0]?.index,u[u.length-1]?.index),f=Xe({queries:d.map(r=>({queryKey:[`fan`,a,e,t,r],queryFn:()=>XS.fanMembers(a,e,{page:r+1,size:100,failed:t}),refetchInterval:n?5e3:!1}))}),h=f.find(e=>e.data!==void 0)?.data?.meta.total;(0,p.useEffect)(()=>{h!==void 0&&c(h)},[h]);let g=e=>{let t=d.indexOf(Math.floor(e/100));return t<0?void 0:f[t]},_=e=>g(e)?.data?.data[e%100],v=f.find(e=>e.isError);return s===void 0&&v?(0,m.jsxs)(`div`,{className:`mono px-2 py-1 text-[10px] text-bad`,children:[`couldn't load members:`,` `,v.error instanceof Error?v.error.message:String(v.error)]}):s===void 0?(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:`loading members…`}):s===0?(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:t?`no failed members`:`no members`}):(0,m.jsx)(`div`,{ref:o,className:`max-h-[320px] overflow-auto`,children:(0,m.jsx)(`div`,{className:`relative w-full`,style:{height:l.getTotalSize()},children:u.map(e=>{let t=_(e.index);return(0,m.jsx)(`div`,{"data-index":e.index,ref:l.measureElement,className:`absolute inset-x-0 top-0`,style:{transform:`translateY(${e.start}px)`},children:t?(0,m.jsx)(eE,{row:XT(t,void 0,r),...i}):(0,m.jsx)(aE,{index:e.index,page:g(e.index)})},e.key)})})})}function aE({index:e,page:t}){return t?.isError?(0,m.jsxs)(`div`,{className:`mono flex items-center gap-2 px-2 text-[10px] leading-7 text-bad`,style:{height:nE},children:[(0,m.jsxs)(`span`,{className:`truncate`,children:[`#`,e+1,` couldn't load:`,` `,t.error instanceof Error?t.error.message:String(t.error)]}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>void t.refetch(),className:`rounded border border-bad/40 px-1.5 text-bad hover:bg-bad/15`,children:`retry`})]}):(0,m.jsxs)(`div`,{className:`mono px-2 text-[10px] leading-7 text-faint`,style:{height:nE},children:[`#`,e+1,` loading…`]})}function oE({run:e,timeline:t,fans:n=KT,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,expanded:s,onToggleChild:c}){let l=qT(t),{frame:u,rows:d}=(0,p.useMemo)(()=>{let r=Date.now(),i=t.map(e=>{let t=_T(e),n=t===void 0?void 0:l[t];return{step:e,childRun:n,window:JT(e,n,r)}}),a=YT(e,i.map(e=>e.window),n);return{frame:a,rows:i.map(e=>XT(e.step,e.childRun,a,e.window))}},[e,t,n,l]),f=(0,p.useMemo)(()=>MT(t,n),[t,n]),h=(0,p.useMemo)(()=>{let e=new Map;for(let t of d)e.set(t.step.seq,t);return e},[d]),[g,_]=(0,p.useState)(new Set),v={run:e,childRuns:l,depth:r,selectedKey:i,onSelect:a,onOpenRun:o,onToggleChild:c,expanded:s,collapsedSubs:g,toggleSubs:e=>_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,m.jsx)(m.Fragment,{children:f.map(e=>{if(e.kind===`single`){let t=h.get(e.step.seq);return t?(0,m.jsx)(eE,{row:t,...v},t.step.seq):null}if(e.kind===`summary`)return(0,m.jsx)(rE,{fan:e.fan,frame:u,rowProps:v},`fan:${e.fan.group}`);let t=e.steps.map(e=>h.get(e.seq)).filter(e=>e!==void 0);return(0,m.jsx)(tE,{label:e.label,fanFailed:e.steps.some(e=>e.status===`failed`),memberRows:t,rowProps:v},`fan:${e.group}`)})})}function sE({id:e,depth:t,selectedKey:n,onSelect:r,onOpenRun:i,expanded:a,onToggleChild:o}){let{data:s}=Qe({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT});return t>6?null:s?(0,m.jsxs)(`div`,{className:`my-1 rounded-md border border-line bg-sunken/15`,children:[(0,m.jsxs)(`div`,{className:`mono flex items-center gap-2 px-2 py-1 text-[10px] text-dim`,children:[(0,m.jsxs)(`span`,{className:`text-violet`,children:[`⌁ `,s.run.workflow]}),(0,m.jsx)(`span`,{className:`tnum text-faint`,children:e.slice(0,8)}),(0,m.jsx)(`span`,{className:`s-${s.run.status} uppercase`,children:s.run.status}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`ml-auto rounded border border-line px-1.5 text-fg-2 hover:text-fg`,children:`open ↗`})]}),(0,m.jsx)(oE,{run:s.run,timeline:s.timeline,fans:s.fans,depth:t,selectedKey:n,onSelect:r,onOpenRun:i,expanded:a,onToggleChild:o})]}):(0,m.jsx)(`div`,{className:`mono px-2 py-1 text-[10px] text-faint`,children:`loading child run…`})}function cE({run:e,timeline:t,fans:n,selectedKey:r,onSelect:i,onOpenRun:a,expanded:o,onToggleChild:s}){let c=(0,p.useMemo)(()=>YT(e,t.map(e=>[new Date(e.startedAt).getTime(),new Date(e.finishedAt).getTime()]),n??KT).span,[e,t,n]),l=o??new Set,u=s??(()=>{});return(0,m.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between px-4 pb-2 pt-3`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.2em] text-dim`,children:`spans`}),(0,m.jsxs)(`span`,{className:`mono tnum text-[10px] text-faint`,children:[`total `,ZT(c)]})]}),(0,m.jsx)(`div`,{className:`min-h-0 flex-1 space-y-1 overflow-auto px-3 pb-3`,children:(0,m.jsx)(oE,{run:e,timeline:t,fans:n,depth:0,selectedKey:r,onSelect:i,onOpenRun:a,expanded:l,onToggleChild:u})})]})}function lE(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(2)}s`:`${(e/6e4).toFixed(2)}m`}function uE(e,t){return lE(new Date(t).getTime()-new Date(e).getTime())}function dE(e){return fE(new Date(e).getTime())}function fE(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,fractionalSecondDigits:3})}var pE={ok:`border-good/25 bg-good/10 text-good`,failed:`border-bad/25 bg-bad/10 text-bad`,skipped:`border-warn/25 bg-warn/10 text-warn`},mE={debug:`text-dim`,info:`text-fg-2`,warn:`text-warn`,error:`text-bad`},hE=[`ok`,`failed`,`skipped`];function gE({e}){return(0,m.jsxs)(`div`,{className:`flex gap-2 py-0.5`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint tnum`,children:fE(e.at)}),(0,m.jsx)(`span`,{className:`shrink-0 uppercase ${mE[e.level]}`,children:e.level}),(0,m.jsx)(`span`,{className:`min-w-0 break-words text-fg-2`,children:e.message})]})}function _E({sub:e,showGroup:t=!0}){let n=e.terminal?.message!==void 0&&e.terminal.message!==e.name,r=e.phases.length>0||e.logs.length>0||n,[i,a]=(0,p.useState)(e.status===`failed`),o=e.status?pE[e.status]:`border-warn/25 bg-warn/10 text-warn`;return(0,m.jsxs)(`li`,{className:`rounded-md border ${o}`,children:[(0,m.jsxs)(`button`,{type:`button`,disabled:!r,onClick:()=>a(e=>!e),className:`flex w-full items-center justify-between gap-2 px-2.5 py-1.5 text-left text-[11.5px] disabled:cursor-default`,"aria-expanded":r?i:void 0,children:[(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[r&&(0,m.jsx)(`span`,{className:`text-[9px] text-dim transition-transform duration-150 ${i?``:`-rotate-90`}`,children:`▼`}),(0,m.jsx)(`span`,{className:`mono truncate text-fg`,children:e.name}),t&&e.group&&(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-wider text-dim`,children:e.group})]}),(0,m.jsxs)(`span`,{className:`mono flex shrink-0 items-center gap-2 text-[10px] uppercase tracking-wider`,children:[e.durationMs!==void 0&&(0,m.jsx)(`span`,{className:`tnum text-fg-2`,children:lE(e.durationMs)}),(0,m.jsx)(`span`,{children:e.status??`running`})]})]}),i&&(0,m.jsxs)(`div`,{className:`border-t border-line/60 px-2.5 py-2`,children:[e.phases.length>0&&(0,m.jsx)(`ul`,{className:`mono mb-2 flex flex-col gap-0.5 text-[10.5px]`,children:e.phases.map((t,n)=>(0,m.jsxs)(`li`,{className:`flex gap-2`,children:[(0,m.jsx)(`span`,{className:`shrink-0 text-faint tnum`,children:fE(t.at)}),(0,m.jsx)(`span`,{className:`text-fg-2`,children:t.phase}),e.startedAt!==void 0&&(0,m.jsxs)(`span`,{className:`text-faint tnum`,children:[`+`,lE(t.at-e.startedAt)]})]},`${t.at}-${t.phase}-${n}`))}),e.terminal?.message&&e.terminal.message!==e.name&&(0,m.jsx)(`div`,{className:`mono mb-2 rounded border p-2 text-[11px] ${e.status===`failed`?`border-bad/25 bg-bad/10 text-bad`:`border-line bg-sunken/20 text-fg-2`}`,children:e.terminal.message}),e.logs.length>0&&(0,m.jsx)(`div`,{className:`mono flex flex-col gap-0.5 text-[11px]`,children:e.logs.map((e,t)=>(0,m.jsx)(gE,{e},`${e.at}-${t}`))})]})]})}function vE({events:e}){let{subs:t,stepLogs:n}=Xx(e),r=hE.map(e=>[e,t.filter(t=>t.status===e).length]).filter(([,e])=>e>0),i=t.some(e=>e.group);return(0,m.jsxs)(m.Fragment,{children:[t.length>0&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsxs)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:[`sub-processes · `,t.length]}),(0,m.jsx)(`span`,{className:`mono flex gap-2 text-[10px] uppercase tracking-wider`,children:r.map(([e,t])=>(0,m.jsxs)(`span`,{className:pE[e].split(` `).pop(),children:[t,` `,e]},e))})]}),i?Object.entries(t.reduce((e,t)=>{let n=t.group??`—`;return e[n]===void 0&&(e[n]=[]),e[n].push(t),e},{})).sort(([e],[t])=>e===`—`?1:t===`—`?-1:e.localeCompare(t)).map(([e,t])=>(0,m.jsxs)(`div`,{className:`mb-2`,children:[(0,m.jsx)(`div`,{className:`mono mb-1 text-[10px] uppercase tracking-wider text-dim`,children:e}),(0,m.jsx)(`ul`,{className:`flex flex-col gap-1`,children:t.map(e=>(0,m.jsx)(_E,{sub:e,showGroup:!1},e.id))})]},e)):(0,m.jsx)(`ul`,{className:`flex flex-col gap-1`,children:t.map(e=>(0,m.jsx)(_E,{sub:e},e.id))})]}),n.length>0&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mono mb-1.5 text-[10px] uppercase tracking-[0.18em] text-dim`,children:[`logs · `,n.length]}),(0,m.jsx)(`div`,{className:`mono max-h-64 overflow-auto rounded-lg border border-line bg-sunken/40 p-2.5 text-[11px] leading-relaxed`,children:n.map((e,t)=>(0,m.jsx)(gE,{e},`${e.at}-${t}`))})]})]})}function yE({value:e}){let[t,n]=(0,p.useState)(!1);return(0,m.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded border border-line px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-dim transition-colors hover:text-fg`,onClick:async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1200)}catch{}},children:[t?(0,m.jsx)(TC,{width:11,height:11}):(0,m.jsx)(DC,{width:11,height:11}),t?`copied`:`copy`]})}function bE({label:e,value:t}){let n=typeof t==`string`?t:JSON.stringify(t,null,2);return(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:e}),(0,m.jsx)(yE,{value:n})]}),(0,m.jsx)(`pre`,{className:`mono max-h-64 overflow-auto rounded-lg border border-line bg-sunken/40 p-3 text-[11.5px] leading-relaxed text-fg-2`,children:n})]})}function xE({error:e}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mono mb-1.5 flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-bad/80`,children:[(0,m.jsx)(`span`,{children:`error`}),e.code&&(0,m.jsx)(`span`,{className:`rounded border border-bad/30 px-1.5 py-px normal-case tracking-normal text-bad`,children:e.code})]}),(0,m.jsx)(`div`,{className:`mono rounded-lg border border-bad/25 bg-bad/10 p-3 text-[11.5px] leading-relaxed text-bad`,children:e.message})]}),e.details!==void 0&&(0,m.jsx)(bE,{label:`error details`,value:e.details})]})}function SE({k:e,v:t,mono:n=!0}){return(0,m.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 py-1.5`,children:[(0,m.jsx)(`span`,{className:`mono shrink-0 text-[10px] uppercase tracking-[0.16em] text-faint`,children:e}),(0,m.jsx)(`span`,{className:`truncate text-right text-[12px] text-fg ${n?`mono tnum`:``}`,children:t})]})}function CE({id:e,onOpenRun:t}){let{data:n}=Qe({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT}),[r,i]=(0,p.useState)(new Set);return n?n.timeline.length===0?(0,m.jsxs)(`div`,{className:`mono px-2 py-2 text-[10px] text-faint`,children:[`no steps recorded yet — child `,n.run.status]}):(0,m.jsx)(`div`,{className:`mt-2 max-h-80 space-y-1 overflow-auto rounded-md border border-line bg-sunken/20 p-1.5`,children:(0,m.jsx)(oE,{run:n.run,timeline:n.timeline,depth:0,onSelect:()=>{},onOpenRun:t??(()=>{}),expanded:r,onToggleChild:e=>i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})})}):(0,m.jsx)(`div`,{className:`mono px-2 py-2 text-[10px] text-faint`,children:`loading child run…`})}function wE({step:e,run:t,onClose:n,onOpenRun:r}){let i=_T(e),[a,o]=(0,p.useState)(!1),s=e.status===`failed`,c=e.status===`pending`||e.status===`running`,l=PC(e.kind),u=uE(t.createdAt,e.startedAt),d=e.enqueuedAt?new Date(e.startedAt).getTime()-new Date(e.enqueuedAt).getTime():0;return(0,m.jsxs)(`aside`,{className:`absolute inset-y-0 right-0 z-20 flex w-[380px] max-w-[90%] flex-col border-l border-line bg-panel/95 shadow-2xl backdrop-blur-md rise`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-line px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`grid h-6 w-6 shrink-0 place-items-center rounded-md ${s?`bg-bad/15 text-bad`:c?`bg-warn/15 text-warn`:`bg-good/15 text-good`}`,children:(0,m.jsx)(l,{width:13,height:13})}),(0,m.jsx)(`h3`,{className:`truncate text-[15px] font-semibold tracking-tight text-fg`,children:e.name})]}),(0,m.jsxs)(`div`,{className:`mono mt-1 text-[11px] uppercase tracking-wider s-${e.status}`,children:[e.status,` · `,FC[e.kind]??e.kind]})]}),(0,m.jsx)(`button`,{type:`button`,onClick:n,className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-line text-dim transition-colors hover:text-fg`,"aria-label":`Close`,children:(0,m.jsx)(EC,{})})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-auto px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`rounded-lg border border-line bg-sunken/20 px-3.5 py-1`,children:[(0,m.jsx)(SE,{k:`seq`,v:`#${e.seq}`}),d>=1&&(0,m.jsx)(SE,{k:`queued`,v:(0,m.jsx)(`span`,{className:`text-info`,children:lE(d)})}),(0,m.jsx)(SE,{k:`duration`,v:c?(0,m.jsx)(`span`,{className:`text-warn`,children:`running…`}):uE(e.startedAt,e.finishedAt)}),(0,m.jsx)(SE,{k:`attempts`,v:(0,m.jsxs)(`span`,{className:e.attempts>1?`text-warn`:``,children:[e.attempts>1&&(0,m.jsx)(kC,{width:11,height:11,className:`mr-1 inline`}),e.attempts]})}),e.workerGroup&&(0,m.jsx)(SE,{k:`worker`,v:`@${e.workerGroup}`}),(0,m.jsx)(SE,{k:`started`,v:dE(e.startedAt)}),!c&&(0,m.jsx)(SE,{k:`finished`,v:dE(e.finishedAt)}),(0,m.jsx)(SE,{k:`offset`,v:`+${u}`})]}),s&&e.error&&(0,m.jsx)(xE,{error:e.error}),e.events&&e.events.length>0&&(0,m.jsx)(vE,{events:e.events}),i&&(0,m.jsxs)(`section`,{className:`rise`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,m.jsx)(`span`,{className:`mono text-[10px] uppercase tracking-[0.18em] text-dim`,children:`child run`}),r&&(0,m.jsx)(`button`,{type:`button`,onClick:()=>r(i),className:`mono rounded border border-line px-1.5 py-0.5 text-[10px] uppercase tracking-wider text-dim transition-colors hover:text-fg`,children:`open ↗`})]}),(0,m.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`flex w-full items-center gap-2 rounded-md border border-violet/30 bg-violet/10 px-2.5 py-1.5 text-left transition-colors hover:bg-violet/20`,title:a?`Collapse child run`:`Expand child run inline`,children:[(0,m.jsx)(`span`,{className:`inline-block text-[9px] text-violet transition-transform`,style:{transform:a?`rotate(90deg)`:`rotate(0deg)`},children:`▸`}),(0,m.jsx)(`span`,{className:`mono truncate text-[11px] text-violet`,children:i})]}),a&&(0,m.jsx)(CE,{id:i,onOpenRun:r})]}),e.input!==void 0&&(0,m.jsx)(bE,{label:`input`,value:e.input}),e.output!==void 0&&(0,m.jsx)(bE,{label:`output`,value:e.output})]})]})}var TE=`durable:lifecycle:pending`;function EE(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.round(t/60);if(n<60)return`${n}m`;let r=Math.round(n/60);return r<48?`${r}h`:`${Math.round(r/24)}d`}function DE(e,t){switch(e.state){case`started`:return`started`;case`owed`:{let n=e.owedSince===void 0?`owed`:`owed for ${EE(t-e.owedSince)}`;return e.orphanAt===void 0?n:`${n} · orphan in ${EE(e.orphanAt-t)}`}case`failed`:return e.error?`failed: ${e.error}`:`failed`;case`coalesced`:return`coalesced`;default:return`not started`}}var OE="No run and nothing owed: its `where` declined the event, or it subscribed after the run settled.",kE="Its last delivery failed: `where` threw, the input was rejected, the start failed, or the sweep dropped it as an orphan. The reason is in the run.trigger_failed event. Republish retries it.",AE=`No live instance registers or announces this subscriber; the lifecycle sweep drops it then and reports run.trigger_failed.`;function jE({status:e}){return e?(0,m.jsx)(nC,{variant:`bare`,className:`s-${e} text-[10px]`,children:e}):null}function ME({runId:e,onOpenRun:t}){return(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e),className:`mono max-w-[28rem] truncate px-1.5 py-0`,title:e,children:e})}function NE({source:e,onOpenRun:t}){return(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-1`,"data-testid":`lifecycle-source`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`started by`}),(0,m.jsx)(ME,{runId:e.runId,onOpenRun:t}),(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`on`}),(0,m.jsx)(nC,{variant:`neutral`,className:J(`text-[10px]`,e.kind===`failed`?`s-failed`:`s-completed`),children:e.kind}),(0,m.jsx)(jE,{status:e.status}),e.traceId&&(0,m.jsxs)(`span`,{className:`ml-1 flex items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`trace`}),(0,m.jsx)(`span`,{className:`mono text-[10px] text-fg-2`,title:`The source run's trace id`,children:e.traceId}),(0,m.jsx)(yE,{value:e.traceId})]})]})}function PE({waitsFor:e=[],awaitedBy:t=[],onOpenRun:n}){return e.length===0&&t.length===0?null:(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-1`,children:[e.map(e=>(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,"data-testid":`waits-for`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-warn/80`,children:`Waiting for run`}),(0,m.jsx)(ME,{runId:e.runId,onOpenRun:n}),(0,m.jsx)(jE,{status:e.status})]},`${e.runId}#${e.seq}`)),t.length>0&&(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,"data-testid":`awaited-by`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`Awaited by`}),t.map(e=>(0,m.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(ME,{runId:e.runId,onOpenRun:n}),(0,m.jsx)(jE,{status:e.status})]},`${e.runId}#${e.seq}`))]})]})}function FE({deliveries:e,errors:t,now:n=Date.now(),onOpenRun:r}){return e.length===0?null:(0,m.jsxs)(`section`,{"aria-label":`Lifecycle subscribers`,className:`mt-3`,children:[(0,m.jsx)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:`Lifecycle subscribers`}),(0,m.jsx)(`ul`,{className:`mt-1 flex flex-col gap-1`,children:e.map(e=>{let i=e.state===`failed`?t?.get(e.subscriber):void 0,a=i!==void 0&&e.error===void 0?{...e,error:i}:e;return(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5`,"data-state":a.state,children:[(0,m.jsx)(`span`,{className:`mono text-[12px] text-fg`,children:a.subscriber}),(0,m.jsx)(nC,{variant:a.state===`owed`?`warn`:a.state===`failed`?`destructive`:`neutral`,className:`text-[10px]`,title:a.state===`not-started`?OE:a.state===`failed`?kE:a.orphanAt===void 0?void 0:AE,children:DE(a,n)}),a.runId&&(0,m.jsx)(ME,{runId:a.runId,onOpenRun:r}),a.state===`started`&&(0,m.jsx)(jE,{status:a.status}),a.state===`failed`&&a.error===void 0&&(0,m.jsx)(`span`,{className:`text-[10px] text-dim`,children:`see the run.trigger_failed event for the reason`})]},a.subscriber)})})]})}function IE({tags:e,onChange:t}){let n=e.includes(TE);return(0,m.jsx)(Wi,{variant:`ghost`,size:`micro`,"aria-pressed":n,title:`Settled runs whose lifecycle event is still owed to a subscriber (tag durable:lifecycle:pending)`,onClick:()=>t(n?e.filter(e=>e!==TE):[...e,TE]),className:J(`mono rounded-md border-line`,n&&`border-warn/40 bg-warn/10 text-warn hover:text-warn`),children:`lifecycle pending`})}var LE=class{limit;events=[];pushed=0;listeners=new Set;constructor(e=200){this.limit=e}push(e){this.pushed+=1;let t=[...this.events,{id:this.pushed,event:e}];this.events=t.length>this.limit?t.slice(t.length-this.limit):t;for(let e of this.listeners)e()}snapshot=()=>this.events;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e))};function RE(e,t){if(!e)return t;let n=new Map(e.timeline.map(e=>[e.seq,e]));return{...t,timeline:t.timeline.map(e=>{if((e.status===`pending`||e.status===`running`)&&(e.events?.length??0)===0){let t=n.get(e.seq)?.events;if(t?.length)return{...e,events:t}}return e})}}function zE(e,t,n){if(!e)return e;let r=e.timeline.findIndex(e=>e.seq===t),i=e.timeline[r];if(i===void 0)return e;let a=[...e.timeline];return a[r]={...i,events:[...i.events??[],n]},{...e,timeline:a}}function BE(e,t,n=Date.now){let r=-1/0,i,a=()=>{i=void 0,r=n(),e()};return{call(){if(i!==void 0)return;let e=r+t-n();e<=0?a():i=setTimeout(a,e)},cancel(){i!==void 0&&clearTimeout(i),i=void 0}}}function VE(e){let t=e.lastIndexOf(`~retry~`);return t===-1?void 0:e.slice(0,t)}function HE(e){return(VE(e)??e).match(/^(.*)\.(?:child\.\d+|onError\.\d+)$/)?.[1]||void 0}function UE(e,t){if(t&&e.startsWith(`evt:`))for(let n of[`completed`,`failed`]){let r=`:${n}:${t}`;if(e.endsWith(r)&&e.length>4+r.length)return e.slice(4,-r.length)}}function WE(e){let t=[];if(e.type===`run.triggered`&&e.triggeredRunId&&t.push({rel:`triggered`,runId:e.triggeredRunId}),e.type===`run.started`){let n=UE(e.runId,e.workflow);n&&t.push({rel:`source`,runId:n});let r=HE(e.runId);r&&t.push({rel:`parent`,runId:r})}if(e.type.startsWith(`step.`)&&e.name){let n=_T({name:e.name});n&&t.push({rel:`child`,runId:n})}return t}function GE(e){let t=[];return e.name&&t.push(e.type===`run.triggered`||e.type===`run.trigger_failed`?`subscriber ${e.name}`:e.type===`run.routed`?`handler ${e.name}`:e.name),e.durationMs!==void 0&&t.push(`${e.durationMs}ms`),e.error?.message&&t.push(e.error.message),e.reason&&t.push(e.reason),t.join(` · `)}function KE(e){let t=new Map;for(let{event:n}of e)n.type===`run.trigger_failed`&&n.name&&t.set(n.name,n.error?.message??`unknown error`),n.type===`run.triggered`&&n.name&&t.delete(n.name);return t}function qE(e){return(0,p.useSyncExternalStore)(e.subscribe,e.snapshot,e.snapshot)}var JE={triggered:`started`,source:`started by`,child:`child`,parent:`child of`};function YE(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(11,23)}function XE({tail:e,onOpenRun:t}){let n=qE(e);return(0,m.jsxs)(`section`,{"aria-label":`Events`,className:`mt-3`,"data-testid":`run-events`,children:[(0,m.jsxs)(`h3`,{className:`text-[10px] uppercase tracking-wider text-dim`,children:[`Events`,n.length>0?` · ${n.length}`:``]}),n.length===0?(0,m.jsxs)(`p`,{className:`mt-1 text-[11px] text-dim`,children:[`Live only: the engine events of this run show here as they arrive while the page is open (the last `,e.limit,`). Nothing is stored, so earlier events are not shown.`]}):(0,m.jsx)(`ol`,{className:`mt-1 flex max-h-72 flex-col gap-0.5 overflow-auto`,children:[...n].reverse().map(({id:e,event:n})=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-1.5 text-[11px]`,"data-type":n.type,children:[(0,m.jsx)(`span`,{className:`mono text-dim`,children:YE(n.at)}),(0,m.jsx)(nC,{variant:n.type===`run.trigger_failed`||n.type.endsWith(`.failed`)||n.type===`run.unrouted`?`destructive`:`neutral`,className:`mono`,children:n.type}),(0,m.jsx)(`span`,{className:`text-fg-2`,children:GE(n)}),WE(n).map(e=>(0,m.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:JE[e.rel]}),(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e.runId),className:`mono max-w-[24rem] truncate px-1.5 py-0`,title:e.runId,children:e.runId})]},`${e.rel}:${e.runId}`))]},e))})]})}function ZE({deliveries:e,tail:t,onOpenRun:n}){let r=qE(t);return(0,m.jsx)(FE,{deliveries:e,errors:KE(r),onOpenRun:n})}function QE({run:e,onClose:t}){let n=e.input===void 0&&e.output===void 0&&!e.error;return(0,m.jsxs)(`aside`,{className:`absolute inset-y-0 right-0 z-30 flex w-[380px] max-w-[90%] flex-col border-l border-line bg-panel/95 shadow-2xl backdrop-blur-md rise`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-line px-5 py-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`h3`,{className:`truncate text-[15px] font-semibold tracking-tight text-fg`,children:e.workflow}),(0,m.jsxs)(`div`,{className:`mono mt-1 text-[11px] uppercase tracking-wider s-${e.status}`,children:[`run · `,e.status]})]}),(0,m.jsx)(`button`,{type:`button`,onClick:t,className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-line text-dim transition-colors hover:text-fg`,"aria-label":`Close`,children:(0,m.jsx)(EC,{})})]}),(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-auto px-5 py-4`,children:[e.error&&(0,m.jsx)(xE,{error:e.error}),e.input!==void 0&&(0,m.jsx)(bE,{label:`input`,value:e.input}),e.output!==void 0&&(0,m.jsx)(bE,{label:`output`,value:e.output}),n&&(0,m.jsx)(`div`,{className:`text-sm text-faint`,children:`No input/output recorded.`})]})]})}function $E(e){let t=e.trim();if(t!==``)return JSON.parse(t)}var eD=`Not available on a tenant deployment — delivering signals/updates/tasks needs the control plane.`;function tD({id:e,label:t,hint:n,draft:r,onDraft:i}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 mt-3 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:e,children:t}),(0,m.jsx)(`textarea`,{id:e,value:r,spellCheck:!1,placeholder:n,onChange:e=>i(e.target.value),className:`mono h-40 w-full resize-y rounded-lg border border-line bg-sunken/40 p-3 text-[11.5px] leading-relaxed text-fg-2 placeholder:text-faint focus:border-line-strong focus:outline-none`})]})}function nD({runId:e,targets:t,tenantPod:n,onDelivered:r}){let[i,a]=(0,p.useState)(void 0),[o,s]=(0,p.useState)(``),[c,l]=(0,p.useState)(``),[u,d]=(0,p.useState)(void 0),[f,h]=(0,p.useState)(void 0),g=e=>{s(e.verb===`signal`?e.token:``),l(``),d(void 0),h(void 0),a(e)},_=()=>a(void 0),v=()=>{_(),r()},y=e=>{h(KS(e)),d(e instanceof GS||e instanceof Error?e.message:`request failed`)},b=$e({mutationFn:t=>XS.signal(e,t.token,t.payload),onSuccess:v,onError:y}),x=$e({mutationFn:t=>XS.update(e,t.name,t.arg),onSuccess:v,onError:y}),S=$e({mutationFn:t=>XS.completeTask(e,t.name,t.result),onSuccess:v,onError:y}),C=$e({mutationFn:t=>XS.failTask(e,t.name,t.error),onSuccess:v,onError:y}),w=b.isPending||x.isPending||S.isPending||C.isPending;if(t.length===0)return null;let T=()=>{if(!i)return;if(i.verb===`task-fail`){C.mutate({name:i.name,error:c.trim()||`failed from console`});return}let e;try{e=$E(c)}catch(e){d(e instanceof Error?e.message:`Invalid JSON`);return}if(i.verb===`signal`){let t=o.trim();if(!t){d(`token is required`);return}b.mutate({token:t,payload:e})}else i.verb===`update`?x.mutate({name:i.name,arg:e}):S.mutate({name:i.name,result:e})},E=i?.verb===`signal`?`Deliver signal`:i?.verb===`update`?`Send update`:i?.verb===`task-complete`?`Complete task`:`Fail task`,D=i?.verb===`signal`?`resumes ${e} at its ctx.waitForSignal`:i?.verb===`update`?`delivers to ${e}'s ctx.onUpdate("${i.name}") — the workflow's validator arbitrates`:i?`settles ${e}'s external task "${i.name}"`:``;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-info/30 bg-info/10 px-7 py-3`,children:[(0,m.jsx)(`span`,{className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-info/40 bg-info/15 text-sm text-info`,"aria-hidden":!0,children:`✋`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`text-[13px] font-medium text-info`,children:`Waiting on a human`}),(0,m.jsxs)(`div`,{className:`mono truncate text-[11px] text-info/70`,children:[`this run is suspended until someone answers the wait`,t.length===1?``:`s`,` `,`below`]})]}),(0,m.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:t.map(e=>e.kind===`task`?(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`task `,e.name]}),(0,m.jsxs)(Wi,{variant:`brand`,size:`micro`,disabled:n||w,title:n?eD:`Complete task "${e.name}" with a result`,onClick:()=>g({verb:`task-complete`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(TC,{width:10,height:10}),`Complete task`]}),(0,m.jsxs)(Wi,{variant:`destructive`,size:`micro`,disabled:n||w,title:n?eD:`Fail task "${e.name}" with a reason`,onClick:()=>g({verb:`task-fail`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(EC,{width:10,height:10}),`Fail task`]})]},e.token):e.kind===`update`?(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`update `,e.name]}),(0,m.jsxs)(Wi,{variant:`info`,size:`micro`,disabled:n||w,title:n?eD:`Send a validated update to "${e.name}"`,onClick:()=>g({verb:`update`,name:e.name}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(kC,{width:10,height:10}),`Send update`]})]},e.token):(0,m.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono max-w-[180px] truncate text-[10px] text-info/80`,children:[`signal `,e.token]}),(0,m.jsxs)(Wi,{variant:`info`,size:`micro`,disabled:n||w,title:n?eD:`Deliver a payload on "${e.token}"`,onClick:()=>g({verb:`signal`,token:e.token}),className:`mono uppercase tracking-wider`,children:[(0,m.jsx)(kC,{width:10,height:10}),`Deliver signal`]})]},e.token))})]}),(0,m.jsxs)(zC,{open:i!==void 0,onOpenChange:e=>{e||_()},title:E,description:D,footer:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:_,children:`Cancel`}),(0,m.jsx)(Wi,{size:`sm`,variant:i?.verb===`task-fail`?`destructive`:`info`,disabled:w,onClick:T,children:E})]}),children:[i?.verb===`signal`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:`deliver-signal-token`,children:`token`}),(0,m.jsx)(LC,{id:`deliver-signal-token`,value:o,onChange:e=>{s(e.target.value),d(void 0)},onClear:()=>s(``),clearLabel:`clear token`,placeholder:`signal token…`,"aria-label":`signal token`}),(0,m.jsx)(tD,{id:`deliver-signal-payload`,label:`payload (json, optional)`,hint:`empty delivers no payload`,draft:c,onDraft:e=>{l(e),d(void 0)}})]}),i?.verb===`update`&&(0,m.jsx)(tD,{id:`send-update-arg`,label:`argument (json, optional)`,hint:`empty sends no argument`,draft:c,onDraft:e=>{l(e),d(void 0)}}),i?.verb===`task-complete`&&(0,m.jsx)(tD,{id:`complete-task-result`,label:`result (json, optional)`,hint:`empty completes with no result`,draft:c,onDraft:e=>{l(e),d(void 0)}}),i?.verb===`task-fail`&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:`fail-task-reason`,children:`reason`}),(0,m.jsx)(LC,{id:`fail-task-reason`,value:c,onChange:e=>{l(e.target.value),d(void 0)},onClear:()=>l(``),clearLabel:`clear reason`,placeholder:`failed from console`,"aria-label":`failure reason`})]}),u&&(0,m.jsx)(`p`,{className:`mono mt-2 rounded border border-bad/25 bg-bad/10 px-2 py-1 text-[11px] text-bad`,children:u}),f&&f.length>0&&(0,m.jsxs)(`div`,{className:`mt-2`,children:[(0,m.jsx)(`div`,{className:`mono mb-1 text-[10px] uppercase tracking-[0.18em] text-dim`,children:`waiting on — pick one`}),(0,m.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:f.map(e=>(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,className:`mono`,onClick:()=>{s(e),d(void 0),h(void 0)},children:e},e))})]})]})]})}function rD(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=rD(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var iD={value:()=>{}};function aD(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new oD(n)}function oD(e){this._=e}function sD(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}oD.prototype=aD.prototype={constructor:oD,on:function(e,t){var n=this._,r=sD(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=cD(n[i],e.name)))return i}else{if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=lD(n[i],e.name,t);else if(t==null)for(i in n)n[i]=lD(n[i],e.name,null);return this}},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new oD(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function cD(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function lD(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=iD,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var uD=`http://www.w3.org/1999/xhtml`,dD={svg:`http://www.w3.org/2000/svg`,xhtml:uD,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function fD(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),dD.hasOwnProperty(t)?{space:dD[t],local:e}:e}function pD(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===uD&&t.documentElement.namespaceURI===uD?t.createElement(e):t.createElementNS(n,e)}}function mD(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function hD(e){var t=fD(e);return(t.local?mD:pD)(t)}function gD(){}function _D(e){return e==null?gD:function(){return this.querySelector(e)}}function vD(e){typeof e!=`function`&&(e=_D(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new ok(r,this._parents)}function yD(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function bD(){return[]}function xD(e){return e==null?bD:function(){return this.querySelectorAll(e)}}function SD(e){return function(){return yD(e.apply(this,arguments))}}function CD(e){e=typeof e==`function`?SD(e):xD(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new ok(r,i)}function wD(e){return function(){return this.matches(e)}}function TD(e){return function(t){return t.matches(e)}}var ED=Array.prototype.find;function DD(e){return function(){return ED.call(this.children,e)}}function OD(){return this.firstElementChild}function kD(e){return this.select(e==null?OD:DD(typeof e==`function`?e:TD(e)))}var AD=Array.prototype.filter;function jD(){return Array.from(this.children)}function MD(e){return function(){return AD.call(this.children,e)}}function ND(e){return this.selectAll(e==null?jD:MD(typeof e==`function`?e:TD(e)))}function PD(e){typeof e!=`function`&&(e=wD(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new ok(r,this._parents)}function FD(e){return Array(e.length)}function ID(){return new ok(this._enter||this._groups.map(FD),this._parents)}function LD(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}LD.prototype={constructor:LD,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function RD(e){return function(){return e}}function zD(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new LD(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function BD(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new LD(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function VD(e){return e.__data__}function HD(e,t){if(!arguments.length)return Array.from(this,VD);var n=t?BD:zD,r=this._parents,i=this._groups;typeof e!=`function`&&(e=RD(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=UD(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new ok(o,r),o._enter=s,o._exit=c,o}function UD(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function WD(){return new ok(this._exit||this._groups.map(FD),this._parents)}function GD(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function KD(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new ok(s,this._parents)}function qD(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function JD(e){e||=YD;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new ok(i,this._parents).order()}function YD(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function XD(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ZD(){return Array.from(this)}function QD(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function $D(){let e=0;for(let t of this)++e;return e}function eO(){return!this.node()}function tO(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function nO(e){return function(){this.removeAttribute(e)}}function rO(e){return function(){this.removeAttributeNS(e.space,e.local)}}function iO(e,t){return function(){this.setAttribute(e,t)}}function aO(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function oO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function sO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function cO(e,t){var n=fD(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?rO:nO:typeof t==`function`?n.local?sO:oO:n.local?aO:iO)(n,t))}function lO(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function uO(e){return function(){this.style.removeProperty(e)}}function dO(e,t,n){return function(){this.style.setProperty(e,t,n)}}function fO(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function pO(e,t,n){return arguments.length>1?this.each((t==null?uO:typeof t==`function`?fO:dO)(e,t,n??``)):mO(this.node(),e)}function mO(e,t){return e.style.getPropertyValue(t)||lO(e).getComputedStyle(e,null).getPropertyValue(t)}function hO(e){return function(){delete this[e]}}function gO(e,t){return function(){this[e]=t}}function _O(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function vO(e,t){return arguments.length>1?this.each((t==null?hO:typeof t==`function`?_O:gO)(e,t)):this.node()[e]}function yO(e){return e.trim().split(/^|\s+/)}function bO(e){return e.classList||new xO(e)}function xO(e){this._node=e,this._names=yO(e.getAttribute(`class`)||``)}xO.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function SO(e,t){for(var n=bO(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function CO(e,t){for(var n=bO(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function wO(e){return function(){SO(this,e)}}function TO(e){return function(){CO(this,e)}}function EO(e,t){return function(){(t.apply(this,arguments)?SO:CO)(this,e)}}function DO(e,t){var n=yO(e+``);if(arguments.length<2){for(var r=bO(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?EO:t?wO:TO)(n,t))}function OO(){this.textContent=``}function kO(e){return function(){this.textContent=e}}function AO(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function jO(e){return arguments.length?this.each(e==null?OO:(typeof e==`function`?AO:kO)(e)):this.node().textContent}function MO(){this.innerHTML=``}function NO(e){return function(){this.innerHTML=e}}function PO(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function FO(e){return arguments.length?this.each(e==null?MO:(typeof e==`function`?PO:NO)(e)):this.node().innerHTML}function IO(){this.nextSibling&&this.parentNode.appendChild(this)}function LO(){return this.each(IO)}function RO(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zO(){return this.each(RO)}function BO(e){var t=typeof e==`function`?e:hD(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function VO(){return null}function HO(e,t){var n=typeof e==`function`?e:hD(e),r=t==null?VO:typeof t==`function`?t:_D(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function UO(){var e=this.parentNode;e&&e.removeChild(this)}function WO(){return this.each(UO)}function GO(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KO(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qO(e){return this.select(e?KO:GO)}function JO(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function YO(e){return function(t){e.call(this,t,this.__data__)}}function XO(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function ZO(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function QO(e,t,n){return function(){var r=this.__on,i,a=YO(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function $O(e,t,n){var r=XO(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}}else{for(s=t?QO:ZO,i=0;i<a;++i)this.each(s(r[i],t,n));return this}}function ek(e,t,n){var r=lO(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function tk(e,t){return function(){return ek(this,e,t)}}function nk(e,t){return function(){return ek(this,e,t.apply(this,arguments))}}function rk(e,t){return this.each((typeof t==`function`?nk:tk)(e,t))}function*ik(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var ak=[null];function ok(e,t){this._groups=e,this._parents=t}function sk(){return new ok([[document.documentElement]],ak)}function ck(){return this}ok.prototype=sk.prototype={constructor:ok,select:vD,selectAll:CD,selectChild:kD,selectChildren:ND,filter:PD,data:HD,enter:ID,exit:WD,join:GD,merge:KD,selection:ck,order:qD,sort:JD,call:XD,nodes:ZD,node:QD,size:$D,empty:eO,each:tO,attr:cO,style:pO,property:vO,classed:DO,text:jO,html:FO,raise:LO,lower:zO,append:BO,insert:HO,remove:WO,clone:qO,datum:JO,on:$O,dispatch:rk,[Symbol.iterator]:ik};function lk(e){return typeof e==`string`?new ok([[document.querySelector(e)]],[document.documentElement]):new ok([[e]],ak)}var uk=0;function dk(){return new fk}function fk(){this._=`@`+(++uk).toString(36)}fk.prototype=dk.prototype={constructor:fk,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};function pk(e){let t;for(;t=e.sourceEvent;)e=t;return e}function mk(e,t){if(e=pk(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var hk={passive:!1},gk={capture:!0,passive:!1};function _k(e){e.stopImmediatePropagation()}function vk(e){e.preventDefault(),e.stopImmediatePropagation()}function yk(e){var t=e.document.documentElement,n=lk(e).on(`dragstart.drag`,vk,gk);`onselectstart`in t?n.on(`selectstart.drag`,vk,gk):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function bk(e,t){var n=e.document.documentElement,r=lk(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,vk,gk),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var xk=e=>()=>e;function Sk(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Sk.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Ck(e){return!e.ctrlKey&&!e.button}function wk(){return this.parentNode}function Tk(e,t){return t??{x:e.x,y:e.y}}function Ek(){return navigator.maxTouchPoints||`ontouchstart`in this}function Dk(){var e=Ck,t=wk,n=Tk,r=Ek,i={},a=aD(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,hk).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!u&&e.call(this,n,r)){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(lk(n.view).on(`mousemove.drag`,m,gk).on(`mouseup.drag`,h,gk),yk(n.view),_k(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(vk(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){lk(e.view).on(`mousemove.drag mouseup.drag`,null),bk(e.view,l),vk(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(_k(n),c(`start`,n,i[s]))}function _(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(vk(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(_k(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=mk(l||r,t),p,m,h;if((h=n.call(e,new Sk(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=mk(l||a,t),_=o}u.call(r,e,new Sk(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:xk(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:xk(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:xk(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:xk(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Ok(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function kk(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ak(){}var jk=.7,Mk=1/jk,Nk=`\\s*([+-]?\\d+)\\s*`,Pk=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Fk=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Ik=/^#([0-9a-f]{3,8})$/,Lk=RegExp(`^rgb\\(${Nk},${Nk},${Nk}\\)$`),Rk=RegExp(`^rgb\\(${Fk},${Fk},${Fk}\\)$`),zk=RegExp(`^rgba\\(${Nk},${Nk},${Nk},${Pk}\\)$`),Bk=RegExp(`^rgba\\(${Fk},${Fk},${Fk},${Pk}\\)$`),Vk=RegExp(`^hsl\\(${Pk},${Fk},${Fk}\\)$`),Hk=RegExp(`^hsla\\(${Pk},${Fk},${Fk},${Pk}\\)$`),Uk={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};Ok(Ak,Jk,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Wk,formatHex:Wk,formatHex8:Gk,formatHsl:Kk,formatRgb:qk,toString:qk});function Wk(){return this.rgb().formatHex()}function Gk(){return this.rgb().formatHex8()}function Kk(){return sA(this).formatHsl()}function qk(){return this.rgb().formatRgb()}function Jk(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Ik.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Yk(t):n===3?new $k(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xk(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xk(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Lk.exec(e))?new $k(t[1],t[2],t[3],1):(t=Rk.exec(e))?new $k(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=zk.exec(e))?Xk(t[1],t[2],t[3],t[4]):(t=Bk.exec(e))?Xk(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Vk.exec(e))?oA(t[1],t[2]/100,t[3]/100,1):(t=Hk.exec(e))?oA(t[1],t[2]/100,t[3]/100,t[4]):Uk.hasOwnProperty(e)?Yk(Uk[e]):e===`transparent`?new $k(NaN,NaN,NaN,0):null}function Yk(e){return new $k(e>>16&255,e>>8&255,e&255,1)}function Xk(e,t,n,r){return r<=0&&(e=t=n=NaN),new $k(e,t,n,r)}function Zk(e){return e instanceof Ak||(e=Jk(e)),e?(e=e.rgb(),new $k(e.r,e.g,e.b,e.opacity)):new $k}function Qk(e,t,n,r){return arguments.length===1?Zk(e):new $k(e,t,n,r??1)}function $k(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ok($k,Qk,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new $k(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new $k(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $k(iA(this.r),iA(this.g),iA(this.b),rA(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:eA,formatHex:eA,formatHex8:tA,formatRgb:nA,toString:nA}));function eA(){return`#${aA(this.r)}${aA(this.g)}${aA(this.b)}`}function tA(){return`#${aA(this.r)}${aA(this.g)}${aA(this.b)}${aA((isNaN(this.opacity)?1:this.opacity)*255)}`}function nA(){let e=rA(this.opacity);return`${e===1?`rgb(`:`rgba(`}${iA(this.r)}, ${iA(this.g)}, ${iA(this.b)}${e===1?`)`:`, ${e})`}`}function rA(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function iA(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function aA(e){return e=iA(e),(e<16?`0`:``)+e.toString(16)}function oA(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new lA(e,t,n,r)}function sA(e){if(e instanceof lA)return new lA(e.h,e.s,e.l,e.opacity);if(e instanceof Ak||(e=Jk(e)),!e)return new lA;if(e instanceof lA)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new lA(o,s,c,e.opacity)}function cA(e,t,n,r){return arguments.length===1?sA(e):new lA(e,t,n,r??1)}function lA(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ok(lA,cA,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new lA(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new lA(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new $k(fA(e>=240?e-240:e+120,i,r),fA(e,i,r),fA(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new lA(uA(this.h),dA(this.s),dA(this.l),rA(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(){let e=rA(this.opacity);return`${e===1?`hsl(`:`hsla(`}${uA(this.h)}, ${dA(this.s)*100}%, ${dA(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function uA(e){return e=(e||0)%360,e<0?e+360:e}function dA(e){return Math.max(0,Math.min(1,e||0))}function fA(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var pA=Math.PI/180,mA=180/Math.PI,hA=18,gA=.96422,_A=1,vA=.82521,yA=4/29,bA=6/29,xA=3*bA*bA,SA=bA*bA*bA;function CA(e){if(e instanceof TA)return new TA(e.l,e.a,e.b,e.opacity);if(e instanceof MA)return NA(e);e instanceof $k||(e=Zk(e));var t=kA(e.r),n=kA(e.g),r=kA(e.b),i=EA((.2225045*t+.7168786*n+.0606169*r)/_A),a,o;return t===n&&n===r?a=o=i:(a=EA((.4360747*t+.3850649*n+.1430804*r)/gA),o=EA((.0139322*t+.0971045*n+.7141733*r)/vA)),new TA(116*i-16,500*(a-i),200*(i-o),e.opacity)}function wA(e,t,n,r){return arguments.length===1?CA(e):new TA(e,t,n,r??1)}function TA(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Ok(TA,wA,kk(Ak,{brighter(e){return new TA(this.l+hA*(e??1),this.a,this.b,this.opacity)},darker(e){return new TA(this.l-hA*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=gA*DA(t),e=_A*DA(e),n=vA*DA(n),new $k(OA(3.1338561*t-1.6168667*e-.4906146*n),OA(-.9787684*t+1.9161415*e+.033454*n),OA(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function EA(e){return e>SA?e**(1/3):e/xA+yA}function DA(e){return e>bA?e*e*e:xA*(e-yA)}function OA(e){return 255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055)}function kA(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function AA(e){if(e instanceof MA)return new MA(e.h,e.c,e.l,e.opacity);if(e instanceof TA||(e=CA(e)),e.a===0&&e.b===0)return new MA(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*mA;return new MA(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function jA(e,t,n,r){return arguments.length===1?AA(e):new MA(e,t,n,r??1)}function MA(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function NA(e){if(isNaN(e.h))return new TA(e.l,0,0,e.opacity);var t=e.h*pA;return new TA(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Ok(MA,jA,kk(Ak,{brighter(e){return new MA(this.h,this.c,this.l+hA*(e??1),this.opacity)},darker(e){return new MA(this.h,this.c,this.l-hA*(e??1),this.opacity)},rgb(){return NA(this).rgb()}}));var PA=-.14861,FA=1.78277,IA=-.29227,LA=-.90649,RA=1.97294,zA=RA*LA,BA=RA*FA,VA=FA*IA-LA*PA;function HA(e){if(e instanceof WA)return new WA(e.h,e.s,e.l,e.opacity);e instanceof $k||(e=Zk(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(VA*r+zA*t-BA*n)/(VA+zA-BA),a=r-i,o=(RA*(n-i)-IA*a)/LA,s=Math.sqrt(o*o+a*a)/(RA*i*(1-i)),c=s?Math.atan2(o,a)*mA-120:NaN;return new WA(c<0?c+360:c,s,i,e.opacity)}function UA(e,t,n,r){return arguments.length===1?HA(e):new WA(e,t,n,r??1)}function WA(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ok(WA,UA,kk(Ak,{brighter(e){return e=e==null?Mk:Mk**+e,new WA(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jk:jk**+e,new WA(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*pA,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new $k(255*(t+n*(PA*r+FA*i)),255*(t+n*(IA*r+LA*i)),255*(t+RA*r*n),this.opacity)}}));var GA=e=>()=>e;function KA(e,t){return function(n){return e+n*t}}function qA(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function JA(e,t){var n=t-e;return n?KA(e,n>180||n<-180?n-360*Math.round(n/360):n):GA(isNaN(e)?t:e)}function YA(e){return(e=+e)==1?XA:function(t,n){return n-t?qA(t,n,e):GA(isNaN(t)?n:t)}}function XA(e,t){var n=t-e;return n?KA(e,n):GA(isNaN(e)?t:e)}var ZA=(function e(t){var n=YA(t);function r(e,t){var r=n((e=Qk(e)).r,(t=Qk(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=XA(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function QA(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function $A(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ej(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=lj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function tj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function nj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function rj(e,t){var n={},r={},i;for(i in typeof e==`object`&&e||(e={}),typeof t==`object`&&t||(t={}),t)i in e?n[i]=lj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var ij=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aj=new RegExp(ij.source,`g`);function oj(e){return function(){return e}}function sj(e){return function(t){return e(t)+``}}function cj(e,t){var n=ij.lastIndex=aj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=ij.exec(e))&&(i=aj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:nj(r,i)})),n=aj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?sj(c[0].x):oj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function lj(e,t){var n=typeof t,r;return t==null||n===`boolean`?GA(t):(n===`number`?nj:n===`string`?(r=Jk(t))?(t=r,ZA):cj:t instanceof Jk?ZA:t instanceof Date?tj:$A(t)?QA:Array.isArray(t)?ej:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?rj:nj)(e,t)}var uj=180/Math.PI,dj={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fj(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*uj,skewX:Math.atan(c)*uj,scaleX:o,scaleY:s}}var pj;function mj(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?dj:fj(t.a,t.b,t.c,t.d,t.e,t.f)}function hj(e){return e==null||(pj||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),pj.setAttribute(`transform`,e),!(e=pj.transform.baseVal.consolidate()))?dj:(e=e.matrix,fj(e.a,e.b,e.c,e.d,e.e,e.f))}function gj(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:nj(e,i)},{i:c-2,x:nj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:nj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:nj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:nj(e,n)},{i:s-2,x:nj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var _j=gj(mj,`px, `,`px)`,`deg)`),vj=gj(hj,`, `,`)`,`)`),yj=1e-12;function bj(e){return((e=Math.exp(e))+1/e)/2}function xj(e){return((e=Math.exp(e))-1/e)/2}function Sj(e){return((e=Math.exp(2*e))-1)/(e+1)}var Cj=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<yj)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=bj(y),c=s/(n*g)*(i*Sj(t*r+y)-xj(y));return[a+c*d,o+c*f,s*i/bj(t*r+y)]}}return m.duration=Math.abs(h)*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4);function wj(e){return(function t(n){n=+n;function r(t,r){var i=e((t=UA(t)).h,(r=UA(r)).h),a=XA(t.s,r.s),o=XA(t.l,r.l),s=XA(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}wj(JA),wj(XA);var Tj=0,Ej=0,Dj=0,Oj=1e3,kj,Aj,jj=0,Mj=0,Nj=0,Pj=typeof performance==`object`&&performance.now?performance:Date,Fj=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Ij(){return Mj||=(Fj(Lj),Pj.now()+Nj)}function Lj(){Mj=0}function Rj(){this._call=this._time=this._next=null}Rj.prototype=zj.prototype={constructor:Rj,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?Ij():+n)+(t==null?0:+t),!this._next&&Aj!==this&&(Aj?Aj._next=this:kj=this,Aj=this),this._call=e,this._time=n,Wj()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wj())}};function zj(e,t,n){var r=new Rj;return r.restart(e,t,n),r}function Bj(){Ij(),++Tj;for(var e=kj,t;e;)(t=Mj-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Tj}function Vj(){Mj=(jj=Pj.now())+Nj,Tj=Ej=0;try{Bj()}finally{Tj=0,Uj(),Mj=0}}function Hj(){var e=Pj.now(),t=e-jj;t>Oj&&(Nj-=t,jj=e)}function Uj(){for(var e,t=kj,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:kj=n);Aj=e,Wj(r)}function Wj(e){Tj||(Ej&&=clearTimeout(Ej),e-Mj>24?(e<1/0&&(Ej=setTimeout(Vj,Math.ceil(e-Pj.now()-Nj)+1)),Dj&&=clearInterval(Dj)):(Dj||=(jj=Pj.now(),setInterval(Hj,Oj)),Tj=1,Fj(Vj)))}function Gj(e,t,n){var r=new Rj;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}function Kj(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var qj=3;(function e(t){t=+t;function n(e){return e**+t}return n.exponent=e,n})(qj),(function e(t){t=+t;function n(e){return 1-(1-e)**t}return n.exponent=e,n})(qj),(function e(t){t=+t;function n(e){return((e*=2)<=1?e**+t:2-(2-e)**t)/2}return n.exponent=e,n})(qj);function Jj(e){return(2**(-10*e)-.0009765625)*1.0009775171065494}var Yj=4/11;1/Yj/Yj;var Xj=1.70158;(function e(t){t=+t;function n(e){return(e=+e)*e*(t*(e-1)+e)}return n.overshoot=e,n})(Xj),(function e(t){t=+t;function n(e){return--e*e*((e+1)*t+e)+1}return n.overshoot=e,n})(Xj),(function e(t){t=+t;function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return n.overshoot=e,n})(Xj);var Zj=2*Math.PI,Qj=1,$j=.3;(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return t*Jj(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j),(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return 1-t*Jj(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j),(function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Zj);function i(e){return((e=e*2-1)<0?t*Jj(-e)*Math.sin((r-e)/n):2-t*Jj(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*Zj)},i.period=function(n){return e(t,n)},i})(Qj,$j);var eM=aD(`start`,`end`,`cancel`,`interrupt`),tM=[],nM=0,rM=1,iM=2,aM=3,oM=4,sM=5,cM=6;function lM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;pM(e,n,{name:t,index:r,group:i,on:eM,tween:tM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:nM})}function uM(e,t){var n=fM(e,t);if(n.state>nM)throw Error(`too late; already scheduled`);return n}function dM(e,t){var n=fM(e,t);if(n.state>aM)throw Error(`too late; already running`);return n}function fM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function pM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=zj(a,0,n.time);function a(e){n.state=rM,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==rM)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===aM)return Gj(o);f.state===oM?(f.state=cM,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=cM,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(Gj(function(){n.state===aM&&(n.state=oM,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=iM,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===iM){for(n.state=aM,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=sM,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===sM&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=cM,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function mM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n)(r=n[o]).name===t?(i=r.state>iM&&r.state<sM,r.state=cM,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]):a=!1;a&&delete e.__transition}}function hM(e){return this.each(function(){mM(this,e)})}function gM(e,t){var n,r;return function(){var i=dM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function _M(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=dM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function vM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=fM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?gM:_M)(n,e,t))}function yM(e,t,n){var r=e._id;return e.each(function(){var e=dM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return fM(e,r).value[t]}}function bM(e,t){var n;return(typeof t==`number`?nj:t instanceof Jk?ZA:(n=Jk(t))?(t=n,ZA):cj)(e,t)}function xM(e){return function(){this.removeAttribute(e)}}function SM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function CM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function wM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function TM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function EM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function DM(e,t){var n=fD(e),r=n===`transform`?vj:bM;return this.attrTween(e,typeof t==`function`?(n.local?EM:TM)(n,r,yM(this,`attr.`+e,t)):t==null?(n.local?SM:xM)(n):(n.local?wM:CM)(n,r,t))}function OM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function kM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function AM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&kM(e,i)),n}return i._value=t,i}function jM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&OM(e,i)),n}return i._value=t,i}function MM(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=fD(e);return this.tween(n,(r.local?AM:jM)(r,t))}function NM(e,t){return function(){uM(this,e).delay=+t.apply(this,arguments)}}function PM(e,t){return t=+t,function(){uM(this,e).delay=t}}function FM(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?NM:PM)(t,e)):fM(this.node(),t).delay}function IM(e,t){return function(){dM(this,e).duration=+t.apply(this,arguments)}}function LM(e,t){return t=+t,function(){dM(this,e).duration=t}}function RM(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?IM:LM)(t,e)):fM(this.node(),t).duration}function zM(e,t){if(typeof t!=`function`)throw Error();return function(){dM(this,e).ease=t}}function BM(e){var t=this._id;return arguments.length?this.each(zM(t,e)):fM(this.node(),t).ease}function VM(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();dM(this,e).ease=n}}function HM(e){if(typeof e!=`function`)throw Error();return this.each(VM(this._id,e))}function UM(e){typeof e!=`function`&&(e=wD(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new vN(r,this._parents,this._name,this._id)}function WM(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new vN(o,this._parents,this._name,this._id)}function GM(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function KM(e,t,n){var r,i,a=GM(t)?uM:dM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function qM(e,t){var n=this._id;return arguments.length<2?fM(this.node(),n).on.on(e):this.each(KM(n,e,t))}function JM(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function YM(){return this.on(`end.remove`,JM(this._id))}function XM(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=_D(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,lM(l[f],t,n,f,l,fM(u,n)));return new vN(a,this._parents,t,n)}function ZM(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=xD(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=fM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&lM(p,t,n,h,f,m);a.push(f),o.push(u)}return new vN(a,o,t,n)}var QM=sk.prototype.constructor;function $M(){return new QM(this._groups,this._parents)}function eN(e,t){var n,r,i;return function(){var a=mO(this,e),o=(this.style.removeProperty(e),mO(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function tN(e){return function(){this.style.removeProperty(e)}}function nN(e,t,n){var r,i=n+``,a;return function(){var o=mO(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function rN(e,t,n){var r,i,a;return function(){var o=mO(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),mO(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function iN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=dM(this,e),l=c.on,u=c.value[a]==null?s||=tN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function aN(e,t,n){var r=(e+=``)==`transform`?_j:bM;return t==null?this.styleTween(e,eN(e,r)).on(`end.style.`+e,tN(e)):typeof t==`function`?this.styleTween(e,rN(e,r,yM(this,`style.`+e,t))).each(iN(this._id,e)):this.styleTween(e,nN(e,r,t),n).on(`end.style.`+e,null)}function oN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function sN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&oN(e,a,n)),r}return a._value=t,a}function cN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,sN(e,t,n??``))}function lN(e){return function(){this.textContent=e}}function uN(e){return function(){var t=e(this);this.textContent=t??``}}function dN(e){return this.tween(`text`,typeof e==`function`?uN(yM(this,`text`,e)):lN(e==null?``:e+``))}function fN(e){return function(t){this.textContent=e.call(this,t)}}function pN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&fN(r)),t}return r._value=e,r}function mN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,pN(e))}function hN(){for(var e=this._name,t=this._id,n=yN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=fM(c,t);lM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new vN(r,this._parents,e,n)}function gN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=dM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var _N=0;function vN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function yN(){return++_N}var bN=sk.prototype;vN.prototype={constructor:vN,select:XM,selectAll:ZM,selectChild:bN.selectChild,selectChildren:bN.selectChildren,filter:UM,merge:WM,selection:$M,transition:hN,call:bN.call,nodes:bN.nodes,node:bN.node,size:bN.size,empty:bN.empty,each:bN.each,on:qM,attr:DM,attrTween:MM,style:aN,styleTween:cN,text:dN,textTween:mN,remove:YM,tween:vM,delay:FM,duration:RM,ease:BM,easeVarying:HM,end:gN,[Symbol.iterator]:bN[Symbol.iterator]};var xN={time:null,delay:0,duration:250,ease:Kj};function SN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function CN(e){var t,n;e instanceof vN?(t=e._id,e=e._name):(t=yN(),(n=xN).time=Ij(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&lM(c,e,t,l,o,n||SN(c,t));return new vN(r,this._parents,e,t)}sk.prototype.interrupt=hM,sk.prototype.transition=CN;var wN=e=>()=>e;function TN(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function EN(e,t,n){this.k=e,this.x=t,this.y=n}EN.prototype={constructor:EN,scale:function(e){return e===1?this:new EN(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new EN(this.k,this.x+this.k*e,this.y+this.k*t)},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 DN=new EN(1,0,0);ON.prototype=EN.prototype;function ON(e){for(;!e.__zoom;)if(!(e=e.parentNode))return DN;return e.__zoom}function kN(e){e.stopImmediatePropagation()}function AN(e){e.preventDefault(),e.stopImmediatePropagation()}function jN(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function MN(){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 NN(){return this.__zoom||DN}function PN(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function FN(){return navigator.maxTouchPoints||`ontouchstart`in this}function IN(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function LN(){var e=jN,t=MN,n=IN,r=PN,i=FN,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Cj,l=aD(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,NN).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,NN),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(DN.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new EN(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new EN(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new EN(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=lk(this.that).datum();l.call(e,this.that,new TN(e,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=mk(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],mM(this),s.start();AN(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=lk(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=mk(t,i),l=t.clientX,u=t.clientY;yk(t.view),kN(t),a.mouse=[c,this.__zoom.invert(c)],mM(this),a.start();function d(e){if(AN(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=mk(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),bk(e.view,a.moved),AN(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=mk(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);AN(r),s>0?lk(this).transition().duration(s).call(x,d,c,r):lk(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(kN(t),s=0;s<i;++s)c=r[s],l=mk(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),mM(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(AN(e),s=0;s<a;++s)c=i[s],l=mk(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(kN(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=mk(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=lk(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:wN(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:wN(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:wN(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:wN([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var RN={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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 parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},zN=[[-1/0,-1/0],[1/0,1/0]],BN=[`Enter`,` `,`Escape`],VN={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},HN;(function(e){e.Strict=`strict`,e.Loose=`loose`})(HN||={});var UN;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(UN||={});var WN;(function(e){e.Partial=`partial`,e.Full=`full`})(WN||={});var GN={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},KN;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(KN||={});var qN;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(qN||={});var $;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})($||={});var JN={[$.Left]:$.Right,[$.Right]:$.Left,[$.Top]:$.Bottom,[$.Bottom]:$.Top},YN=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,XN=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),ZN=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),QN=(e,t=[0,0])=>{let{width:n,height:r}=MP(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},$N=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):ZN(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,fP(e,gP(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?mP(r):{x:0,y:0,width:0,height:0}},eP=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=fP(n,gP(e)),r=!0)}),r?mP(n):{x:0,y:0,width:0,height:0}},tP=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=vP(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},nP=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function rP(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=MP(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function iP({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=kP(eP(rP(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function aP({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,RN.error005());else{let{width:e,height:t}=MP(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&jP(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=jP(d)?cP(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,RN.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function oP({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=nP(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var sP=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),cP=(e={x:0,y:0},t,n)=>({x:sP(e.x,t[0][0],t[1][0]-(n?.width??0)),y:sP(e.y,t[0][1],t[1][1]-(n?.height??0))});function lP(e,t,n){let{width:r,height:i}=MP(n),{x:a,y:o}=n.internals.positionAbsolute;return cP(e,[[a,o],[a+r,o+i]],t)}var uP=(e,t,n)=>e<t?sP(Math.abs(e-t),1,t)/t:e>n?-sP(Math.abs(e-n),1,t)/t:0,dP=(e,t,n=15,r=40)=>[uP(e.x,r,t.width-r)*n,uP(e.y,r,t.height-r)*n],fP=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),pP=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),mP=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),hP=(e,t=[0,0])=>{let{x:n,y:r}=ZN(e)?e.internals.positionAbsolute:QN(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},gP=(e,t=[0,0])=>{let{x:n,y:r}=ZN(e)?e.internals.positionAbsolute:QN(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},_P=(e,t)=>mP(fP(pP(e),pP(t))),vP=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},yP=(e,t)=>vP(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),bP=e=>xP(e.width)&&xP(e.height)&&xP(e.x)&&xP(e.y),xP=e=>!isNaN(e)&&isFinite(e),SP=(e,t)=>(e,t)=>{},CP=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),wP=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?CP(s,o):s},TP=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function EP(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function DP(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=EP(e,n),i=EP(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=EP(e.top??e.y??0,n),i=EP(e.bottom??e.y??0,n),a=EP(e.left??e.x??0,t),o=EP(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function OP(e,t,n,r,i,a){let{x:o,y:s}=TP(e,[t,n,r]),{x:c,y:l}=TP({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var kP=(e,t,n,r,i,a)=>{let o=DP(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=sP(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=OP(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},AP=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function jP(e){return e!=null&&e!==`parent`}function MP(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function NP(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function PP(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function FP(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function IP(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function LP(e){return{...VN,...e||{}}}function RP(e){return e===null?null:e?`valid`:`invalid`}function zP(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=GP(e),s=wP({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?CP(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var BP=e=>({width:e.offsetWidth,height:e.offsetHeight}),VP=e=>e?.getRootNode?.()||window?.document,HP=[`INPUT`,`SELECT`,`TEXTAREA`];function UP(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?HP.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var WP=e=>`clientX`in e,GP=(e,t)=>{let n=WP(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},KP=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...BP(t)}})};function qP({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function JP(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function YP({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case $.Left:return[t-JP(t-r,a),n];case $.Right:return[t+JP(r-t,a),n];case $.Top:return[t,n-JP(n-i,a)];case $.Bottom:return[t,n+JP(i-n,a)]}}function XP({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top,curvature:o=.25}){let[s,c]=YP({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=YP({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=qP({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function ZP({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function QP({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function $P({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=fP(gP(e),gP(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),yP({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},mP(a))>0}var eF=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,tF=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),nF=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,RN.error006()),t;let r=n.getEdgeId||eF,i;return i=YN(e)?{...e}:{...e,id:r(e)},tF(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function rF({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=ZP({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var iF={[$.Left]:{x:-1,y:0},[$.Right]:{x:1,y:0},[$.Top]:{x:0,y:-1},[$.Bottom]:{x:0,y:1}},aF=({source:e,sourcePosition:t=$.Bottom,target:n})=>t===$.Left||t===$.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},oF=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),sF=(e,t,n)=>e.x===t.x&&t.x===n.x&&(t.y-e.y)*(n.y-t.y)>=0||e.y===t.y&&t.y===n.y&&(t.x-e.x)*(n.x-t.x)>=0;function cF({source:e,sourcePosition:t=$.Bottom,target:n,targetPosition:r=$.Top,center:i,offset:a,stepPosition:o}){let s=iF[t],c=iF[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=aF({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=ZP({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y},C=[];for(let t of[e,x,...m,S,n]){let[e,n]=C.slice(-2);n&&sF(e,n,t)&&C.pop(),C.push(t)}return[C,h,g,y,b]}function lF(e,t,n,r){let i=Math.min(oF(e,t)/2,oF(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function uF({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=cF({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=lF(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function dF(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function fF(e){let{sourceNode:t,targetNode:n}=e;if(!dF(t)||!dF(n))return null;let r=t.internals.handleBounds||pF(t.handles),i=n.internals.handleBounds||pF(n.handles),a=hF(r?.source??[],e.sourceHandle),o=hF(e.connectionMode===HN.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,RN.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||$.Bottom,c=o?.position||$.Top,l=mF(t,a,s),u=mF(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function pF(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function mF(e,t,n=$.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??MP(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case $.Top:return{x:i+o/2,y:a};case $.Right:return{x:i+o,y:a+s/2};case $.Bottom:return{x:i+o/2,y:a+s};case $.Left:return{x:i,y:a+s/2}}}function hF(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function gF(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function _F(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=gF(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var vF=1e3,yF=10,bF={nodeOrigin:[0,0],nodeExtent:zN,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},xF={...bF,checkEquality:!0};function SF(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function CF(e,t,n){let r=SF(bF,n);for(let n of e.values())if(n.parentId)OF(n,e,t,r);else{let e=cP(QN(n,r.nodeOrigin),jP(n.extent)?n.extent:r.nodeExtent,MP(n));n.internals.positionAbsolute=e}}function wF(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function TF(e){return e===`manual`}function EF(e,t,n,r={}){let i=SF(xF,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!TF(i.zIndexMode)?vF:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=cP(QN(u,i.nodeOrigin),jP(u.extent)?u.extent:i.nodeExtent,MP(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:wF(u,e),z:kF(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}e.measured!==void 0&&e.measured.width!==void 0&&e.measured.height!==void 0||e.hidden||(c=!1),u.parentId&&OF(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function DF(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function OF(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=SF(bF,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}DF(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*yF),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=AF(e,u,o,s,a&&!TF(c)?vF:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function kF(e,t,n){let r=xP(e.zIndex)?e.zIndex:0;return TF(n)?r:r+(e.selected?t:0)}function AF(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=MP(e),l=QN(e,n),u=jP(e.extent)?cP(l,e.extent,c):l,d=cP({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=lP(d,c,t));let f=kF(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function jF(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=_P(a.get(n.parentId)?.expandedRect??hP(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=MP(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function MF(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=BP(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=jP(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=lP(h,s,n))}else m&&(h=cP(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:KP(`source`,r.nodeElement,p,d,e.id),target:KP(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&OF(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:hP(g,i)}))}}if(f.length>0){let e=jF(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function NF({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function PF(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function FF(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;PF(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),PF(`target`,s,c,e,i,o),t.set(r.id,r)}}function IF(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:IF(n,t):!1}function LF(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function RF(e,t,n,r,i){let a=new Map;for(let[o,s]of e)if((i?s.id===r:s.selected||s.id===r)&&(i||!s.parentId||!IF(s,e))&&(s.draggable||t&&s.draggable===void 0)){let t=e.get(o);t&&a.set(o,{id:o,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return a}function zF({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function BF({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=CP(a,t);return{x:o.x-a.x,y:o.y-a.y}}function VF({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=lk(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?pP(eP(s)):null,x=v&&l?BF({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:CP(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=aP({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=zF({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=dP(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0;let v=!!b&&!o&&!i.get(b)?.selected;m&&y||o||!b||i.get(b)?.selected||_(),y&&m&&b&&e?.(b);let x=zP(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=x,s=RF(i,c,x,b,v),s.size>0&&(n||h||!b&&g)){let[e,t]=zF({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Dk().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=zP(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=GP(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=zP(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=GP(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=GP(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p)p&&s.size>0&&t().updateNodePositions(s,!1);else if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=zF({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!LF(t,`.${g}`,v))&&(!_||LF(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function HF(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())yP(i,hP(e))>0&&r.push(e);return r}var UF=250;function WF(e,t,n,r){let i=[],a=1/0,o=HF(e,n,t+UF);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=mF(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function GF(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...mF(o,c,c.position,!0)}:c}function KF(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function qF(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var JF=()=>!0;function YF(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=JF,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=VP(e.target),E=0,D,{x:O,y:k}=GP(e),A=KF(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=GF(i,A,r,c,t);if(!N)return;let P=GP(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=dP(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},ee=c.get(i),V={inProgress:!0,isValid:null,from:mF(ee,B,$.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:ee,to:P,toHandle:null,toPosition:JN[B.position],toNode:null,pointer:P};function te(){M=!0,y(V),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&te();function ne(e){if(!M){let{x:t,y:n}=GP(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;te()}if(!x()||!B){H(e);return}let a=b();P=GP(e,j),D=WF(wP(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=XF(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=qF(!!D,s.isValid);let u=c.get(i),f=u?mF(u,B,$.Left,!0):V.from,p={...V,from:f,isValid:L,to:s.toHandle&&L?TP({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:JN[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),V=p}function H(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=V,r={...n,toPosition:V.toHandle?V.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,ne),T.removeEventListener(`mouseup`,H),T.removeEventListener(`touchmove`,ne),T.removeEventListener(`touchend`,H)}}T.addEventListener(`mousemove`,ne),T.addEventListener(`mouseup`,H),T.addEventListener(`touchmove`,ne),T.addEventListener(`touchend`,H)}function XF(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=JF,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=GP(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=KF(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===HN.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=GF(t,e,a,u,n,!0)}return _}var ZF={onPointerDown:YF,isValid:XF};function QF({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=lk(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&AP()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=LN().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:mk}}var $F=e=>({x:e.x,y:e.y,zoom:e.k}),eI=({x:e,y:t,zoom:n})=>DN.translate(e,t).scale(n),tI=(e,t)=>e.target.closest(`.${t}`),nI=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),rI=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,iI=(e,t=0,n=rI,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},aI=e=>{let t=e.ctrlKey&&AP()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function oI({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(tI(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=mk(u),t=d*2**aI(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===UN.Vertical?0:u.deltaX*f,m=i===UN.Horizontal?0:u.deltaY*f;!AP()&&u.shiftKey&&i!==UN.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=$F(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function sI({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=tI(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function cI({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=$F(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function lI({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&nI(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,$F(a.transform))}}function uI({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&nI(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=$F(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function dI({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(tI(f,`${u}-flow__node`)||tI(f,`${u}-flow__edge`)||tI(f,`${u}-flow__selection`)||tI(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||tI(f,c)&&h||tI(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function fI({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]],f=typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t?.contentRect&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null;f?.observe(e);let p=LN().extent(()=>d).scaleExtent([t,n]).translateExtent(r),m=lk(e).call(p);b({x:i.x,y:i.y,zoom:sP(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let h=m.on(`wheel.zoom`),g=m.on(`dblclick.zoom`);p.wheelDelta(aI);async function _(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).transform(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function v({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:f,preventScrolling:_,zoomOnPinch:v,zoomOnScroll:y,zoomOnDoubleClick:b,panActivationKeyPressed:x=!1,zoomActivationKeyPressed:S,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!l.isZoomingOrPanning&&p.on(`zoom`,null);let O=i&&!S&&!r;p.clickDistance(D?1/0:!xP(E)||E<0?0:E);let k=O?oI({zoomPanValues:l,noWheelClassName:e,d3Selection:m,d3Zoom:p,panOnScrollMode:d,panOnScrollSpeed:f,zoomOnPinch:v,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):sI({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:h});m.on(`wheel.zoom`,k,{passive:!1});let A=cI({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});p.on(`start`,A);let j=lI({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:w});p.on(`zoom`,j);let M=uI({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});p.on(`end`,M);let N=dI({panActivationKeyPressed:x,zoomActivationKeyPressed:S,panOnDrag:u,zoomOnScroll:y,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:v,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});p.filter(N),b?m.on(`dblclick.zoom`,g):m.on(`dblclick.zoom`,null)}function y(){p.on(`zoom`,null),f?.disconnect()}async function b(e,t,n){let r=eI(e),i=p?.constrain()(r,t,n);return i&&await _(i),i}async function x(e,t){let n=eI(e);return await _(n,t),n}function S(e){if(m){let t=eI(e),n=m.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&p?.transform(m,t,null,{sync:!0})}}function C(){let e=m?ON(m.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function w(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).scaleTo(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function T(e,t){return m?new Promise(n=>{p?.interpolate(t?.interpolate===`linear`?lj:Cj).scaleBy(iI(m,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function E(e){p?.scaleExtent(e)}function D(e){p?.translateExtent(e)}function O(e){let t=!xP(e)||e<0?0:e;p?.clickDistance(t)}return{update:v,destroy:y,setViewport:x,setViewportConstrained:b,getViewport:C,scaleTo:w,scaleBy:T,setScaleExtent:E,setTranslateExtent:D,syncViewport:S,setClickDistance:O}}var pI;(function(e){e.Line=`line`,e.Handle=`handle`})(pI||={});function mI({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function hI(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function gI(e,t){return Math.max(0,t-e)}function _I(e,t){return Math.max(0,e-t)}function vI(e,t,n){return Math.max(0,t-e,e-n)}function yI(e,t){return e?!t:t}function bI(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=vI(E,h,g),j=vI(D,_,v);if(o){let e=0,t=0;c&&w<0?e=gI(y+w+O,o[0][0]):!c&&w>0&&(e=_I(y+E+O,o[1][0])),l&&T<0?t=gI(b+T+k,o[0][1]):!l&&T>0&&(t=_I(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=_I(y+w,s[0][0]):!c&&w<0&&(e=gI(y+E,s[1][0])),l&&T>0?t=_I(b+T,s[0][1]):!l&&T<0&&(t=gI(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=vI(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?_I(b+k+E/C,o[1][1])*C:gI(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?gI(b+E/C,s[1][1])*C:_I(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=vI(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?_I(y+D*C+O,o[1][0])/C:gI(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?gI(y+D*C,s[1][0])/C:_I(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(yI(c,l)?-w:w)/C:w=(yI(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var xI={width:0,height:0,x:0,y:0},SI={...xI,pointerX:0,pointerY:0,aspectRatio:1};function CI(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function wI({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=lk(e),o={controlDirection:hI(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...xI},h={...SI};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:hI(e)};let g,_=null,v=[],y,b,x,S=Dk().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=zP(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=jP(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=CI(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=zP(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=bI(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=mI({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)===!1?(m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position})):(d?.(e,I),r(w,l))}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var TI=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},EI=e=>e?TI(e):TI,{useDebugValue:DI}=p.default,{useSyncExternalStoreWithSelector:OI}=pu.default,kI=e=>e;function AI(e,t=kI,n){let r=OI(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return DI(r),r}var jI=(e,t)=>{let n=EI(e),r=(e,r=t)=>AI(n,e,r);return Object.assign(r,n),r},MI=(e,t)=>e?jI(e,t):jI;function NI(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var PI=(0,p.createContext)(null),FI=PI.Provider,II=RN.error001(`react`);function LI(e,t){let n=(0,p.useContext)(PI);if(n===null)throw Error(II);return AI(n,e,t)}function RI(){let e=(0,p.useContext)(PI);if(e===null)throw Error(II);return(0,p.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var zI={display:`none`},BI={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},VI=`react-flow__node-desc`,HI=`react-flow__edge-desc`,UI=`react-flow__aria-live`,WI=e=>e.ariaLiveMessage,GI=e=>e.ariaLabelConfig;function KI({rfId:e}){let t=LI(WI);return(0,m.jsx)(`div`,{id:`${UI}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:BI,children:t})}function qI({rfId:e,disableKeyboardA11y:t}){let n=LI(GI);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{id:`${VI}-${e}`,style:zI,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,m.jsx)(`div`,{id:`${HI}-${e}`,style:zI,children:n[`edge.a11yDescription.default`]}),!t&&(0,m.jsx)(KI,{rfId:e})]})}var JI=(0,p.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,m.jsx)(`div`,{className:rD([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});JI.displayName=`Panel`;var YI=`https://reactflow.dev?utm_source=attribution`;function XI({proOptions:e,position:t=`bottom-right`}){return(0,p.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,m.jsx)(JI,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${YI}`,children:(0,m.jsx)(`a`,{href:YI,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var ZI=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},QI=e=>e.id;function $I(e,t){return NI(e.selectedNodes.map(QI),t.selectedNodes.map(QI))&&NI(e.selectedEdges.map(QI),t.selectedEdges.map(QI))}function eL({onSelectionChange:e}){let t=RI(),{selectedNodes:n,selectedEdges:r}=LI(ZI,$I);return(0,p.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var tL=e=>!!e.onSelectionChangeHandlers;function nL({onSelectionChange:e}){let t=LI(tL);return e||t?(0,m.jsx)(eL,{onSelectionChange:e}):null}var rL=[0,0],iL={x:0,y:0,zoom:1},aL=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],oL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),sL={translateExtent:zN,nodeOrigin:rL,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function cL(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=LI(oL,NI),l=RI();(0,p.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=sL,s()}),[]);let u=(0,p.useRef)(sL);return(0,p.useEffect)(()=>{for(let s of aL){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:LP(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},aL.map(t=>e[t])),null}function lL(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function uL(e){let[t,n]=(0,p.useState)(e===`system`?null:e);return(0,p.useEffect)(()=>{if(e!==`system`){n(e);return}let t=lL(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?lL()?.matches?`dark`:`light`:t}var dL=typeof document<`u`?document:null;function fL(e=null,t={target:dL,actInsideInputWithModifier:!0}){let[n,r]=(0,p.useState)(!1),i=(0,p.useRef)(!1),a=(0,p.useRef)(new Set([])),[o,s]=(0,p.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
|
|
50
50
|
`).replace(`
|
|
51
51
|
|
|
52
52
|
`,`
|
|
@@ -54,4 +54,4 @@ Error generating stack: `+e.message+`
|
|
|
54
54
|
`));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,p.useEffect)(()=>{let n=t?.target??dL,c=t?.actInsideInputWithModifier??!0;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!i.current||i.current&&!c)&&UP(e))return!1;let n=mL(e.code,s);if(a.current.add(e[n]),pL(o,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName===`BUTTON`||n?.nodeName===`A`;t.preventDefault!==!1&&(i.current||!a)&&e.preventDefault(),r(!0)}},l=e=>{let t=mL(e.code,s);pL(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),e.key===`Meta`&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return n?.addEventListener(`keydown`,e),n?.addEventListener(`keyup`,l),window.addEventListener(`blur`,u),window.addEventListener(`contextmenu`,u),()=>{n?.removeEventListener(`keydown`,e),n?.removeEventListener(`keyup`,l),window.removeEventListener(`blur`,u),window.removeEventListener(`contextmenu`,u)}}},[e,r]),n}function pL(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function mL(e,t){return t.includes(e)?`code`:`key`}var hL=()=>{let e=RI();return(0,p.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,i,a],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??a},n),!0):!1},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:i,minZoom:a,maxZoom:o,panZoom:s}=e.getState(),c=kP(t,r,i,a,o,n?.padding??.1);return s?(await s.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:i,snapToGrid:a,domNode:o}=e.getState();if(!o)return t;let{x:s,y:c}=o.getBoundingClientRect(),l={x:t.x-s,y:t.y-c},u=n.snapGrid??i;return wP(l,r,n.snapToGrid??a,u)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=TP(t,n);return{x:o.x+i,y:o.y+a}}}),[])};function gL(e,t){let n=[],r=new Map,i=[];for(let t of e)if(t.type===`add`){i.push(t);continue}else if(t.type===`remove`||t.type===`replace`)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if(t[0].type===`remove`)continue;if(t[0].type===`replace`){n.push({...t[0].item});continue}let i={...e};for(let e of t)_L(e,i);n.push(i)}return i.length&&i.forEach(e=>{e.index===void 0?n.push({...e.item}):n.splice(e.index,0,{...e.item})}),n}function _L(e,t){switch(e.type){case`select`:t.selected=e.selected;break;case`position`:e.position!==void 0&&(t.position=e.position),e.dragging!==void 0&&(t.dragging=e.dragging);break;case`dimensions`:e.dimensions!==void 0&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes===`width`)&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes===`height`)&&(t.height=e.dimensions.height))),typeof e.resizing==`boolean`&&(t.resizing=e.resizing)}}function vL(e,t){return gL(e,t)}function yL(e,t){return gL(e,t)}function bL(e,t){return{id:e,type:`select`,selected:t}}function xL(e,t=new Set){let n=[];for(let[r,i]of e){let e=t.has(r);(i.selected!==void 0||e)&&i.selected!==e&&n.push(bL(i.id,e))}return n}function SL({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,i]of e.entries()){let e=t.get(i.id),a=e?.internals?.userNode??e;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:`replace`}),a===void 0&&n.push({item:i,type:`add`,index:r})}for(let[e]of t)r.get(e)===void 0&&n.push({id:e,type:`remove`});return n}function CL(e){return{id:e.id,type:`remove`}}var wL=SP(`React Flow`,`https://reactflow.dev/`);function TL(e,t,n={}){return nF(e,t,{...n,onError:n.onError??wL})}var EL=e=>XN(e),DL=e=>YN(e);function OL(e){return(0,p.forwardRef)(e)}var kL=typeof window<`u`?p.useLayoutEffect:p.useEffect;function AL(e){let[t,n]=(0,p.useState)(BigInt(0)),[r]=(0,p.useState)(()=>jL(()=>n(e=>e+BigInt(1))));return kL(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function jL(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var ML=(0,p.createContext)(null);function NL({children:e}){let t=RI(),n=AL((0,p.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:i,onNodesChange:a,nodeLookup:o,fitViewQueued:s,onNodesChangeMiddlewareMap:c}=t.getState(),l=n;for(let t of e)l=typeof t==`function`?t(l):t;let u=SL({items:l,lookup:o});for(let e of c.values())u=e(u);i&&r(l),u.length>0?a?.(u):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=AL((0,p.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a,edgeLookup:o}=t.getState(),s=n;for(let t of e)s=typeof t==`function`?t(s):t;i?r(s):a&&a(SL({items:s,lookup:o}))},[])),i=(0,p.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,m.jsx)(ML.Provider,{value:i,children:e})}function PL(){let e=(0,p.useContext)(ML);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}var FL=e=>!!e.panZoom;function IL(){let e=hL(),t=RI(),n=PL(),r=LI(FL),i=(0,p.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),r=e=>{n.nodeQueue.push(e)},i=e=>{n.edgeQueue.push(e)},a=e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState(),i=EL(e)?e:n.get(e.id),a=i.parentId?PP(i.position,i.measured,i.parentId,n,r):i.position;return hP({...i,position:a,width:i.measured?.width??i.width,height:i.measured?.height??i.height},i.parentId?void 0:r)},o=(e,t,n={replace:!1})=>{r(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&EL(e)?e:{...r,...e}}return r}))},s=(e,t,n={replace:!1})=>{i(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&DL(e)?e:{...r,...e}}return r}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:r,setEdges:i,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:r}=t.getState(),[i,a,o]=r;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:r,edges:i,onNodesDelete:a,onEdgesDelete:o,triggerNodeChanges:s,triggerEdgeChanges:c,onDelete:l,onBeforeDelete:u}=t.getState(),{nodes:d,edges:f}=await oP({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:u}),p=f.length>0,m=d.length>0;if(p){let e=f.map(CL);o?.(f),c(e)}if(m){let e=d.map(CL);a?.(d),s(e)}return(m||p)&&l?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,n=!0,r)=>{let i=bP(e),o=i?e:a(e),s=r!==void 0;if(!o)return[];let{nodeOrigin:c}=t.getState();return(r||t.getState().nodes).filter(r=>{let a=t.getState().nodeLookup.get(r.id);if(a&&!i&&(r.id===e.id||!a.internals.positionAbsolute))return!1;let l=hP(s?r:a,c),u=yP(l,o);return n&&u>0||u>=l.width*l.height||u>=o.width*o.height})},isNodeIntersecting:(e,t,n=!0)=>{let r=bP(e)?e:a(e);if(!r)return!1;let i=yP(r,t);return n&&i>0||i>=t.width*t.height||i>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState();return $N(e,{nodeLookup:n,nodeOrigin:r})},getHandleConnections:({type:e,id:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}-${e}${n?`-${n}`:``}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}${e?n?`-${e}-${n}`:`-${e}`:``}`)?.values()??[]),fitView:async e=>{let r=t.getState().fitViewResolver??IP();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return(0,p.useMemo)(()=>({...i,...e,viewportInitialized:r}),[r])}var LL=e=>e.selected,RL=typeof window<`u`?window:void 0;function zL({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=RI(),{deleteElements:r}=IL(),i=fL(e,{actInsideInputWithModifier:!1}),a=fL(t,{target:RL});(0,p.useEffect)(()=>{if(i){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(LL),edges:e.filter(LL)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,p.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function BL(e){let t=RI();(0,p.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=BP(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,RN.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener(`resize`,n);let t=new ResizeObserver(()=>n());return t.observe(e.current),()=>{window.removeEventListener(`resize`,n),t.disconnect()}}},[])}var VL={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},HL=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function UL({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panActivationKeyPressed:i,panOnScrollSpeed:a=.5,panOnScrollMode:o=UN.Free,zoomOnDoubleClick:s=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:g=!0,children:_,noWheelClassName:v,noPanClassName:y,onViewportChange:b,isControlledViewport:x,paneClickDistance:S,selectionOnDrag:C}){let w=RI(),T=(0,p.useRef)(null),{userSelectionActive:E,lib:D,connectionInProgress:O}=LI(HL,NI),k=fL(h),A=(0,p.useRef)();BL(T);let j=(0,p.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),x||w.setState({transform:e})},[b,x]);return(0,p.useEffect)(()=>{if(T.current){A.current=fI({domNode:T.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:e=>w.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=w.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=w.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=w.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=A.current.getViewport();return w.setState({panZoom:A.current,transform:[e,t,n],domNode:T.current.closest(`.react-flow`)}),()=>{A.current?.destroy()}}},[]),(0,p.useEffect)(()=>{A.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panActivationKeyPressed:i,panOnScrollSpeed:a,panOnScrollMode:o,zoomOnDoubleClick:s,panOnDrag:c,zoomActivationKeyPressed:k,preventScrolling:g,noPanClassName:y,userSelectionActive:E,noWheelClassName:v,lib:D,onTransformChange:j,connectionInProgress:O,selectionOnDrag:C,paneClickDistance:S})},[e,t,n,r,i,a,o,s,c,k,g,y,E,v,D,j,O,C,S]),(0,m.jsx)(`div`,{className:`react-flow__renderer`,ref:T,style:VL,children:_})}var WL=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function GL(){let{userSelectionActive:e,userSelectionRect:t}=LI(WL,NI);return e&&t?(0,m.jsx)(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var KL=(e,t)=>n=>{n.target===t.current&&e?.(n)},qL=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function JL({isSelecting:e,selectionKeyPressed:t,selectionMode:n=WN.Full,panOnDrag:r,autoPanOnSelection:i,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:g,children:_}){let v=(0,p.useRef)(0),y=RI(),{userSelectionActive:b,elementsSelectable:x,dragging:S,panBy:C,autoPanSpeed:w}=LI(qL,NI),T=x&&(e||b),E=(0,p.useRef)(null),D=(0,p.useRef)(),O=(0,p.useRef)(new Set),k=(0,p.useRef)(new Set),A=(0,p.useRef)(!1),j=(0,p.useRef)(!1),M=(0,p.useRef)({x:0,y:0}),N=(0,p.useRef)(!1),P=e=>{if(j.current||A.current||y.getState().connection.inProgress){j.current=!1,A.current=!1;return}let{connectionClickStartHandle:t,connection:n,onClickConnectEnd:r,resetSelectedElements:i}=y.getState();if(t){let t=structuredClone(n);delete t.inProgress,t.toPosition=t.toHandle?t.toHandle.position:null,r?.(e.nativeEvent,t),y.setState({connectionClickStartHandle:null})}l?.(e),i(),y.setState({nodesSelectionActive:!1})},F=e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():u?.(e)},I=d?e=>d(e):void 0,L=e=>{j.current&&=(e.stopPropagation(),!1)},R=n=>{if(n.pointerType===`touch`&&r!==!1&&!t)return;let{domNode:i,transform:a}=y.getState();if(D.current=i?.getBoundingClientRect(),!D.current)return;let s=n.target===E.current;if(!s&&n.target.closest(`.nokey`)||!e||!(o&&s||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),j.current=!1;let{x:c,y:l}=GP(n.nativeEvent,D.current),u=wP({x:c,y:l},a);y.setState({userSelectionRect:{width:0,height:0,startX:u.x,startY:u.y,x:c,y:l}}),s||(n.stopPropagation(),n.preventDefault())};function z(e,t){let{userSelectionRect:r}=y.getState();if(!r)return;let{transform:i,nodeLookup:a,edgeLookup:o,connectionLookup:s,triggerNodeChanges:c,triggerEdgeChanges:l,defaultEdgeOptions:u}=y.getState(),d={x:r.startX,y:r.startY},{x:f,y:p}=TP(d,i),m={startX:d.x,startY:d.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},h=O.current,g=k.current;O.current=new Set(tP(a,m,i,n===WN.Partial,!0).map(e=>e.id)),k.current=new Set;let _=u?.selectable??!0;for(let e of O.current){let t=s.get(e);if(t)for(let{edgeId:e}of t.values()){let t=o.get(e);t&&(t.selectable??_)&&k.current.add(e)}}FP(h,O.current)||c(xL(a,O.current)),FP(g,k.current)||l(xL(o,k.current)),y.setState({userSelectionRect:m,userSelectionActive:!0,nodesSelectionActive:!1})}function B(){if(!i||!D.current)return;let[e,t]=dP(M.current,D.current,w);C({x:e,y:t}).then(e=>{if(!j.current||!e){v.current=requestAnimationFrame(B);return}let{x:t,y:n}=M.current;z(t,n),v.current=requestAnimationFrame(B)})}let ee=()=>{cancelAnimationFrame(v.current),v.current=0,N.current=!1};(0,p.useEffect)(()=>()=>ee(),[]);let V=e=>{let{userSelectionRect:n,transform:r,resetSelectedElements:i}=y.getState();if(!D.current||!n)return;let{x:o,y:c}=GP(e.nativeEvent,D.current);M.current={x:o,y:c};let l=TP({x:n.startX,y:n.startY},r);if(!j.current){let n=t?0:a;if(Math.hypot(o-l.x,c-l.y)<=n)return;i(),s?.(e)}j.current=!0,N.current||=(B(),!0),z(o,c)},te=e=>{T?e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!b&&e.target===E.current&&y.getState().userSelectionRect&&P?.(e),y.setState({userSelectionActive:!1,userSelectionRect:null}),j.current&&(c?.(e),y.setState({nodesSelectionActive:O.current.size>0})),ee()):e.target===E.current&&y.getState().connection.inProgress&&(A.current=!0)},ne=e=>{e.target?.releasePointerCapture?.(e.pointerId),ee()},H=r===!0||Array.isArray(r)&&r.includes(0);return(0,m.jsxs)(`div`,{className:rD([`react-flow__pane`,{draggable:H,dragging:S,selection:e}]),onClick:T?void 0:KL(P,E),onContextMenu:KL(F,E),onWheel:KL(I,E),onPointerEnter:T?void 0:f,onPointerMove:T?V:h,onPointerUp:te,onPointerCancel:T?ne:void 0,onPointerDownCapture:T?R:void 0,onClickCapture:T?L:void 0,onPointerLeave:g,ref:E,style:VL,children:[_,(0,m.jsx)(GL,{})]})}function YL({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeLookup:s,onError:c}=t.getState(),l=s.get(e);l?(t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):c?.(`012`,RN.error012(e))}function XL({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:o}){let s=RI(),[c,l]=(0,p.useState)(!1),u=(0,p.useRef)();return(0,p.useEffect)(()=>{if(!t)return u.current=VF({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{YL({id:t,store:s,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}}),()=>{u.current?.destroy(),u.current=void 0}},[t,s,e]),(0,p.useEffect)(()=>{!t&&e.current&&u.current&&u.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:o})},[n,r,t,a,e,i,o]),c}var ZL=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function QL(){let e=RI();return(0,p.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:o,updateNodePositions:s,nodeLookup:c,nodeOrigin:l}=e.getState(),u=new Map,d=ZL(a),f=r?i[0]:5,p=r?i[1]:5,m=t.direction.x*f*t.factor,h=t.direction.y*p*t.factor;for(let[,e]of c){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+m,y:e.internals.positionAbsolute.y+h};r&&(t=CP(t,i));let{position:a,positionAbsolute:s}=aP({nodeId:e.id,nextPosition:t,nodeLookup:c,nodeExtent:n,nodeOrigin:l,onError:o});e.position=a,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}var $L=(0,p.createContext)(null),eR=$L.Provider;$L.Consumer;var tR=()=>(0,p.useContext)($L),nR=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),rR=(0,p.createContext)(null);function iR({children:e}){let t=LI(nR,NI);return(0,m.jsx)(rR.Provider,{value:t,children:e})}function aR(){let e=(0,p.useContext)(rR);if(!e)throw Error(`useHandleConfig must be used within a HandleConfigProvider`);return e}var oR={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},sR=(e,t,n)=>r=>{let{connectionClickStartHandle:i,connectionMode:a,connection:o}=r,{fromHandle:s,toHandle:c,isValid:l}=o;if(!s&&!i)return oR;let u=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:a===HN.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!i,valid:u&&l}};function cR({type:e=`source`,position:t=$.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:u,onTouchStart:d,...f},p){let h=o||null,g=e===`target`,_=RI(),v=tR(),{connectOnClick:y,noPanClassName:b,rfId:x}=aR(),{connectingFrom:S,connectingTo:C,clickConnecting:w,isPossibleEndHandle:T,connectionInProcess:E,clickConnectionInProcess:D,valid:O}=LI(sR(v,h,e),NI);v||_.getState().onError?.(`010`,RN.error010());let k=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=_.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t,onError:n}=_.getState();t(TL(i,e,{onError:n}))}n?.(i),s?.(i)},A=e=>{if(!v)return;let t=WP(e.nativeEvent);if(i&&(t&&e.button===0||!t)){let t=_.getState();ZF.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:g,handleId:h,nodeId:v,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>_.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:k,isValidConnection:n||((...e)=>_.getState().isValidConnection?.(...e)??!0),getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?u?.(e):d?.(e)};return(0,m.jsx)(`div`,{"data-handleid":h,"data-nodeid":v,"data-handlepos":t,"data-id":`${x}-${v}-${h}-${e}`,className:rD([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,b,l,{source:!g,target:g,connectable:r,connectablestart:i,connectableend:a,clickconnecting:w,connectingfrom:S,connectingto:C,valid:O,connectionindicator:r&&(!E||T)&&(E||D?a:i)}]),onMouseDown:A,onTouchStart:A,onClick:y?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c,lib:l,rfId:u,nodeLookup:d,connection:f}=_.getState();if(!v||!o&&!i)return;if(!o){r?.(t.nativeEvent,{nodeId:v,handleId:h,handleType:e}),_.setState({connectionClickStartHandle:{nodeId:v,type:e,id:h}});return}let p=VP(t.target),m=n||c,{connection:g,isValid:y}=ZF.isValid(t.nativeEvent,{handle:{nodeId:v,id:h,type:e},connectionMode:s,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:m,flowId:u,doc:p,lib:l,nodeLookup:d});y&&g&&k(g);let b=structuredClone(f);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,a?.(t,b),_.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f,children:c})}var lR=(0,p.memo)(OL(cR));function uR({data:e,isConnectable:t,sourcePosition:n=$.Bottom}){return(0,m.jsxs)(m.Fragment,{children:[e?.label,(0,m.jsx)(lR,{type:`source`,position:n,isConnectable:t})]})}function dR({data:e,isConnectable:t,targetPosition:n=$.Top,sourcePosition:r=$.Bottom}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lR,{type:`target`,position:n,isConnectable:t}),e?.label,(0,m.jsx)(lR,{type:`source`,position:r,isConnectable:t})]})}function fR(){return null}function pR({data:e,isConnectable:t,targetPosition:n=$.Top}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lR,{type:`target`,position:n,isConnectable:t}),e?.label]})}var mR={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},hR={input:uR,default:dR,output:pR,group:fR};function gR(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var _R=e=>{let{width:t,height:n,x:r,y:i}=eP(e.nodeLookup,{filter:e=>!!e.selected});return{width:xP(t)?t:null,height:xP(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function vR({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=RI(),{width:i,height:a,transformString:o,userSelectionActive:s}=LI(_R,NI),c=QL(),l=(0,p.useRef)(null);(0,p.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let u=!s&&i!==null&&a!==null;if(XL({nodeRef:l,disabled:!u}),!u)return null;let d=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,m.jsx)(`div`,{className:rD([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:o},children:(0,m.jsx)(`div`,{ref:l,className:`react-flow__nodesselection-rect`,onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(mR,e.key)&&(e.preventDefault(),c({direction:mR[e.key],factor:e.shiftKey?4:1}))},style:{width:i,height:a}})})}var yR=typeof window<`u`?window:void 0,bR=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function xR({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:s,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:u,selectionMode:d,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:h,panActivationKeyCode:g,zoomActivationKeyCode:_,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:b,panOnScroll:x,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:w,panOnDrag:T,autoPanOnSelection:E,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,preventScrolling:j,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:P,disableKeyboardA11y:F,onViewportChange:I,isControlledViewport:L}){let{nodesSelectionActive:R,userSelectionActive:z}=LI(bR,NI),B=fL(l,{target:yR}),ee=fL(g,{target:yR}),V=ee||T,te=ee||x,ne=u&&V!==!0,H=B||z||ne;return zL({deleteKeyCode:c,multiSelectionKeyCode:h}),(0,m.jsx)(UL,{onPaneContextMenu:a,elementsSelectable:v,zoomOnScroll:y,zoomOnPinch:b,panOnScroll:te,panActivationKeyPressed:ee,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:w,panOnDrag:!B&&V,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,zoomActivationKeyCode:_,preventScrolling:j,noWheelClassName:N,noPanClassName:P,onViewportChange:I,isControlledViewport:L,paneClickDistance:s,selectionOnDrag:ne,children:(0,m.jsxs)(JL,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:V,autoPanOnSelection:E,isSelecting:!!H,selectionMode:d,selectionKeyPressed:B,paneClickDistance:s,selectionOnDrag:ne,children:[e,R&&(0,m.jsx)(vR,{onSelectionContextMenu:M,noPanClassName:P,disableKeyboardA11y:F})]})})}xR.displayName=`FlowRenderer`;var SR=(0,p.memo)(xR),CR=e=>t=>e?tP(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys());function wR(e){return LI((0,p.useCallback)(CR(e),[e]),NI)}var TR=e=>e.updateNodeInternals;function ER(){let e=LI(TR),[t]=(0,p.useState)(()=>typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute(`data-id`);n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,p.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function DR({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let i=RI(),a=(0,p.useRef)(null),o=(0,p.useRef)(null),s=(0,p.useRef)(e.sourcePosition),c=(0,p.useRef)(e.targetPosition),l=(0,p.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,p.useEffect)(()=>{!a.current||e.hidden||u&&o.current===a.current||(o.current&&r?.unobserve(o.current),r?.observe(a.current),o.current=a.current)},[u,e.hidden]),(0,p.useEffect)(()=>()=>{o.current&&=(r?.unobserve(o.current),null)},[]),(0,p.useEffect)(()=>{if(a.current){let n=l.current!==t,r=s.current!==e.sourcePosition,o=c.current!==e.targetPosition;(n||r||o)&&(l.current=t,s.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function OR({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:a,onDoubleClick:o,nodesDraggable:s,elementsSelectable:c,nodesConnectable:l,nodesFocusable:u,resizeObserver:d,noDragClassName:f,noPanClassName:p,disableKeyboardA11y:h,rfId:g,nodeTypes:_,nodeClickDistance:v,onError:y}){let{node:b,internals:x,isParent:S}=LI(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},NI),C=b.type||`default`,w=_?.[C]||hR[C];w===void 0&&(y?.(`003`,RN.error003(C)),C=`default`,w=_?.default||hR.default);let T=!!(b.draggable||s&&b.draggable===void 0),E=!!(b.selectable||c&&b.selectable===void 0),D=!!(b.connectable||l&&b.connectable===void 0),O=!!(b.focusable||u&&b.focusable===void 0),k=RI(),A=NP(b),j=DR({node:b,nodeType:C,hasDimensions:A,resizeObserver:d}),M=XL({nodeRef:j,disabled:b.hidden||!T,noDragClassName:f,handleSelector:b.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:v}),N=QL();if(b.hidden)return null;let P=MP(b),F=gR(b),I=E||T||t||n||r||i,L=n?e=>n(e,{...x.userNode}):void 0,R=r?e=>r(e,{...x.userNode}):void 0,z=i?e=>i(e,{...x.userNode}):void 0,B=a?e=>a(e,{...x.userNode}):void 0,ee=o?e=>o(e,{...x.userNode}):void 0,V=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:i}=k.getState();E&&(!r||!T||i>0)&&YL({id:e,store:k,nodeRef:j}),t&&t(n,{...x.userNode})},te=t=>{if(!(UP(t.nativeEvent)||h)){if(BN.includes(t.key)&&E){let n=t.key===`Escape`;YL({id:e,store:k,unselect:n,nodeRef:j})}else if(T&&b.selected&&Object.prototype.hasOwnProperty.call(mR,t.key)){t.preventDefault();let{ariaLabelConfig:e}=k.getState();k.setState({ariaLiveMessage:e[`node.a11yDescription.ariaLiveMessage`]({direction:t.key.replace(`Arrow`,``).toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),N({direction:mR[t.key],factor:t.shiftKey?4:1})}}},ne=()=>{if(h||!j.current?.matches(`:focus-visible`))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:i,setCenter:a}=k.getState();i&&(tP(new Map([[e,b]]),{x:0,y:0,width:n,height:r},t,!0).length>0||a(b.position.x+P.width/2,b.position.y+P.height/2,{zoom:t[2]}))};return(0,m.jsx)(`div`,{className:rD([`react-flow__node`,`react-flow__node-${C}`,{[p]:T},b.className,{selected:b.selected,selectable:E,parent:S,draggable:T,dragging:M}]),ref:j,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:I?`all`:`none`,visibility:A?`visible`:`hidden`,...b.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:L,onMouseMove:R,onMouseLeave:z,onContextMenu:B,onClick:V,onDoubleClick:ee,onKeyDown:O?te:void 0,tabIndex:O?0:void 0,onFocus:O?ne:void 0,role:b.ariaRole??(O?`group`:void 0),"aria-roledescription":`node`,"aria-describedby":h?void 0:`${VI}-${g}`,"aria-label":b.ariaLabel,...b.domAttributes,children:(0,m.jsx)(eR,{value:e,children:(0,m.jsx)(w,{id:e,data:b.data,type:C,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:b.selected??!1,selectable:E,draggable:T,deletable:b.deletable??!0,isConnectable:D,sourcePosition:b.sourcePosition,targetPosition:b.targetPosition,dragging:M,dragHandle:b.dragHandle,zIndex:x.z,parentId:b.parentId,...P})})})}var kR=(0,p.memo)(OR),AR=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function jR(e){let{nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,onError:i}=LI(AR,NI),a=wR(e.onlyRenderVisibleElements),o=ER();return(0,m.jsx)(`div`,{className:`react-flow__nodes`,style:VL,children:a.map(a=>(0,m.jsx)(kR,{id:a,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:i},a))})}jR.displayName=`NodeRenderer`;var MR=(0,p.memo)(jR);function NR(e){return LI((0,p.useCallback)(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let r=t.nodeLookup.get(e.source),i=t.nodeLookup.get(e.target);r&&i&&$P({sourceNode:r,targetNode:i,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),NI)}var PR=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,m.jsx)(`polyline`,{className:`arrow`,style:n,strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`})},FR=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,m.jsx)(`polyline`,{className:`arrowclosed`,style:n,strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`})},IR={[qN.Arrow]:PR,[qN.ArrowClosed]:FR};function LR(e){let t=RI();return(0,p.useMemo)(()=>Object.prototype.hasOwnProperty.call(IR,e)?IR[e]:(t.getState().onError?.(`009`,RN.error009(e)),null),[e])}var RR=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=LR(t);return c?(0,m.jsx)(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`,children:(0,m.jsx)(c,{color:n,strokeWidth:o})}):null},zR=({defaultColor:e,rfId:t})=>{let n=LI(e=>e.edges),r=LI(e=>e.defaultEdgeOptions),i=(0,p.useMemo)(()=>_F(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?(0,m.jsx)(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:(0,m.jsx)(`defs`,{children:i.map(e=>(0,m.jsx)(RR,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};zR.displayName=`MarkerDefinitions`;var BR=(0,p.memo)(zR);function VR({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u}){let[d,f]=(0,p.useState)({x:1,y:0,width:0,height:0}),h=rD([`react-flow__edge-textwrapper`,l]),g=(0,p.useRef)(null);return(0,p.useEffect)(()=>{if(g.current){let e=g.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n?(0,m.jsxs)(`g`,{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:h,visibility:d.width?`visible`:`hidden`,...u,children:[i&&(0,m.jsx)(`rect`,{width:d.width+2*o[0],x:-o[0],y:-o[1],height:d.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),(0,m.jsx)(`text`,{className:`react-flow__edge-text`,y:d.height/2,dy:`0.3em`,ref:g,style:r,children:n}),c]}):null}VR.displayName=`EdgeText`;var HR=(0,p.memo)(VR);function UR({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c,interactionWidth:l=20,...u}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`path`,{...u,d:e,fill:`none`,className:rD([`react-flow__edge-path`,u.className])}),l?(0,m.jsx)(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:l,className:`react-flow__edge-interaction`}):null,r&&xP(t)&&xP(n)?(0,m.jsx)(HR,{x:t,y:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c}):null]})}function WR({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===$.Left||e===$.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function GR({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top}){let[o,s]=WR({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=WR({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=qP({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}function KR(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:_,interactionWidth:v})=>{let[y,b,x]=GR({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s}),S=e.isInternal?void 0:t;return(0,m.jsx)(UR,{id:S,path:y,labelX:b,labelY:x,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:_,interactionWidth:v})})}var qR=KR({isInternal:!1}),JR=KR({isInternal:!0});qR.displayName=`SimpleBezierEdge`,JR.displayName=`SimpleBezierEdgeInternal`;function YR(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=$.Bottom,targetPosition:h=$.Top,markerEnd:g,markerStart:_,pathOptions:v,interactionWidth:y})=>{let[b,x,S]=uF({sourceX:n,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:h,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),C=e.isInternal?void 0:t;return(0,m.jsx)(UR,{id:C,path:b,labelX:x,labelY:S,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:g,markerStart:_,interactionWidth:y})})}var XR=YR({isInternal:!1}),ZR=YR({isInternal:!0});XR.displayName=`SmoothStepEdge`,ZR.displayName=`SmoothStepEdgeInternal`;function QR(e){return(0,p.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,m.jsx)(XR,{...n,id:r,pathOptions:(0,p.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var $R=QR({isInternal:!1}),ez=QR({isInternal:!0});$R.displayName=`StepEdge`,ez.displayName=`StepEdgeInternal`;function tz(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})=>{let[_,v,y]=rF({sourceX:n,sourceY:r,targetX:i,targetY:a}),b=e.isInternal?void 0:t;return(0,m.jsx)(UR,{id:b,path:_,labelX:v,labelY:y,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})})}var nz=tz({isInternal:!1}),rz=tz({isInternal:!0});nz.displayName=`StraightEdge`,rz.displayName=`StraightEdgeInternal`;function iz(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o=$.Bottom,targetPosition:s=$.Top,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:_,pathOptions:v,interactionWidth:y})=>{let[b,x,S]=XP({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s,curvature:v?.curvature}),C=e.isInternal?void 0:t;return(0,m.jsx)(UR,{id:C,path:b,labelX:x,labelY:S,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:_,interactionWidth:y})})}var az=iz({isInternal:!1}),oz=iz({isInternal:!0});az.displayName=`BezierEdge`,oz.displayName=`BezierEdgeInternal`;var sz={default:oz,straight:rz,step:ez,smoothstep:ZR,simplebezier:JR},cz={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},lz=(e,t,n)=>n===$.Left?e-t:n===$.Right?e+t:e,uz=(e,t,n)=>n===$.Top?e-t:n===$.Bottom?e+t:e,dz=`react-flow__edgeupdater`;function fz({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s}){return(0,m.jsx)(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:rD([dz,`${dz}-${s}`]),cx:lz(t,r,e),cy:uz(n,r,e),r,stroke:`transparent`,fill:`transparent`})}function pz({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,onReconnect:l,onReconnectStart:u,onReconnectEnd:d,setReconnecting:f,setUpdateHover:p}){let h=RI(),g=(e,t)=>{if(e.button!==0)return;let{autoPanOnConnect:r,domNode:i,connectionMode:a,connectionRadius:o,lib:s,onConnectStart:c,cancelConnection:p,nodeLookup:m,rfId:g,panBy:_,updateConnection:v}=h.getState(),y=t.type===`target`;ZF.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:o,domNode:i,handleId:t.id,nodeId:t.nodeId,nodeLookup:m,isTarget:y,edgeUpdaterType:t.type,lib:s,flowId:g,cancelConnection:p,panBy:_,isValidConnection:(...e)=>h.getState().isValidConnection?.(...e)??!0,onConnect:e=>l?.(n,e),onConnectStart:(r,i)=>{f(!0),u?.(e,n,t.type),c?.(r,i)},onConnectEnd:(...e)=>h.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),d?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},_=e=>g(e,{nodeId:n.target,id:n.targetHandle??null,type:`target`}),v=e=>g(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),y=()=>p(!0),b=()=>p(!1);return(0,m.jsxs)(m.Fragment,{children:[(e===!0||e===`source`)&&(0,m.jsx)(fz,{position:s,centerX:r,centerY:i,radius:t,onMouseDown:_,onMouseEnter:y,onMouseOut:b,type:`source`}),(e===!0||e===`target`)&&(0,m.jsx)(fz,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:v,onMouseEnter:y,onMouseOut:b,type:`target`})]})}function mz({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:h,rfId:g,edgeTypes:_,noPanClassName:v,onError:y,disableKeyboardA11y:b}){let x=LI(t=>t.edgeLookup.get(e)),S=LI(e=>e.defaultEdgeOptions);x=S?{...S,...x}:x;let C=x.type||`default`,w=_?.[C]||sz[C];w===void 0&&(y?.(`011`,RN.error011(C)),C=`default`,w=_?.default||sz.default);let T=!!(x.focusable||t&&x.focusable===void 0),E=d!==void 0&&(x.reconnectable||n&&x.reconnectable===void 0),D=!!(x.selectable||r&&x.selectable===void 0),O=(0,p.useRef)(null),[k,A]=(0,p.useState)(!1),[j,M]=(0,p.useState)(!1),N=RI(),{zIndex:P=x.zIndex,sourceX:F,sourceY:I,targetX:L,targetY:R,sourcePosition:z,targetPosition:B}=LI((0,p.useCallback)(t=>{let n=t.nodeLookup.get(x.source),r=t.nodeLookup.get(x.target);if(!n||!r)return cz;let i=fF({id:e,sourceNode:n,targetNode:r,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:t.connectionMode,onError:y}),a=QP({selected:x.selected,zIndex:x.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...i||cz,zIndex:a}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex,y]),NI),ee=(0,p.useMemo)(()=>x.markerStart?`url('#${gF(x.markerStart,g)}')`:void 0,[x.markerStart,g]),V=(0,p.useMemo)(()=>x.markerEnd?`url('#${gF(x.markerEnd,g)}')`:void 0,[x.markerEnd,g]);if(x.hidden||F===null||I===null||L===null||R===null)return null;let te=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:a}=N.getState();D&&(N.setState({nodesSelectionActive:!1}),x.selected&&a?(r({nodes:[],edges:[x]}),O.current?.blur()):n([e])),i&&i(t,x)},ne=a?e=>{a(e,{...x})}:void 0,H=o?e=>{o(e,{...x})}:void 0,re=s?e=>{s(e,{...x})}:void 0,U=c?e=>{c(e,{...x})}:void 0,ie=l?e=>{l(e,{...x})}:void 0;return(0,m.jsx)(`svg`,{style:{zIndex:P},children:(0,m.jsxs)(`g`,{className:rD([`react-flow__edge`,`react-flow__edge-${C}`,x.className,v,{selected:x.selected,animated:x.animated,inactive:!D&&!i,updating:k,selectable:D}]),onClick:te,onDoubleClick:ne,onContextMenu:H,onMouseEnter:re,onMouseMove:U,onMouseLeave:ie,onKeyDown:T?t=>{if(!b&&BN.includes(t.key)&&D){let{unselectNodesAndEdges:n,addSelectedEdges:r}=N.getState();t.key===`Escape`?(O.current?.blur(),n({edges:[x]})):r([e])}}:void 0,tabIndex:T?0:void 0,role:x.ariaRole??(T?`group`:`img`),"aria-roledescription":`edge`,"data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":x.ariaLabel===null?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":T?`${HI}-${g}`:void 0,ref:O,...x.domAttributes,children:[!j&&(0,m.jsx)(w,{id:e,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:D,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:F,sourceY:I,targetX:L,targetY:R,sourcePosition:z,targetPosition:B,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:ee,markerEnd:V,pathOptions:`pathOptions`in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),E&&(0,m.jsx)(pz,{edge:x,isReconnectable:E,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:h,sourceX:F,sourceY:I,targetX:L,targetY:R,sourcePosition:z,targetPosition:B,setUpdateHover:A,setReconnecting:M})]})})}var hz=(0,p.memo)(mz),gz=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function _z({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:u,reconnectRadius:d,onEdgeDoubleClick:f,onReconnectStart:p,onReconnectEnd:h,disableKeyboardA11y:g}){let{edgesFocusable:_,edgesReconnectable:v,elementsSelectable:y,onError:b}=LI(gz,NI),x=NR(t);return(0,m.jsxs)(`div`,{className:`react-flow__edges`,children:[(0,m.jsx)(BR,{defaultColor:e,rfId:n}),x.map(e=>(0,m.jsx)(hz,{id:e,edgesFocusable:_,edgesReconnectable:v,elementsSelectable:y,noPanClassName:i,onReconnect:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:u,reconnectRadius:d,onDoubleClick:f,onReconnectStart:p,onReconnectEnd:h,rfId:n,onError:b,edgeTypes:r,disableKeyboardA11y:g},e))]})}_z.displayName=`EdgeRenderer`;var vz=(0,p.memo)(_z),yz=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function bz({children:e}){let t=RI(),n=(0,p.useRef)(null),[r]=(0,p.useState)(()=>t.getState().transform);return kL(()=>{let e=null,r=()=>{let r=t.getState().transform;e&&r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]||(e=r,n.current&&(n.current.style.transform=yz(r)))};return r(),t.subscribe(r)},[t]),(0,m.jsx)(`div`,{ref:n,className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:yz(r)},children:e})}function xz(e){let t=IL(),n=(0,p.useRef)(!1);(0,p.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var Sz=e=>e.panZoom?.syncViewport;function Cz(e){let t=LI(Sz),n=RI();return(0,p.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function wz(e){return e.connection.inProgress?{...e.connection,to:wP(e.connection.to,e.transform)}:{...e.connection}}function Tz(e){return e?t=>e(wz(t)):wz}function Ez(e){return LI(Tz(e),NI)}var Dz=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Oz({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:i,width:a,height:o,isValid:s,inProgress:c}=LI(Dz,NI);return a&&i&&c?(0,m.jsx)(`svg`,{style:e,width:a,height:o,className:`react-flow__connectionline react-flow__container`,children:(0,m.jsx)(`g`,{className:rD([`react-flow__connection`,RP(s)]),children:(0,m.jsx)(kz,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}var kz=({style:e,type:t=KN.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:i,from:a,fromNode:o,fromHandle:s,fromPosition:c,to:l,toNode:u,toHandle:d,toPosition:f,pointer:p}=Ez();if(!i)return;if(n)return(0,m.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:s,fromX:a.x,fromY:a.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:f,connectionStatus:RP(r),toNode:u,toHandle:d,pointer:p});let h=``,g={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:f};switch(t){case KN.Bezier:[h]=XP(g);break;case KN.SimpleBezier:[h]=GR(g);break;case KN.Step:[h]=uF({...g,borderRadius:0});break;case KN.SmoothStep:[h]=uF(g);break;default:[h]=rF(g)}return(0,m.jsx)(`path`,{d:h,fill:`none`,className:`react-flow__connection-path`,style:e})};kz.displayName=`ConnectionLine`;var Az={};function jz(e=Az){(0,p.useRef)(e),RI(),(0,p.useEffect)(()=>{},[e])}function Mz(){RI(),(0,p.useRef)(!1),(0,p.useEffect)(()=>{},[])}function Nz({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:o,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,onSelectionContextMenu:d,onSelectionStart:f,onSelectionEnd:p,connectionLineType:h,connectionLineStyle:g,connectionLineComponent:_,connectionLineContainerStyle:v,selectionKeyCode:y,selectionOnDrag:b,selectionMode:x,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,deleteKeyCode:T,onlyRenderVisibleElements:E,elementsSelectable:D,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,preventScrolling:M,defaultMarkerColor:N,zoomOnScroll:P,zoomOnPinch:F,panOnScroll:I,panOnScrollSpeed:L,panOnScrollMode:R,zoomOnDoubleClick:z,panOnDrag:B,autoPanOnSelection:ee,onPaneClick:V,onPaneMouseEnter:te,onPaneMouseMove:ne,onPaneMouseLeave:H,onPaneScroll:re,onPaneContextMenu:U,paneClickDistance:ie,nodeClickDistance:W,onEdgeContextMenu:G,onEdgeMouseEnter:ae,onEdgeMouseMove:oe,onEdgeMouseLeave:se,reconnectRadius:ce,onReconnect:le,onReconnectStart:ue,onReconnectEnd:de,noDragClassName:fe,noWheelClassName:pe,noPanClassName:me,disableKeyboardA11y:he,nodeExtent:ge,rfId:_e,viewport:ve,onViewportChange:ye,nodesDraggable:be}){return jz(e),jz(t),Mz(),xz(n),Cz(ve),(0,m.jsx)(SR,{onPaneClick:V,onPaneMouseEnter:te,onPaneMouseMove:ne,onPaneMouseLeave:H,onPaneContextMenu:U,onPaneScroll:re,paneClickDistance:ie,deleteKeyCode:T,selectionKeyCode:y,selectionOnDrag:b,selectionMode:x,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,elementsSelectable:D,zoomOnScroll:P,zoomOnPinch:F,zoomOnDoubleClick:z,panOnScroll:I,panOnScrollSpeed:L,panOnScrollMode:R,panOnDrag:B,autoPanOnSelection:ee,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,onSelectionContextMenu:d,preventScrolling:M,noDragClassName:fe,noWheelClassName:pe,noPanClassName:me,disableKeyboardA11y:he,onViewportChange:ye,isControlledViewport:!!ve,children:(0,m.jsxs)(bz,{children:[(0,m.jsx)(vz,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:le,onReconnectStart:ue,onReconnectEnd:de,onlyRenderVisibleElements:E,onEdgeContextMenu:G,onEdgeMouseEnter:ae,onEdgeMouseMove:oe,onEdgeMouseLeave:se,reconnectRadius:ce,defaultMarkerColor:N,noPanClassName:me,disableKeyboardA11y:he,rfId:_e}),(0,m.jsx)(Oz,{style:g,type:h,component:_,containerStyle:v}),(0,m.jsx)(`div`,{className:`react-flow__edgelabel-renderer`}),(0,m.jsx)(MR,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,nodeClickDistance:W,onlyRenderVisibleElements:E,noPanClassName:me,noDragClassName:fe,disableKeyboardA11y:he,nodeExtent:ge,rfId:_e,nodesDraggable:be}),(0,m.jsx)(`div`,{className:`react-flow__viewport-portal`})]})})}Nz.displayName=`GraphView`;var Pz=(0,p.memo)(Nz),Fz=SP(`React Flow`,`https://reactflow.dev/`),Iz=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c=.5,maxZoom:l=2,nodeOrigin:u,nodeExtent:d,zIndexMode:f=`basic`}={})=>{let p=new Map,m=new Map,h=new Map,g=new Map,_=r??t??[],v=n??e??[],y=u??[0,0],b=d??zN;FF(h,g,_);let{nodesInitialized:x}=EF(v,p,m,{nodeOrigin:y,nodeExtent:b,zIndexMode:f}),S=[0,0,1];if(o&&i&&a){let{x:e,y:t,zoom:n}=kP(eP(p,{filter:e=>!(!e.width&&!e.initialWidth||!e.height&&!e.initialHeight)}),i,a,c,l,s?.padding??.1);S=[e,t,n]}return{rfId:`1`,width:i??0,height:a??0,transform:S,nodes:v,nodesInitialized:x,nodeLookup:p,parentLookup:m,edges:_,edgeLookup:g,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:zN,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:HN.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:y,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:s,fitViewResolver:null,connection:{...GN},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Fz,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:VN,zIndexMode:f,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}},Lz=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f})=>MI((p,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:i,height:a,minZoom:o,maxZoom:s}=m();t&&(await iP({nodes:e,width:i,height:a,panZoom:t,minZoom:o,maxZoom:s},n),r?.resolve(!0),p({fitViewResolver:null}))}return{...Iz({nodes:e,edges:t,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,fitViewQueued:o,zIndexMode:s,nodesSelectionActive:c}=m(),{nodesInitialized:l,hasSelectedNodes:u}=EF(e,t,n,{nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:s}),d=c&&u;o&&l?(h(),p({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):p({nodes:e,nodesInitialized:l,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();FF(t,n,e),p({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),p({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),p({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:i,nodeOrigin:a,nodeExtent:o,debug:s,fitViewQueued:c,zIndexMode:l}=m(),{changes:u,updatedInternals:d}=MF(e,n,r,i,a,o,l);d&&(CF(n,r,{nodeOrigin:a,nodeExtent:o,zIndexMode:l}),c?(h(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),u?.length>0&&(s&&console.log(`React Flow: trigger node changes`,u),t?.(u)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:i,triggerNodeChanges:a,connection:o,updateConnection:s,onNodesChangeMiddlewareMap:c}=m();for(let[a,c]of e){let e=i.get(a),l=!!(e?.expandParent&&e?.parentId&&c?.position),u={id:a,type:`position`,position:l?{x:Math.max(0,c.position.x),y:Math.max(0,c.position.y)}:c.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=mF(e,o.fromHandle,$.Left,!0);s({...o,from:t})}l&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...c.internals.positionAbsolute,width:c.measured.width??0,height:c.measured.height??0}}),r.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=m(),a=jF(n,i,e,t);r.push(...a)}for(let e of c.values())r=e(r);a(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:i,debug:a}=m();e?.length&&(i&&n(vL(e,r)),a&&console.log(`React Flow: trigger node changes`,e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:i,debug:a}=m();e?.length&&(i&&n(yL(e,r)),a&&console.log(`React Flow: trigger edge changes`,e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();t?i(e.map(e=>bL(e,!0))):(i(xL(r,new Set([...e]))),a(xL(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();t?a(e.map(e=>bL(e,!0))):(a(xL(n,new Set([...e]))),i(xL(r,new Set)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:i,triggerNodeChanges:a,triggerEdgeChanges:o}=m(),s=e||r,c=t||n,l=[];for(let e of s)e.selected&&l.push(bL(e.id,!1));let u=[];for(let e of c)e.selected&&u.push(bL(e.id,!1));a(l),o(u)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),p({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),p({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),p({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:i}=m();if(!i)return;let a=t.reduce((e,t)=>t.selected?[...e,bL(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,bL(t.id,!1)]:e,[]);n(a),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:i,elevateNodesOnSelect:a,nodeExtent:o,zIndexMode:s}=m();(e[0][0]!==o[0][0]||e[0][1]!==o[0][1]||e[1][0]!==o[1][0]||e[1][1]!==o[1][1])&&(EF(t,n,r,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:s}),p({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:i,translateExtent:a}=m();return NF({delta:e,panZoom:i,transform:t,translateExtent:a,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:i,maxZoom:a,panZoom:o}=m();if(!o)return!1;let s=n?.zoom===void 0?a:n.zoom;return await o.setViewport({x:r/2-e*s,y:i/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{p({connection:{...GN}})},updateConnection:e=>{p({connection:e})},reset:()=>p({...Iz()})}},Object.is);function Rz({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:a,initialMinZoom:o,initialMaxZoom:s,initialFitViewOptions:c,fitView:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f,children:h}){let[g]=(0,p.useState)(()=>Lz({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:l,minZoom:o,maxZoom:s,fitViewOptions:c,nodeOrigin:u,nodeExtent:d,zIndexMode:f}));return(0,m.jsx)(FI,{value:g,children:(0,m.jsx)(NL,{children:(0,m.jsx)(iR,{children:h})})})}function zz({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h}){return(0,p.useContext)(PI)?(0,m.jsx)(m.Fragment,{children:e}):(0,m.jsx)(Rz,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:o,fitView:s,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:e})}var Bz={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function Vz({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a,edgeTypes:o,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:g,onConnectEnd:_,onClickConnectStart:v,onClickConnectEnd:y,onNodeMouseEnter:b,onNodeMouseMove:x,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:w,onNodeDragStart:T,onNodeDrag:E,onNodeDragStop:D,onNodesDelete:O,onEdgesDelete:k,onDelete:A,onSelectionChange:j,onSelectionDragStart:M,onSelectionDrag:N,onSelectionDragStop:P,onSelectionContextMenu:F,onSelectionStart:I,onSelectionEnd:L,onBeforeDelete:R,connectionMode:z,connectionLineType:B=KN.Bezier,connectionLineStyle:ee,connectionLineComponent:V,connectionLineContainerStyle:te,deleteKeyCode:ne=`Backspace`,selectionKeyCode:H=`Shift`,selectionOnDrag:re=!1,selectionMode:U=WN.Full,panActivationKeyCode:ie=`Space`,multiSelectionKeyCode:W=AP()?`Meta`:`Control`,zoomActivationKeyCode:G=AP()?`Meta`:`Control`,snapToGrid:ae,snapGrid:oe,onlyRenderVisibleElements:se=!1,selectNodesOnDrag:ce,nodesDraggable:le,autoPanOnNodeFocus:ue,nodesConnectable:de,nodesFocusable:fe,nodeOrigin:pe=rL,edgesFocusable:me,edgesReconnectable:he,elementsSelectable:ge=!0,defaultViewport:_e=iL,minZoom:ve=.5,maxZoom:ye=2,translateExtent:be=zN,preventScrolling:xe=!0,nodeExtent:Se,defaultMarkerColor:Ce=`#b1b1b7`,zoomOnScroll:we=!0,zoomOnPinch:Te=!0,panOnScroll:Ee=!1,panOnScrollSpeed:De=.5,panOnScrollMode:Oe=UN.Free,zoomOnDoubleClick:ke=!0,panOnDrag:Ae=!0,onPaneClick:je,onPaneMouseEnter:Me,onPaneMouseMove:Ne,onPaneMouseLeave:Pe,onPaneScroll:Fe,onPaneContextMenu:Ie,paneClickDistance:Le=1,nodeClickDistance:Re=0,children:ze,onReconnect:Be,onReconnectStart:Ve,onReconnectEnd:He,onEdgeContextMenu:Ue,onEdgeDoubleClick:We,onEdgeMouseEnter:Ge,onEdgeMouseMove:Ke,onEdgeMouseLeave:qe,reconnectRadius:Je=10,onNodesChange:Ye,onEdgesChange:Xe,noDragClassName:Ze=`nodrag`,noWheelClassName:Qe=`nowheel`,noPanClassName:$e=`nopan`,fitView:et,fitViewOptions:tt,connectOnClick:nt,attributionPosition:rt,proOptions:it,defaultEdgeOptions:at,elevateNodesOnSelect:ot=!0,elevateEdgesOnSelect:st=!1,disableKeyboardA11y:ct=!1,autoPanOnConnect:lt,autoPanOnNodeDrag:ut,autoPanOnSelection:dt=!0,autoPanSpeed:ft,connectionRadius:pt,isValidConnection:mt,onError:ht,style:gt,id:_t,nodeDragThreshold:vt,connectionDragThreshold:yt,viewport:bt,onViewportChange:xt,width:St,height:Ct,colorMode:wt=`light`,debug:Tt,onScroll:Et,ariaLabelConfig:Dt,zIndexMode:Ot=`basic`,...kt},At){let jt=_t||`1`,Mt=uL(wt),Nt=(0,p.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Et?.(e)},[Et]);return(0,m.jsx)(`div`,{"data-testid":`rf__wrapper`,...kt,onScroll:Nt,style:{...gt,...Bz},ref:At,className:rD([`react-flow`,i,Mt]),id:_t,role:`application`,children:(0,m.jsxs)(zz,{nodes:e,edges:t,width:St,height:Ct,fitView:et,fitViewOptions:tt,minZoom:ve,maxZoom:ye,nodeOrigin:pe,nodeExtent:Se,zIndexMode:Ot,children:[(0,m.jsx)(cL,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:g,onConnectEnd:_,onClickConnectStart:v,onClickConnectEnd:y,nodesDraggable:le,autoPanOnNodeFocus:ue,nodesConnectable:de,nodesFocusable:fe,edgesFocusable:me,edgesReconnectable:he,elementsSelectable:ge,elevateNodesOnSelect:ot,elevateEdgesOnSelect:st,minZoom:ve,maxZoom:ye,nodeExtent:Se,onNodesChange:Ye,onEdgesChange:Xe,snapToGrid:ae,snapGrid:oe,connectionMode:z,translateExtent:be,connectOnClick:nt,defaultEdgeOptions:at,fitView:et,fitViewOptions:tt,onNodesDelete:O,onEdgesDelete:k,onDelete:A,onNodeDragStart:T,onNodeDrag:E,onNodeDragStop:D,onSelectionDrag:N,onSelectionDragStart:M,onSelectionDragStop:P,onMove:u,onMoveStart:d,onMoveEnd:f,noPanClassName:$e,nodeOrigin:pe,rfId:jt,autoPanOnConnect:lt,autoPanOnNodeDrag:ut,autoPanSpeed:ft,onError:ht,connectionRadius:pt,isValidConnection:mt,selectNodesOnDrag:ce,nodeDragThreshold:vt,connectionDragThreshold:yt,onBeforeDelete:R,debug:Tt,ariaLabelConfig:Dt,zIndexMode:Ot}),(0,m.jsx)(Pz,{onInit:l,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:b,onNodeMouseMove:x,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:w,nodeTypes:a,edgeTypes:o,connectionLineType:B,connectionLineStyle:ee,connectionLineComponent:V,connectionLineContainerStyle:te,selectionKeyCode:H,selectionOnDrag:re,selectionMode:U,deleteKeyCode:ne,multiSelectionKeyCode:W,panActivationKeyCode:ie,zoomActivationKeyCode:G,onlyRenderVisibleElements:se,defaultViewport:_e,translateExtent:be,minZoom:ve,maxZoom:ye,preventScrolling:xe,zoomOnScroll:we,zoomOnPinch:Te,zoomOnDoubleClick:ke,panOnScroll:Ee,panOnScrollSpeed:De,panOnScrollMode:Oe,panOnDrag:Ae,autoPanOnSelection:dt,onPaneClick:je,onPaneMouseEnter:Me,onPaneMouseMove:Ne,onPaneMouseLeave:Pe,onPaneScroll:Fe,onPaneContextMenu:Ie,paneClickDistance:Le,nodeClickDistance:Re,onSelectionContextMenu:F,onSelectionStart:I,onSelectionEnd:L,onReconnect:Be,onReconnectStart:Ve,onReconnectEnd:He,onEdgeContextMenu:Ue,onEdgeDoubleClick:We,onEdgeMouseEnter:Ge,onEdgeMouseMove:Ke,onEdgeMouseLeave:qe,reconnectRadius:Je,defaultMarkerColor:Ce,noDragClassName:Ze,noWheelClassName:Qe,noPanClassName:$e,rfId:jt,disableKeyboardA11y:ct,nodeExtent:Se,viewport:bt,onViewportChange:xt,nodesDraggable:le}),(0,m.jsx)(nL,{onSelectionChange:j}),ze,(0,m.jsx)(XI,{proOptions:it,position:rt}),(0,m.jsx)(qI,{rfId:jt,disableKeyboardA11y:ct})]})})}var Hz=OL(Vz);RN.error014();function Uz({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,m.jsx)(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:rD([`react-flow__background-pattern`,n,r])})}function Wz({radius:e,className:t}){return(0,m.jsx)(`circle`,{cx:e,cy:e,r:e,className:rD([`react-flow__background-pattern`,`dots`,t])})}var Gz;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(Gz||={});var Kz={[Gz.Dots]:1,[Gz.Lines]:1,[Gz.Cross]:6},qz=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Jz({id:e,variant:t=Gz.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=0,color:o,bgColor:s,style:c,className:l,patternClassName:u}){let d=(0,p.useRef)(null),{transform:f,patternId:h}=LI(qz,NI),g=r||Kz[t],_=t===Gz.Dots,v=t===Gz.Cross,y=Array.isArray(n)?n:[n,n],b=[y[0]*f[2]||1,y[1]*f[2]||1],x=g*f[2],S=Array.isArray(a)?a:[a,a],C=v?[x,x]:b,w=[S[0]*f[2]+C[0]/2,S[1]*f[2]+C[1]/2],T=`${h}${e||``}`;return(0,m.jsxs)(`svg`,{className:rD([`react-flow__background`,l]),style:{...c,...VL,"--xy-background-color-props":s,"--xy-background-pattern-color-props":o},ref:d,"data-testid":`rf__background`,children:[(0,m.jsx)(`pattern`,{id:T,x:f[0]%b[0],y:f[1]%b[1],width:b[0],height:b[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${w[0]},-${w[1]})`,children:_?(0,m.jsx)(Wz,{radius:x/2,className:u}):(0,m.jsx)(Uz,{dimensions:C,lineWidth:i,variant:t,className:u})}),(0,m.jsx)(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${T})`})]})}Jz.displayName=`Background`;var Yz=(0,p.memo)(Jz);function Xz(){return(0,m.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:(0,m.jsx)(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function Zz(){return(0,m.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:(0,m.jsx)(`path`,{d:`M0 0h32v4.2H0z`})})}function Qz(){return(0,m.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:(0,m.jsx)(`path`,{d:`M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z`})})}function $z(){return(0,m.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,m.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z`})})}function eB(){return(0,m.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,m.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z`})})}function tB({children:e,className:t,...n}){return(0,m.jsx)(`button`,{type:`button`,className:rD([`react-flow__controls-button`,t]),...n,children:e})}var nB=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function rB({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:u,position:d=`bottom-left`,orientation:f=`vertical`,"aria-label":p}){let h=RI(),{isInteractive:g,minZoomReached:_,maxZoomReached:v,ariaLabelConfig:y}=LI(nB,NI),{zoomIn:b,zoomOut:x,fitView:S}=IL();return(0,m.jsxs)(JI,{className:rD([`react-flow__controls`,f===`horizontal`?`horizontal`:`vertical`,l]),position:d,style:e,"data-testid":`rf__controls`,"aria-label":p??y[`controls.ariaLabel`],children:[t&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(tB,{onClick:()=>{b(),a?.()},className:`react-flow__controls-zoomin`,title:y[`controls.zoomIn.ariaLabel`],"aria-label":y[`controls.zoomIn.ariaLabel`],disabled:v,children:(0,m.jsx)(Xz,{})}),(0,m.jsx)(tB,{onClick:()=>{x(),o?.()},className:`react-flow__controls-zoomout`,title:y[`controls.zoomOut.ariaLabel`],"aria-label":y[`controls.zoomOut.ariaLabel`],disabled:_,children:(0,m.jsx)(Zz,{})})]}),n&&(0,m.jsx)(tB,{className:`react-flow__controls-fitview`,onClick:()=>{S(i),s?.()},title:y[`controls.fitView.ariaLabel`],"aria-label":y[`controls.fitView.ariaLabel`],children:(0,m.jsx)(Qz,{})}),r&&(0,m.jsx)(tB,{className:`react-flow__controls-interactive`,onClick:()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),c?.(!g)},title:y[`controls.interactive.ariaLabel`],"aria-label":y[`controls.interactive.ariaLabel`],children:g?(0,m.jsx)(eB,{}):(0,m.jsx)($z,{})}),u]})}rB.displayName=`Controls`;var iB=(0,p.memo)(rB);function aB({id:e,x:t,y:n,width:r,height:i,style:a,color:o,strokeColor:s,strokeWidth:c,className:l,borderRadius:u,shapeRendering:d,selected:f,onClick:p}){let{background:h,backgroundColor:g}=a||{},_=o||h||g;return(0,m.jsx)(`rect`,{className:rD([`react-flow__minimap-node`,{selected:f},l]),x:t,y:n,rx:u,ry:u,width:r,height:i,style:{fill:_,stroke:s,strokeWidth:c},shapeRendering:d,onClick:p?t=>p(t,e):void 0})}var oB=(0,p.memo)(aB),sB=e=>e.nodes.map(e=>e.id),cB=e=>e instanceof Function?e:()=>e;function lB({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=oB,onClick:o}){let s=LI(sB,NI),c=cB(t),l=cB(e),u=cB(n),d=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return(0,m.jsx)(m.Fragment,{children:s.map(e=>(0,m.jsx)(dB,{id:e,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:u,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:o,shapeRendering:d},e))})}function uB({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:s,onClick:c}){let{node:l,x:u,y:d,width:f,height:p}=LI(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:i,y:a}=n.internals.positionAbsolute,{width:o,height:s}=MP(r);return{node:r,x:i,y:a,width:o,height:s}},NI);return!l||l.hidden||!NP(l)?null:(0,m.jsx)(s,{x:u,y:d,width:f,height:p,style:l.style,selected:!!l.selected,className:r(l),color:t(l),borderRadius:i,strokeColor:n(l),strokeWidth:a,shapeRendering:o,onClick:c,id:l.id})}var dB=(0,p.memo)(uB),fB=(0,p.memo)(lB),pB=200,mB=150,hB=e=>!e.hidden,gB=e=>{let t={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]},n=!1;for(let t of e.nodeLookup.values())if(!t.hidden){n=!0;break}return{viewBB:t,boundingRect:n?_P(eP(e.nodeLookup,{filter:hB}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},_B=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,vB=(e,t)=>_B(e.viewBB,t.viewBB)&&_B(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,yB=`react-flow__minimap-desc`;function bB({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i=``,nodeBorderRadius:a=5,nodeStrokeWidth:o,nodeComponent:s,bgColor:c,maskColor:l,maskStrokeColor:u,maskStrokeWidth:d,position:f=`bottom-right`,onClick:h,onNodeClick:g,pannable:_=!1,zoomable:v=!1,ariaLabel:y,inversePan:b,zoomStep:x=1,offsetScale:S=5}){let C=RI(),w=(0,p.useRef)(null),{boundingRect:T,panZoom:E,viewBB:D,rfId:O,translateExtent:k,flowWidth:A,flowHeight:j,ariaLabelConfig:M}=LI(gB,vB),N=e?.width??pB,P=e?.height??mB,F=T.width/N,I=T.height/P,L=Math.max(F,I),R=L*N,z=L*P,B=S*L,ee=T.x-(R-T.width)/2-B,V=T.y-(z-T.height)/2-B,te=R+B*2,ne=z+B*2,H=`${yB}-${O}`,re=(0,p.useRef)(0),U=(0,p.useRef)();re.current=L,(0,p.useEffect)(()=>{let e=C.getState().panZoom;if(w.current&&e)return U.current=QF({domNode:w.current,panZoom:e,getTransform:()=>C.getState().transform,getViewScale:()=>re.current}),()=>{U.current?.destroy()}},[E]),(0,p.useEffect)(()=>{U.current?.update({translateExtent:k,width:A,height:j,inversePan:b,pannable:_,zoomStep:x,zoomable:v})},[_,v,b,x,k,A,j]);let ie=h?e=>{let[t,n]=U.current?.pointer(e)||[0,0];h(e,{x:t,y:n})}:void 0,W=(0,p.useCallback)((e,t)=>{let n=C.getState().nodeLookup.get(t).internals.userNode;g?.(e,n)},[g]),G=g?W:void 0,ae=y??M[`minimap.ariaLabel`];return(0,m.jsx)(JI,{position:f,style:{...e,"--xy-minimap-background-color-props":typeof c==`string`?c:void 0,"--xy-minimap-mask-background-color-props":typeof l==`string`?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof u==`string`?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof d==`number`?d*L:void 0,"--xy-minimap-node-background-color-props":typeof r==`string`?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o==`number`?o:void 0},className:rD([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:(0,m.jsxs)(`svg`,{width:N,height:P,viewBox:`${ee} ${V} ${te} ${ne}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":H,ref:w,onClick:ie,children:[ae&&(0,m.jsx)(`title`,{id:H,children:ae}),(0,m.jsx)(fB,{onClick:G,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:o,nodeComponent:s}),(0,m.jsx)(`path`,{className:`react-flow__minimap-mask`,d:`M${ee-B},${V-B}h${te+B*2}v${ne+B*2}h${-te-B*2}z
|
|
55
55
|
M${D.x},${D.y}h${D.width}v${D.height}h${-D.width}z`,fillRule:`evenodd`,pointerEvents:`none`})]})})}bB.displayName=`MiniMap`,(0,p.memo)(bB);var xB=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,SB={[pI.Line]:`right`,[pI.Handle]:`bottom-right`};function CB({nodeId:e,position:t,variant:n=pI.Handle,className:r,style:i=void 0,children:a,color:o,minWidth:s=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:f,autoScale:h=!0,shouldResize:g,onResizeStart:_,onResize:v,onResizeEnd:y}){let b=tR(),x=typeof e==`string`?e:b,S=RI(),C=(0,p.useRef)(null),w=n===pI.Handle,T=LI((0,p.useCallback)(xB(w&&h),[w,h]),NI),E=(0,p.useRef)(null),D=t??SB[n];(0,p.useEffect)(()=>{if(C.current&&x)return E.current||=wI({domNode:C.current,nodeId:x,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,domNode:a}=S.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:i,nodeOrigin:a}=S.getState(),o=[],s={x:e.x,y:e.y},c=r.get(x);if(c&&c.expandParent&&c.parentId){let t=c.origin??a,n=e.width??c.measured.width??0,l=e.height??c.measured.height??0,u=jF([{id:c.id,parentId:c.parentId,rect:{width:n,height:l,...PP({x:e.x??c.position.x,y:e.y??c.position.y},{width:n,height:l},c.parentId,r,t)}}],r,i,a);o.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*l,e.y):void 0}if(s.x!==void 0&&s.y!==void 0){let e={id:x,type:`position`,position:{...s}};o.push(e)}if(e.width!==void 0&&e.height!==void 0){let t={id:x,type:`dimensions`,resizing:!0,setAttributes:f?f===`horizontal`?`width`:`height`:!0,dimensions:{width:e.width,height:e.height}};o.push(t)}for(let e of t){let t={...e,type:`position`};o.push(t)}n(o)},onEnd:({width:e,height:t})=>{let n={id:x,type:`dimensions`,resizing:!1,dimensions:{width:e,height:t}};S.getState().triggerNodeChanges([n])}}),E.current.update({controlPosition:D,boundaries:{minWidth:s,minHeight:c,maxWidth:l,maxHeight:u},keepAspectRatio:d,resizeDirection:f,onResizeStart:_,onResize:v,onResizeEnd:y,shouldResize:g}),()=>{E.current?.destroy()}},[D,s,c,l,u,d,_,v,y,g]);let O=D.split(`-`);return(0,m.jsx)(`div`,{className:rD([`react-flow__resize-control`,`nodrag`,...O,n,r]),ref:C,style:{...i,scale:T,...o&&{[w?`backgroundColor`:`borderColor`]:o}},children:a})}(0,p.memo)(CB);var wB=new Set,TB=[];function EB(e){return e.startsWith(`signal:child:`)}function DB(e){let t=g();return Xe({queries:(()=>{let n=new Set(e),r=e.size+50,i=[...e];for(;i.length>0&&n.size<r;){let e=i.shift();if(e===void 0)continue;let a=t.getQueryData([`run`,e]);if(a!==void 0)for(let e of vT(a.timeline)){if(n.size>=r)break;n.has(e)||(n.add(e),i.push(e))}}return[...n].sort()})().map(e=>({queryKey:[`run`,e],queryFn:()=>XS.run(e),refetchInterval:VT})),combine:TT})}function OB({data:e}){let t=e.status===`failed`,n=e.status===`pending`||e.status===`running`,r=!!e.childRunId,i=!!e.collapsed,a=r&&!i,o=a?MC:PC(e.kind),s=t?{rail:`bg-bad`,badge:`bg-bad/15 text-bad`,pill:`bg-bad/20 text-bad`}:n?{rail:`bg-live`,badge:`bg-live/15 text-live`,pill:`bg-live/20 text-live`}:{rail:`bg-good`,badge:`bg-good/15 text-good`,pill:`bg-good/20 text-good`};return(0,m.jsxs)(`div`,{title:a?FC.child:FC[e.kind]??e.kind,className:`group relative w-[208px] cursor-pointer overflow-hidden rounded-xl border bg-panel/95 shadow-lg backdrop-blur transition-all duration-150 hover:-translate-y-0.5 ${e.selected?`border-brand/60 ring-2 ring-brand/30`:t?`border-bad/40 hover:border-bad/60`:a?`border-violet/40 hover:border-violet/60`:`border-line hover:border-line-strong`}`,children:[(0,m.jsx)(`span`,{className:`absolute inset-y-0 left-0 w-[3px] ${s.rail} ${n?`animate-pulse`:``}`}),(0,m.jsx)(lR,{type:`target`,position:$.Left,className:`!border-0 !bg-line-strong`}),(0,m.jsxs)(`div`,{className:`py-2.5 pl-3.5 pr-3`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`grid h-5 w-5 shrink-0 place-items-center rounded ${s.badge}`,children:(0,m.jsx)(o,{width:12,height:12})}),(0,m.jsx)(`span`,{className:`truncate text-[13px] font-medium text-fg`,children:e.name}),(0,m.jsx)(`span`,{className:`ml-auto grid h-4 w-4 shrink-0 place-items-center rounded-full ${s.pill} ${n?`animate-pulse`:``}`,children:t?(0,m.jsx)(EC,{width:9,height:9}):n?(0,m.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-current`}):(0,m.jsx)(TC,{width:9,height:9})})]}),(0,m.jsxs)(`div`,{className:`mono mt-1.5 flex items-center gap-1.5 text-[10px] text-dim`,children:[r?(0,m.jsxs)(`span`,{className:`flex items-center gap-1`,children:[!i&&(0,m.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e.childRunId&&e.onToggleChild?.(e.childRunId)},title:e.childExpanded?`Collapse child flow`:`Expand child flow inline`,className:`grid h-4 w-4 place-items-center rounded border border-violet/30 bg-violet/10 text-violet transition-colors hover:border-violet/60 hover:bg-violet/20 hover:text-violet`,children:(0,m.jsx)(`span`,{className:`inline-block text-[9px] transition-transform`,style:{transform:e.childExpanded?`rotate(90deg)`:`rotate(0deg)`},children:`▸`})}),(0,m.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e.childRunId&&e.onOpenRun?.(e.childRunId)},title:`Open the child run`,className:`rounded border border-violet/30 bg-violet/10 px-1 text-violet transition-colors hover:border-violet/60 hover:bg-violet/20 hover:text-violet`,children:`child ↗`})]}):(0,m.jsx)(`span`,{className:`rounded border border-line px-1 text-fg-2`,children:e.kind}),e.attempts>1&&(0,m.jsxs)(`span`,{className:`flex items-center gap-0.5 text-warn`,children:[(0,m.jsx)(kC,{width:9,height:9}),e.attempts]}),e.workerGroup&&(0,m.jsxs)(`span`,{className:`truncate`,children:[`@`,e.workerGroup]}),(0,m.jsxs)(`span`,{className:`tnum ml-auto text-fg-2`,children:[`#`,e.seq,e.duration&&(0,m.jsxs)(`span`,{className:`text-faint`,children:[` · `,e.duration]})]})]}),e.subs&&(0,m.jsxs)(`div`,{className:`mono mt-1.5 flex items-center gap-2 border-t border-line pt-1.5 text-[10px]`,children:[e.subs.ok>0&&(0,m.jsxs)(`span`,{className:`text-good`,children:[e.subs.ok,` ok`]}),e.subs.failed>0&&(0,m.jsxs)(`span`,{className:`text-bad`,children:[e.subs.failed,` failed`]}),e.subs.skipped>0&&(0,m.jsxs)(`span`,{className:`text-warn`,children:[e.subs.skipped,` skipped`]})]})]}),(0,m.jsx)(lR,{type:`source`,position:$.Right,className:`!border-0 !bg-line-strong`})]})}function kB({data:e}){let{fan:t}=e,n=PT(t,e.runFinished),r=FT(t,e.runFinished),i=r===`failed`,a=r===`pending`||r===`running`,o=i?`bg-bad`:a?`bg-live`:`bg-good`,s=e=>`${e/Math.max(n.total,1)*100}%`;return(0,m.jsxs)(`div`,{title:`parallel fan ${t.group}`,className:`relative w-[208px] overflow-hidden rounded-xl border bg-panel/95 shadow-lg backdrop-blur ${i?`border-bad/40`:`border-violet/40`}`,children:[(0,m.jsx)(`span`,{className:`absolute inset-y-0 left-0 w-[3px] ${o} ${a?`animate-pulse`:``}`}),(0,m.jsx)(lR,{type:`target`,position:$.Left,className:`!border-0 !bg-line-strong`}),(0,m.jsxs)(`div`,{className:`py-2.5 pl-3.5 pr-3`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`grid h-5 w-5 shrink-0 place-items-center rounded bg-violet/15 text-[11px] text-violet`,children:`⑃`}),(0,m.jsx)(`span`,{className:`truncate text-[13px] font-medium text-fg`,children:t.label}),(0,m.jsx)(`span`,{className:`mono tnum ml-auto shrink-0 text-[11px] text-fg-2`,children:IT(n)})]}),(0,m.jsx)(`div`,{className:`mt-2 flex h-1.5 overflow-hidden rounded-full bg-hover`,children:UT.map(e=>(0,m.jsx)(`span`,{className:e.className,style:{width:s(n[e.key])}},e.key))}),(0,m.jsxs)(`div`,{className:`mono tnum mt-1.5 flex flex-wrap items-center gap-2 text-[10px]`,children:[UT.map(e=>n[e.key]>0?(0,m.jsxs)(`span`,{className:e.text,children:[n[e.key],` `,e.label,e.key===`skipped`&&t.failFast?` (failFast)`:``]},e.key):null),(0,m.jsxs)(`span`,{className:`ml-auto text-dim`,children:[`#`,t.firstSeq,`–`,t.lastSeq]})]})]}),(0,m.jsx)(lR,{type:`source`,position:$.Right,className:`!border-0 !bg-line-strong`})]})}function AB({data:e}){let t=e.status===`running`||e.status===`awaiting`;return(0,m.jsxs)(`div`,{className:`s-${e.status} flex items-center gap-2 rounded-full border border-current/30 bg-panel px-3.5 py-1.5`,children:[(0,m.jsx)(lR,{type:`target`,position:$.Left,className:`!border-0 !bg-line-strong`}),(0,m.jsx)(`span`,{className:`dot ${t?`pulse`:``}`}),(0,m.jsx)(`span`,{className:`mono text-[11px] uppercase tracking-wider`,children:e.label}),(0,m.jsx)(lR,{type:`source`,position:$.Right,className:`!border-0 !bg-line-strong`})]})}var jB={step:OB,fan:kB,terminal:AB};function MB(e){let t=e.events?.filter(e=>e.status);if(t&&t.length!==0)return{ok:t.filter(e=>e.status===`ok`).length,failed:t.filter(e=>e.status===`failed`).length,skipped:t.filter(e=>e.status===`skipped`).length}}function NB({run:e,timeline:t,fans:n=TB,endStatus:r,selectedKey:i,onSelect:a,onOpenRun:o,fmtDuration:s,expanded:c,onToggleChild:l}){let u=c??wB,d=DB((0,p.useMemo)(()=>{let e=new Set(u);for(let n of vT(t))e.add(n);return e},[u,t])),{nodes:f,edges:h}=(0,p.useMemo)(()=>{let a=[],c=[],f=TS(e.status),p=(e,t,n)=>({id:`${e}->${t}`,source:e,target:t,style:{stroke:n?`var(--agora-bad)`:`var(--agora-line-strong)`,strokeWidth:1.5}}),m=(e,t)=>({id:`${e}=>${t}`,source:e,target:t,style:{stroke:`var(--agora-violet)`,strokeWidth:1.5,strokeDasharray:`4 3`}});function h(e,t,n,r,f,p){let h=`${f}s${e.seq}`,_=_T(e),v=_===void 0?void 0:d[_],y=v!==void 0&&v.timeline.length===1&&v.timeline[0]?{step:v.timeline[0],run:v.run}:void 0,b=y!==void 0,x=!b&&_!==void 0&&u.has(_),S=y?y.step:e,C=y?y.run:p,w=y?y.step.name:_===void 0?OT(e):v?.run.workflow??yT(_,p.id),T=S.status===`failed`;a.push({id:h,type:`step`,draggable:!1,position:{x:t,y:n},data:{seq:S.seq,name:w,kind:S.kind,status:S.status,workerGroup:S.workerGroup,attempts:S.attempts,duration:s(S.startedAt,S.finishedAt),subs:MB(S),selected:i===`${S.runId}#${S.seq}`,childRunId:_,onOpenRun:o,childExpanded:x,onToggleChild:l,collapsed:b,depth:r,step:S,laneRun:C}});let E=x?v:void 0;if(E){let i=g(E.timeline,E.fans??TB,r+1,t+248,n+150,`${_}:`,E.run);for(let e of i.firstIds)c.push(m(h,e));return{id:h,exits:EB(e.name)&&i.connectors.length>0?i.connectors:[{id:h,failed:T}],nextX:Math.max(t+248,i.nextX),bottomY:Math.max(n,i.bottomY)}}return{id:h,exits:[{id:h,failed:T}],nextX:t+248,bottomY:n}}function g(e,t,n,r,i,o,s){let l=r,u=[],d=[],f=i;for(let r of MT(e,t)){if(r.kind===`summary`){let e=`${o}fan:${r.fan.group}`;a.push({id:e,type:`fan`,draggable:!1,position:{x:l,y:i},data:{fan:r.fan,runFinished:RT(s.status),depth:n}}),u.length===0&&u.push(e);for(let t of d)c.push(p(t.id,e,t.failed));d=[{id:e,failed:FT(r.fan,RT(s.status))===`failed`}],l+=248;continue}let e=r.kind===`single`?[r.step]:r.steps,t=u.length===0,m=[],g=i,_=l;for(let r of e){let e=h(r,l,g,n,o,s);t&&u.push(e.id);for(let t of d)c.push(p(t.id,e.id,t.failed));m.push(...e.exits),_=Math.max(_,e.nextX),g=e.bottomY+96}d=m,l=_,f=Math.max(f,g-96)}return{firstIds:u,connectors:d,nextX:l,bottomY:f}}a.push({id:`start`,type:`terminal`,position:{x:0,y:0},draggable:!1,data:{status:`running`,label:e.workflow}});let _=g(t,n,0,248,0,``,e);for(let e of _.firstIds)c.push({id:`start->${e}`,source:`start`,target:e});let v=r??PS(e,t);a.push({id:`end`,type:`terminal`,position:{x:Math.max(_.nextX,248),y:0},draggable:!1,data:{status:v,label:v}});let y=_.connectors.length>0?_.connectors:[{id:`start`,failed:!1}];for(let e of y)c.push({id:`${e.id}->end`,source:e.id,target:`end`,animated:f,style:{stroke:f?`var(--agora-live)`:`var(--agora-line-strong)`,strokeWidth:f?2:1.5}});return{nodes:a,edges:c}},[e,t,n,r,i,o,s,u,l,d]),g=(0,p.useCallback)((e,t)=>{if(t.type!==`step`)return;let n=t.data;n.step&&n.laneRun&&a(n.step,n.laneRun)},[a]);return(0,m.jsxs)(Hz,{nodes:f,edges:h,nodeTypes:jB,onNodeClick:g,fitView:!0,fitViewOptions:{padding:.3,maxZoom:1.1},proOptions:{hideAttribution:!0},nodesConnectable:!1,nodesDraggable:!1,panOnScroll:!0,minZoom:.3,children:[(0,m.jsx)(Yz,{variant:Gz.Dots,gap:22,size:1,color:`var(--agora-line-strong)`}),(0,m.jsx)(iB,{showInteractive:!1,position:`bottom-right`})]})}function PB(){return(0,m.jsxs)(`div`,{className:`flex h-full flex-col`,"aria-hidden":!0,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-2.5 border-b border-line px-5 py-5 md:px-7`,children:[(0,m.jsx)(Gf,{className:`h-5 w-56`}),(0,m.jsx)(Gf,{className:`h-3 w-72`}),(0,m.jsx)(Gf,{className:`h-3 w-40`})]}),(0,m.jsx)(`div`,{className:`flex-1 p-6`,children:(0,m.jsx)(Gf,{className:`h-full min-h-40 w-full rounded-xl`})}),(0,m.jsxs)(`div`,{className:`h-48 border-t border-line p-4`,children:[(0,m.jsx)(Gf,{className:`h-3 w-full`}),(0,m.jsx)(Gf,{className:`mt-3 h-3 w-4/5`}),(0,m.jsx)(Gf,{className:`mt-3 h-3 w-3/5`})]})]})}function FB({compensations:e,selKey:t,onSelect:n}){return(0,m.jsxs)(`div`,{className:`shrink-0 border-t border-warn/20 bg-sunken/20 px-7 py-3`,children:[(0,m.jsx)(`div`,{className:`mono mb-2 text-[10px] uppercase tracking-[0.18em] text-warn/80`,children:`compensation · unwind order`}),(0,m.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.map(e=>{let r=`${e.runId}#${e.seq}`;return(0,m.jsx)(`li`,{children:(0,m.jsxs)(`button`,{type:`button`,onClick:()=>n(e),className:`mono flex w-full items-center gap-2 rounded-md border px-2.5 py-1.5 text-left text-[11.5px] transition-colors ${r===t?`border-warn/50 bg-warn/15`:`border-warn/20 bg-warn/5 hover:border-warn/40`}`,children:[(0,m.jsx)(vC,{status:e.status}),(0,m.jsx)(`span`,{className:`truncate text-warn`,children:uS(e.name)}),(0,m.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] uppercase tracking-wider text-warn/70`,children:e.status})]})},r)})})]})}var IB=[];function LB({id:e,onOpenRun:t}){let n=g(),{data:r}=Qe({queryKey:[`run`,e],queryFn:async()=>RE(n.getQueryData([`run`,e]),await XS.run(e)),refetchInterval:e=>{let t=e.state.data?.run.status;return t===`running`||t===`suspended`||t===`cancelling`?1500:!1}}),{data:i=[]}=Qe({queryKey:[`workers`],queryFn:()=>XS.workers(),refetchInterval:5e3}),{data:a=[]}=Qe({queryKey:[`runs`,``,``],queryFn:()=>XS.runs(),refetchInterval:3e3}),{data:o}=Qe({queryKey:[`topology`],queryFn:()=>XS.topology(),staleTime:1/0,refetchInterval:!1}),s=o?.role===`tenant`,c=r?.run.status===`dead`?`dlq:${e}`:void 0,{data:l}=Qe({queryKey:[`run`,c],queryFn:()=>XS.run(c),enabled:!!c,retry:!1,refetchInterval:e=>!e.state.data&&1e4}),u=()=>{n.invalidateQueries({queryKey:[`run`,e]}),n.invalidateQueries({queryKey:[`runs`]})},d=(0,p.useRef)(null);d.current?.runId!==e&&(d.current={runId:e,tail:new LE});let f=d.current.tail;(0,p.useEffect)(()=>{let t=BE(()=>n.invalidateQueries({queryKey:[`run`,e]}),1500),r=XS.streamRun(e,r=>{if(f.push(r),r.type===`step.progress`&&r.event&&r.seq!=null){let t=r.seq,i=r.event;n.setQueryData([`run`,e],e=>zE(e,t,i))}else t.call()});return()=>{t.cancel(),r()}},[e,n,f]);let h=$e({mutationFn:()=>XS.retry(e),onSuccess:u}),_=$e({mutationFn:t=>XS.cancel(e,t===void 0?{}:{compensate:t}),onSuccess:u}),v=$e({mutationFn:()=>XS.continue(e),onSuccess:u}),y=$e({mutationFn:()=>XS.redispatch(e),onSuccess:u}),[b,x]=(0,p.useState)(!1),S=$e({mutationFn:()=>XS.republishLifecycle(e),onSuccess:u}),C=$e({mutationFn:t=>XS.retryWithInput(e,t),onSuccess:e=>{n.invalidateQueries({queryKey:[`runs`]}),t(e.runId)}}),[w,T]=(0,p.useState)(!1),[E,D]=(0,p.useState)(``),[O,k]=(0,p.useState)(),A=()=>{D(JSON.stringify(r?.run.input??{},null,2)),k(void 0),T(!0)},j=()=>{let e;try{e=JSON.parse(E)}catch(e){k(e instanceof Error?e.message:`Invalid JSON`);return}T(!1),C.mutate(e)},[M,N]=(0,p.useState)(),[P,F]=(0,p.useState)(!1),[I,L]=(0,p.useState)(new Set),[R,z]=(0,p.useState)(240);function B(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);let t=e=>z(t=>Math.max(120,Math.min(720,t-e.movementY))),n=()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n)};window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n)}function ee(e){L(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}if(!r)return(0,m.jsx)(PB,{});let{run:V,timeline:te}=r,{body:ne,compensations:H}=dS(te),re=r.fans??IB,U=re.reduce((e,t)=>e+t.size,ne.length),ie=ne.length>0||re.length>0,W=bT(r.children??[],r.childCount),G=xT(r),ae=G.startedBy,oe=CT(r),se=fS(H),ce=V.id.startsWith(`dlq:`),le=ce?{id:V.id.slice(4),title:`Dead-letter handler`,subtitle:`started because run ${V.id.slice(4)} was dead-lettered`,cta:`open dead run →`}:l?{id:`dlq:${V.id}`,title:`Dead-lettered`,subtitle:`this run exceeded recovery and was routed to a DLQ handler`,cta:`open DLQ handler →`}:void 0,ue=H.length>0||V.status===`cancelling`?(()=>{let e=se.failed>0?` ${se.failed} undo${se.failed===1?``:`s`} failed after retries — check ${se.failed===1?`it`:`them`} below.`:``;return V.status===`cancelling`?{title:`Cancelling`,subtitle:H.length>0?`undoing completed steps in reverse before cancelling (${se.done} of ${se.total} done).${e}`:`a compensating cancel is undoing the saga; the run becomes cancelled when it is done.`}:se.pending>0?{title:`Compensating`,subtitle:`undoing completed steps in reverse (${se.done} of ${se.total} done).${e}`}:V.status===`cancelled`?{title:`Cancelled with compensation`,subtitle:`completed steps were undone before cancelling.${e}`}:{title:`Saga compensated`,subtitle:`the run failed and its ${se.total} completed step${se.total===1?``:`s`} were undone in reverse.${e}`}})():void 0,de=V.status===`failed`||V.status===`suspended`,fe=V.status===`running`||V.status===`suspended`,pe=V.status===`suspended`||V.status===`running`,me=ne.some(e=>e.status===`pending`&&e.kind===`signal`&&e.name.startsWith(`breakpoint`)),he=M?`${M.step.runId}#${M.step.seq}`:void 0,ge=NS(V,{runs:a,health:i,timeline:ne}),_e=V.namespace&&V.namespace!=="default"?V.namespace:void 0,ve=Qx(V.origin),ye=V.waiting??a.find(e=>e.id===V.id)?.waiting,be=V.status===`suspended`?bS(ne,ye):[],xe=[h,_,v,y,C].find(e=>e.error)?.error;return(0,m.jsxs)(`div`,{className:`flex h-full flex-col overflow-y-auto lg:overflow-hidden`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 border-b border-line px-5 py-5 md:px-7 2xl:flex-row 2xl:items-start 2xl:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,m.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight text-fg`,children:(0,m.jsx)(`a`,{href:rC(V.workflow),className:`underline-offset-4 hover:underline`,title:`Open this workflow's page: who starts when it settles, and who starts it`,children:V.workflow})}),HE(V.id)!==void 0&&(0,m.jsx)(Wi,{variant:`alt`,size:`micro`,onClick:()=>t(HE(V.id)),className:`mono uppercase tracking-wider`,title:`Open the parent run (${HE(V.id)}) — the macro view this child belongs to`,children:`↑ parent`}),VE(V.id)!==void 0&&(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(VE(V.id)),className:`mono uppercase tracking-wider text-fg-2`,title:`This is a retry-with-input of ${VE(V.id)} — open the original run`,children:`↩ original`}),ce&&(0,m.jsx)(nC,{variant:`destructive`,className:`mono py-0.5 uppercase tracking-wider`,children:`dlq`}),(0,m.jsx)(yC,{status:ge.status}),ge.detail&&(0,m.jsx)(`span`,{className:`mono text-[11px] s-${ge.status}`,children:ge.detail}),_e&&(0,m.jsx)(nC,{variant:`info`,className:`mono py-0.5`,title:`Namespace (worker pool) this run belongs to`,children:_e}),ve?(0,m.jsx)(nC,{variant:`teal`,className:`mono py-0.5`,title:`Declared by ${ve}`,children:eS(ve)}):(0,m.jsxs)(nC,{variant:`neutral`,className:`mono py-0.5`,title:aS,children:[`origin `,`app`]}),H.length>0&&(0,m.jsx)(nC,{variant:`warn`,className:J(`mono py-0.5 uppercase tracking-wider`,se.pending>0&&`pulse`),title:se.pending>0?`compensating: ${se.done} of ${se.total} undone`:`${se.total} step${se.total===1?``:`s`} compensated`,children:se.pending>0?`compensating`:`compensated`}),(0,m.jsxs)(nC,{variant:`neutral`,className:`mono bg-transparent py-0.5 text-dim`,children:[`v`,V.workflowVersion]}),(0,m.jsxs)(`span`,{className:`mono tnum text-[11px] text-faint`,children:[U,` `,U===1?`step`:`steps`]})]}),(0,m.jsx)(`div`,{className:`mono mt-1 truncate text-[11px] text-faint`,children:V.id}),V.tags&&V.tags.length>0&&(0,m.jsx)(`div`,{className:`mt-1.5 flex flex-wrap gap-1`,children:V.tags.map(e=>(0,m.jsxs)(nC,{variant:`neutral`,className:`mono`,children:[`#`,e]},e))}),V.searchAttributes&&Object.keys(V.searchAttributes).length>0&&(0,m.jsx)(`div`,{className:`mt-1.5 flex flex-wrap gap-1`,children:Object.entries(V.searchAttributes).map(([e,t])=>(0,m.jsxs)(nC,{variant:`violet`,className:`mono`,title:`search attribute`,children:[e,`=`,String(t)]},e))}),W.shown.length>0?(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`children:`}),W.shown.map(e=>(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e),className:`mono px-1.5 py-0`,children:e},e)),W.more>0&&(0,m.jsxs)(`span`,{className:`mono text-[10px] text-dim`,children:[`+`,W.more,` more`]})]}):null,ae?(0,m.jsx)(NE,{source:ae,onOpenRun:t}):null,(0,m.jsx)(PE,{waitsFor:r.waitsFor,awaitedBy:r.awaitedBy,onOpenRun:t}),G.triggered.length>0&&!r.lifecycleDeliveries?(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-1`,children:[(0,m.jsx)(`span`,{className:`text-[10px] text-faint`,children:`triggered:`}),G.triggered.map(e=>(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,onClick:()=>t(e),className:`mono px-1.5 py-0`,children:e},e))]}):null,r.lifecycleDeliveries?(0,m.jsx)(ZE,{deliveries:r.lifecycleDeliveries,tail:f,onOpenRun:t}):null,r.workflowLifecycle?(0,m.jsx)(`div`,{className:`mt-3`,children:(0,m.jsx)(cC,{links:r.workflowLifecycle})}):null,(0,m.jsx)(XE,{tail:f,onOpenRun:t})]}),(0,m.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:()=>F(!0),className:`mono px-2.5 normal-case tracking-normal text-fg-2`,title:`Run input / output`,children:`{ }`}),me&&(0,m.jsxs)(Wi,{size:`sm`,variant:`warn`,disabled:v.isPending||s,onClick:()=>v.mutate(),title:s?`Not available on a tenant deployment — resuming a breakpoint needs the control plane.`:void 0,children:[(0,m.jsx)(AC,{width:12,height:12}),`Continue`]}),(0,m.jsxs)(Wi,{size:`sm`,variant:`brand`,disabled:!de||h.isPending,onClick:()=>h.mutate(),children:[(0,m.jsx)(OC,{width:12,height:12}),`Retry`]}),pe&&(0,m.jsxs)(Wi,{size:`sm`,variant:`info`,disabled:y.isPending,onClick:()=>y.mutate(),title:"Re-dispatch stuck `pending` remote steps — recovery for a lost step dispatch (crashed worker or dropped job)",children:[(0,m.jsx)(kC,{width:12,height:12}),`Re-dispatch`]}),oe.length>0&&(0,m.jsxs)(Wi,{size:`sm`,variant:`info`,disabled:S.isPending,onClick:()=>{S.reset(),x(!0)},title:`Publish this run's lifecycle event again, to the subscribers it has not started yet`,children:[(0,m.jsx)(kC,{width:12,height:12}),`Republish lifecycle event`]}),(V.status===`dead`||V.status===`failed`)&&(0,m.jsxs)(Wi,{size:`sm`,variant:`alt`,disabled:C.isPending||s,onClick:A,title:s?`Not available on a tenant deployment — fix & replay needs the control plane.`:`Edit the input and re-run as a fresh linked run`,children:[(0,m.jsx)(OC,{width:12,height:12}),`Fix & replay`]}),fe&&(0,m.jsxs)(Wi,{size:`sm`,variant:`warn`,disabled:_.isPending,onClick:()=>_.mutate(!0),title:`Cancel and run saga compensations (undo completed steps in reverse)`,className:`bg-transparent`,children:[(0,m.jsx)(OC,{width:12,height:12}),`Cancel + Undo`]}),(0,m.jsxs)(Wi,{variant:`outline`,size:`sm`,className:`border-line-strong`,disabled:!fe||_.isPending,onClick:()=>_.mutate(!1),children:[(0,m.jsx)(EC,{width:12,height:12}),`Cancel`]})]})]}),le&&(0,m.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-bad/30 bg-bad/10 px-7 py-3`,children:[(0,m.jsx)(`span`,{className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-bad/40 bg-bad/15 text-sm text-bad`,"aria-hidden":!0,children:`⚠`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`text-[13px] font-medium text-bad`,children:le.title}),(0,m.jsx)(`div`,{className:`mono truncate text-[11px] text-bad/70`,children:le.subtitle})]}),(0,m.jsx)(Wi,{size:`sm`,variant:`destructive`,onClick:()=>t(le.id),className:`mono shrink-0 border-bad/40 bg-bad/15 px-2.5 text-[11px] normal-case tracking-normal text-bad enabled:hover:bg-bad/25`,children:le.cta})]}),xe&&(0,m.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-3 border-b border-bad/30 bg-bad/10 px-7 py-3 text-[12px] text-bad`,children:[(0,m.jsx)(`span`,{className:`font-medium`,children:`Action failed:`}),(0,m.jsx)(`span`,{className:`mono min-w-0 flex-1 truncate`,children:xe instanceof Error?xe.message:String(xe)})]}),be.length>0&&(0,m.jsx)(nD,{runId:V.id,targets:be,tenantPod:s,onDelivered:u}),ue&&(0,m.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-warn/30 bg-warn/10 px-7 py-3`,children:[(0,m.jsx)(`span`,{className:`grid h-7 w-7 shrink-0 place-items-center rounded-md border border-warn/40 bg-warn/15 text-sm text-warn`,"aria-hidden":!0,children:`↺`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`text-[13px] font-medium text-warn`,children:ue.title}),(0,m.jsx)(`div`,{className:`mono truncate text-[11px] text-warn/70`,children:ue.subtitle})]})]}),(0,m.jsxs)(`div`,{className:`relative grid min-h-[560px] flex-1 lg:min-h-0`,style:{gridTemplateRows:ie?`1fr ${R}px`:`1fr`},children:[(0,m.jsxs)(`div`,{className:`relative min-h-0`,children:[ie?(0,m.jsx)(NB,{run:V,timeline:ne,fans:re,endStatus:ge.status,selectedKey:he,onSelect:(e,t)=>N({step:e,run:t}),onOpenRun:t,fmtDuration:_C,expanded:I,onToggleChild:ee}):(0,m.jsx)(`div`,{className:`grid h-full place-items-center text-sm text-faint`,children:`No steps recorded yet.`}),(V.status===`failed`||V.status===`cancelled`)&&V.error&&(0,m.jsx)(`div`,{className:`mono absolute inset-x-6 bottom-6 rounded-lg border border-bad/20 bg-bad/10 px-3 py-2 text-xs text-bad backdrop-blur`,children:V.error.message})]}),ie&&(0,m.jsxs)(`div`,{className:`relative min-h-0 overflow-hidden border-t border-line bg-sunken/20`,children:[(0,m.jsx)(`div`,{onPointerDown:B,className:`absolute inset-x-0 top-0 z-10 h-1.5 -translate-y-1/2 cursor-row-resize hover:bg-brand/40`,title:`Drag to resize`}),(0,m.jsx)(cE,{run:V,timeline:ne,fans:re,selectedKey:he,onSelect:(e,t)=>N({step:e,run:t}),onOpenRun:t,expanded:I,onToggleChild:ee})]}),M&&(0,m.jsx)(wE,{step:M.step,run:M.run,onClose:()=>N(void 0),onOpenRun:t}),P&&(0,m.jsx)(QE,{run:V,onClose:()=>F(!1)})]}),H.length>0&&(0,m.jsx)(FB,{compensations:H,selKey:he,onSelect:e=>N({step:e,run:V})}),(0,m.jsxs)(zC,{open:b,onOpenChange:x,title:`Republish lifecycle event`,description:`publishes ${V.id}'s ${V.status===`completed`?`completed`:`failed`} event again`,footer:S.isSuccess?(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:()=>x(!1),children:`Close`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:()=>x(!1),children:`Cancel`}),(0,m.jsx)(Wi,{size:`sm`,variant:`info`,disabled:S.isPending,onClick:()=>S.mutate(),children:`Republish`})]}),children:[S.isSuccess?(0,m.jsx)(`p`,{className:`text-[12.5px] leading-relaxed text-fg-2`,children:wT(S.data)}):(0,m.jsxs)(`p`,{className:`text-[12.5px] leading-relaxed text-fg-2`,children:[`Starts the subscribers of this run's lifecycle event that it has not started yet:`,` `,(0,m.jsx)(`span`,{className:`mono text-fg-2`,children:oe.join(`, `)}),`. A subscriber run that already exists is not started again.`]}),S.isError&&(0,m.jsx)(`p`,{className:`mono mt-2 rounded border border-bad/25 bg-bad/10 px-2 py-1 text-[11px] text-bad`,children:S.error instanceof Error?S.error.message:`Republish failed`})]}),(0,m.jsxs)(zC,{open:w,onOpenChange:T,title:`Fix & replay`,description:`re-runs ${V.id} as a fresh linked run`,footer:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wi,{variant:`outline`,size:`sm`,onClick:()=>T(!1),children:`Cancel`}),(0,m.jsx)(Wi,{size:`sm`,variant:`alt`,disabled:C.isPending,onClick:j,children:`Replay`})]}),children:[(0,m.jsx)(`label`,{className:`mono mb-1.5 block text-[10px] uppercase tracking-[0.18em] text-dim`,htmlFor:`fix-replay-input`,children:`input`}),(0,m.jsx)(`textarea`,{id:`fix-replay-input`,value:E,spellCheck:!1,onChange:e=>{D(e.target.value),k(void 0)},className:`mono h-64 w-full resize-y rounded-lg border border-line bg-sunken/40 p-3 text-[11.5px] leading-relaxed text-fg-2 focus:border-line-strong focus:outline-none`}),O&&(0,m.jsx)(`p`,{className:`mono mt-2 rounded border border-bad/25 bg-bad/10 px-2 py-1 text-[11px] text-bad`,children:O})]})]})}function RB(e){let t=new URL(window.location.href);e===void 0?t.searchParams.delete(`tenant`):t.searchParams.set(`tenant`,e),window.history.pushState(null,``,t.toString())}function zB(e,t){return t===void 0?`All organizations`:e?.tenants.find(e=>e.id===t)?.label??t}function BB(){let{data:e}=Qe({queryKey:[`tenants`],queryFn:()=>XS.tenants(),staleTime:6e4,refetchInterval:!1});return e}function VB(){let e=BB(),t=g(),[n,r]=(0,p.useState)(!1),[i,a]=(0,p.useState)(``),o=xS();if(!e||e.mode===`off`)return null;let s=`mono flex items-center gap-1.5 rounded-md border border-line bg-panel px-2 py-1 text-[11px] text-fg-2`;if(e.mode===`none`)return(0,m.jsxs)(`span`,{className:s,title:`Choose an organization in the app to see its runs`,children:[(0,m.jsx)(`span`,{className:`text-dim`,children:`Organization`}),` none`]});if(e.mode===`fixed`)return(0,m.jsxs)(`span`,{className:s,"data-tenant-picker":`fixed`,children:[(0,m.jsx)(`span`,{className:`text-dim`,children:`Organization`}),e.tenants[0]?.label??e.tenants[0]?.id]});let c=async e=>{r(!1),a(``),await XS.selectTenant(e??`*`).catch(()=>void 0),RB(e),await t.invalidateQueries({predicate:e=>e.queryKey[0]!==`tenants`})},l=i.trim().toLowerCase(),u=e.tenants.filter(e=>l===``||e.label.toLowerCase().includes(l)||e.id.toLowerCase().includes(l));return(0,m.jsxs)(mw,{open:n,onOpenChange:r,children:[(0,m.jsxs)(hw,{className:`${s} hover:border-line-strong`,"aria-label":`Organization`,"data-tenant-picker":`pick`,children:[(0,m.jsx)(`span`,{className:`text-dim`,children:`Organization`}),zB(e,o)]}),(0,m.jsxs)(gw,{align:`end`,className:`w-64 gap-1 p-1`,children:[(0,m.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:`search organizations…`,"aria-label":`search organizations`,className:`mb-1 w-full rounded border border-line bg-transparent px-2 py-1 text-xs text-fg outline-none`}),(0,m.jsxs)(`div`,{role:`listbox`,"aria-label":`Organizations`,className:`max-h-72 overflow-y-auto`,children:[e.all&&(0,m.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":o===void 0,onClick:()=>void c(void 0),className:`w-full rounded px-2 py-1.5 text-left text-xs text-fg hover:bg-panel`,children:`All organizations`}),u.map(e=>(0,m.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":o===e.id,onClick:()=>void c(e.id),className:`flex w-full flex-col rounded px-2 py-1.5 text-left text-xs text-fg hover:bg-panel`,children:[(0,m.jsx)(`span`,{className:`truncate`,children:e.label}),e.label!==e.id&&(0,m.jsx)(`span`,{className:`mono truncate text-[10px] text-dim`,children:e.id})]},e.id)),u.length===0&&(0,m.jsx)(`p`,{className:`px-2 py-1.5 text-xs text-dim`,children:`No match.`})]})]})]})}function HB(){return(0,m.jsx)(`ul`,{className:`divide-y divide-line-soft`,"aria-hidden":!0,children:[`a`,`b`,`c`,`d`,`e`,`f`].map(e=>(0,m.jsxs)(`li`,{className:`flex flex-col gap-2 px-4 py-3`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,m.jsx)(Gf,{className:`h-3.5 w-32`}),(0,m.jsx)(Gf,{className:`h-3 w-16`})]}),(0,m.jsx)(Gf,{className:`h-2.5 w-48`})]},e))})}function UB({r:e,allRuns:t,health:n,selected:r,onSelect:i,onSelectTag:a,onSelectNamespace:o,onSelectOrigin:s,tenantPicker:c}){let l=NS(e,{runs:t,health:n}),u=e.namespace&&e.namespace!=="default"?e.namespace:void 0,d=Qx(e.origin),f=c?.mode===`pick`&&xS()===void 0;return(0,m.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex w-full flex-col gap-1 px-4 py-3 text-left transition-colors ${r===e.id?`bg-hover`:`hover:bg-hover/50`}`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.workflow}),u&&(0,m.jsx)(nC,{variant:`info`,className:`mono shrink-0 cursor-pointer px-1 text-[9px] hover:border-info/60 hover:text-info`,title:`Namespace (worker pool) — click to show only ${u}`,onClick:e=>{e.stopPropagation(),o(u)},children:u}),f&&(0,m.jsx)(nC,{variant:`info`,className:`shrink-0 px-1 text-[9px]`,title:`Organization this run belongs to`,"data-run-org":``,children:e.tenantId?zB(c,e.tenantId):`no organization`}),d&&(0,m.jsx)(nC,{variant:`teal`,className:`mono shrink-0 cursor-pointer px-1 text-[9px] hover:border-teal/60 hover:text-teal`,title:`Declared by ${d} — click to show only this library's runs`,onClick:e=>{e.stopPropagation(),s({kind:`origin`,origin:d})},children:eS(d)}),e.id.startsWith(`dlq:`)&&(0,m.jsx)(nC,{variant:`destructive`,className:`mono shrink-0 px-1 text-[9px] uppercase tracking-wider`,children:`dlq`})]}),(0,m.jsx)(yC,{status:l.status})]}),l.detail&&(0,m.jsx)(`div`,{className:`mono truncate text-[11px] s-${l.status}`,children:l.detail}),(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,m.jsx)(`span`,{className:`mono truncate text-[11px] text-faint`,children:e.id}),(0,m.jsx)(`span`,{className:`shrink-0 text-[11px] text-faint`,children:gC(e.updatedAt)})]}),e.tags&&e.tags.length>0&&(0,m.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.tags.map(e=>(0,m.jsxs)(`span`,{onClick:t=>{t.stopPropagation(),a(e)},className:J(tC({variant:`neutral`}),`mono h-auto cursor-pointer py-0 text-[10px] hover:border-line-strong hover:text-fg`),children:[`#`,e]},e))})]})}var WB=88;function GB({runs:e,allRuns:t,health:n,loading:r,selected:i,onSelect:a,onSelectTag:o,onSelectNamespace:s,onSelectOrigin:c,emptyNotice:l,hasMore:u,loadingMore:d,onLoadMore:f,tenantPicker:h}){let g=(0,p.useRef)(null),_=(0,p.useCallback)(t=>e[t]?.id??t,[e]),v=nT({count:e.length,getScrollElement:()=>g.current,estimateSize:()=>WB,getItemKey:_,overscan:10,initialRect:{width:340,height:480}}),y=v.getVirtualItems(),b=y.length>0?y[y.length-1]?.index??-1:-1;return(0,p.useEffect)(()=>{e.length!==0&&(b<e.length-1||u&&!d&&f?.())},[b,e.length,u,d,f]),r&&e.length===0?(0,m.jsx)(HB,{}):e.length===0?(0,m.jsx)(qC,{className:`p-6`,icon:(0,m.jsx)(At,{}),title:h?.mode===`none`?`No organization picked`:`No runs here`,description:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`block`,children:h?.mode===`none`?`Choose an organization to see its data.`:l.message}),l.unclassified!==void 0&&(0,m.jsxs)(`span`,{className:`mt-2 block text-[12px]`,children:[l.unclassified,` run`,l.unclassified===1?``:`s`,` here`,` `,l.unclassified===1?`is`:`are`,` the app's own (no package origin), so no package filter can match `,l.unclassified===1?`it`:`them`,`.`]})]}),action:l.unclassified===void 0?void 0:(0,m.jsx)(Wi,{variant:`chip`,size:`micro`,className:`mono`,title:aS,onClick:()=>c({kind:`unknown`}),children:`show app runs`})}):(0,m.jsxs)(`div`,{ref:g,className:`h-full overflow-auto`,"data-testid":`runs-list-scroll`,children:[(0,m.jsx)(`ul`,{className:`relative divide-y divide-line-soft`,style:{height:v.getTotalSize()},children:y.map(r=>{let l=e[r.index];return l?(0,m.jsx)(`li`,{ref:v.measureElement,"data-index":r.index,className:`absolute inset-x-0 top-0`,style:{transform:`translateY(${r.start}px)`},children:(0,m.jsx)(UB,{r:l,allRuns:t,health:n,selected:i,onSelect:a,onSelectTag:o,onSelectNamespace:s,onSelectOrigin:c,tenantPicker:h})},l.id):null})}),d&&(0,m.jsx)(`div`,{className:`mono px-4 py-2 text-center text-[11px] text-faint`,children:`loading more…`})]})}function KB(){let[e,t]=(0,p.useState)(`all`),[n,r]=(0,p.useState)([]),[i,a]=(0,p.useState)([]),[o,s]=(0,p.useState)([]),[c,l]=(0,p.useState)([]),[u,d]=(0,p.useState)(Zx);return{status:e,setStatus:t,workflow:n,setWorkflow:r,tag:i,setTag:a,attr:o,setAttr:s,namespace:c,setNamespace:l,origin:u,setOrigin:d}}function qB({scope:e,value:t,onChange:n}){let{data:r=[]}=Qe({queryKey:[`run-values`,`status`,e],queryFn:()=>XS.values(`status`,e),refetchInterval:5e3}),i={};for(let e of r)e.value!==null&&(i[e.value]=e.count);let a=Object.values(i).reduce((e,t)=>e+t,0),o=(e,r)=>(0,m.jsxs)(Wi,{variant:`chip`,size:`chip`,"aria-pressed":t===e,onClick:()=>n(e),className:`shrink-0 rounded-md`,children:[e!==`all`&&(0,m.jsx)(vC,{status:e}),(0,m.jsx)(`span`,{className:`uppercase tracking-wide`,children:e}),(0,m.jsx)(`span`,{className:`mono tnum text-faint`,children:r})]},e);return(0,m.jsxs)(QS,{label:`filter runs by status`,className:`-mx-4 flex-nowrap overflow-x-auto px-4 pb-1 sm:mx-0 sm:flex-wrap sm:overflow-visible sm:px-0 sm:pb-0`,children:[o(`all`,a),hC.map(e=>o(e,i[e]??0))]})}function JB({filters:e,selected:t,onSelect:n,onOpenRun:r,tenantPicker:i}){let{status:a,setStatus:o,workflow:s,setWorkflow:c,tag:l,setTag:u,attr:d,setAttr:f,namespace:h,setNamespace:_,origin:v,setOrigin:y}=e,b=g(),x=d,[S,C]=(0,p.useState)(()=>typeof window>`u`||window.innerWidth>=1024),{data:w,dataUpdatedAt:T,isPending:E,fetchNextPage:D,hasNextPage:O,isFetchingNextPage:k}=et({queryKey:[`runs`,a,s,l,x.join(`|`),h],queryFn:({pageParam:e})=>XS.runsPage(a===`all`?void 0:a,l.length?l:void 0,x.length?x:void 0,{namespace:h.length?h:void 0,workflow:s.length?s:void 0},{page:e,size:100}),initialPageParam:1,getNextPageParam:e=>{let{currentPage:t,lastPage:n}=e.meta;return t<n?t+1:void 0},refetchInterval:3e3}),A=(0,p.useMemo)(()=>w?.pages.flatMap(e=>e.data)??[],[w]),j=w?.pages[0]?.meta.total;(0,p.useEffect)(()=>{T>0&&b.invalidateQueries({queryKey:[`run-values`,`status`]})},[T,b]);let{data:M=[]}=Qe({queryKey:[`workers`],queryFn:()=>XS.workers(),refetchInterval:5e3}),[N,P]=(0,p.useState)(void 0),[F,I]=(0,p.useState)(void 0),L=$e({mutationFn:e=>XS.bulk(e,{status:a===`all`?void 0:a,workflow:s.length?s:void 0,tag:l.length?l:void 0,attr:x.length?x:void 0,namespace:h.length?h:void 0,origin:v.kind===`origin`?v.origin:void 0}),onSuccess:(e,t)=>{I({action:t,...e}),b.invalidateQueries({queryKey:[`runs`]})}});(0,p.useEffect)(()=>{if(!F||F.matched>=500)return;let e=setTimeout(()=>I(void 0),6e3);return()=>clearTimeout(e)},[F]);let R=iS(A,v),z=cS(A),B=a!==`all`||s.length>0||l.length>0||h.length>0||x.length>0||v.kind!==`all`,ee=s.length+l.length+h.length+x.length+(v.kind===`all`?0:1),V=a===`all`?void 0:a,te=(0,p.useMemo)(()=>({status:V,tag:l,namespace:h,attr:d}),[V,l,h,d]),ne=(0,p.useMemo)(()=>({status:V,workflow:s,namespace:h,attr:d}),[V,s,h,d]),H=(0,p.useMemo)(()=>({status:V,workflow:s,tag:l,attr:d}),[V,s,l,d]),re=(0,p.useMemo)(()=>({status:V,workflow:s,tag:l,namespace:h}),[V,s,l,h]),U=(0,p.useMemo)(()=>({workflow:s,tag:l,namespace:h,attr:d}),[s,l,h,d]),ie=(0,p.useCallback)(e=>u(t=>t.includes(e)?t:[...t,e]),[u]),W=(0,p.useCallback)(e=>_(t=>t.includes(e)?t:[...t,e]),[_]),G=v.kind===`unknown`?`Bulk actions cannot be scoped to the app's own runs — runs with no package origin have no server-side filter. Retry or cancel them from their own run view.`:void 0,ae=(0,p.useMemo)(()=>[...new Set(A.filter(e=>NS(e,{runs:A,health:M}).status===`no-worker`).map(e=>e.workflow))],[A,M]),oe=`${a}|${s.join(`|`)}|${l.join(`|`)}|${x.join(`,`)}|${h.join(`|`)}|${nS(v)}`,se=[a===`all`?void 0:`status ${a}`,s.length>0?`workflow ${s.join(`, `)}`:void 0,l.length>0?`tag ${l.join(`, `)}`:void 0,h.length>0?`namespace ${h.join(`, `)}`:void 0,x.length>0?`attr ${x.join(` · `)}`:void 0,v.kind===`origin`?`origin ${eS(v.origin)}`:void 0].filter(e=>e!==void 0).join(` · `)||`no filter — every run`;return(0,m.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[ae.length>0&&(0,m.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-warn/30 bg-warn/10 px-4 py-2 text-[12px] text-warn md:px-6`,children:[(0,m.jsx)(`span`,{className:`dot s-no-worker shrink-0`,"aria-hidden":!0}),(0,m.jsxs)(`span`,{children:[`Runs waiting on handlers with no live worker:`,` `,(0,m.jsx)(`span`,{className:`mono font-medium`,children:ae.join(`, `)}),`. Start a worker to unblock.`]})]}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-3 px-4 pt-5 pb-3 md:px-6 md:pt-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-2`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-lg font-bold tracking-[0.01em] text-fg`,children:`Runs`}),(0,m.jsx)(`p`,{className:`mt-1 text-xs text-faint`,children:j===void 0?`Every workflow run, live.`:`${j} ${B?`matching`:``} run${j===1?``:`s`} · live`})]}),(0,m.jsxs)(Wi,{variant:`outline`,size:`sm`,"aria-expanded":S,"aria-controls":`runs-filters`,onClick:()=>C(e=>!e),children:[(0,m.jsx)(Et,{}),`Filters`,ee>0&&(0,m.jsx)(`span`,{className:`mono tnum rounded bg-primary/15 px-1 text-[10px] text-brand`,children:ee})]})]}),(0,m.jsx)(qB,{scope:U,value:a,onChange:o})]}),(0,m.jsx)(`div`,{className:`min-h-0 flex-1 px-0 pb-0 md:px-6 md:pb-6`,children:(0,m.jsxs)(`div`,{className:`grid h-full min-h-0 overflow-hidden border-t border-border bg-card agora-surface md:rounded-lg md:border lg:grid-cols-[minmax(300px,380px)_1fr]`,children:[(0,m.jsxs)(`aside`,{"aria-label":`Runs`,className:J(`flex min-h-0 flex-col border-border lg:border-r`,t!==void 0&&`hidden lg:flex`),children:[(0,m.jsxs)(Gi,{label:`Filters`,children:[S&&(0,m.jsxs)(`div`,{id:`runs-filters`,className:`border-b border-border p-2`,children:[(0,m.jsx)(dT,{field:`workflow`,scope:te,glyph:`ƒ`,label:`filter by workflow`,placeholder:`filter by workflow…`,value:s,onChange:c,title:`Workflow handler names (WorkflowRun.workflow). Several match ANY of them.`}),(0,m.jsx)(`div`,{className:`mt-1.5`,children:(0,m.jsx)(dT,{field:`tag`,scope:ne,glyph:`#`,label:`filter by tag`,placeholder:`filter by tag…`,value:l,onChange:u,title:`Tags carried by a run (WorkflowRun.tags). Several match ANY of them.`})}),(0,m.jsx)(`div`,{className:`mt-1.5 flex`,children:(0,m.jsx)(IE,{tags:l,onChange:u})}),(0,m.jsx)(`div`,{className:`mt-1.5`,children:(0,m.jsx)(dT,{field:`namespace`,scope:H,glyph:`@`,label:`filter by namespace`,placeholder:`filter by namespace…`,value:h,onChange:_,title:`Namespace: the worker pool a run belongs to (WorkflowRun.namespace). None selected shows every namespace.`})}),(0,m.jsx)(hT,{value:d,onChange:f,scope:re})]}),(0,m.jsx)(gT,{runs:A,value:v,onChange:y})]}),B&&R.length>0&&(0,m.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-1.5`,children:[(0,m.jsxs)(`span`,{className:`mono min-w-0 truncate text-[10px] text-dim`,children:[R.length,` `,a===`all`?``:a,` `,s.length>0&&`ƒ${s.join(`, `)}`,l.length>0&&` #${l.join(`, `)}`,h.length>0&&` @${h.join(`, `)}`,v.kind===`origin`&&` ⬡${eS(v.origin)}`,v.kind===`unknown`&&` ⬡app`,x.length>0&&` ⛃${x.length}`]}),(0,m.jsx)(Wi,{variant:`brand`,size:`micro`,disabled:L.isPending||G!==void 0,title:G,onClick:()=>P(`retry`),className:`mono ml-auto`,children:`retry all`}),(0,m.jsx)(Wi,{variant:`destructive`,size:`micro`,disabled:L.isPending||G!==void 0,title:G,onClick:()=>P(`cancel`),className:`mono`,children:`cancel all`})]}),(0,m.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,m.jsx)(Gi,{label:`Run list`,resetKeys:[oe],children:(0,m.jsx)(GB,{tenantPicker:i,runs:R,allRuns:A,health:M,loading:E,selected:t,onSelect:n,onSelectTag:ie,onSelectNamespace:W,onSelectOrigin:y,hasMore:O,loadingMore:k,onLoadMore:D,emptyNotice:lS({anyFilter:B,origin:v,unknownCount:z})},oe)})})]}),(0,m.jsx)(`section`,{"aria-label":`Run detail`,className:J(`min-h-0 min-w-0`,t===void 0&&`hidden lg:block`),children:t?(0,m.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,m.jsx)(`div`,{className:`border-b border-border px-3 py-2 lg:hidden`,children:(0,m.jsxs)(Wi,{variant:`ghost`,size:`sm`,onClick:()=>n(void 0),children:[(0,m.jsx)(vt,{}),`All runs`]})}),(0,m.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,m.jsx)(Gi,{label:`Run detail`,resetKeys:[t],children:(0,m.jsx)(LB,{id:t,onOpenRun:r},t)})})]}):(0,m.jsx)(qC,{className:`h-full`,icon:(0,m.jsx)(mC,{className:`size-6`}),title:`No run selected`,description:`Select a run to see its timeline, steps and spans.`})})]})}),(0,m.jsx)(zC,{open:N!==void 0,onOpenChange:e=>{e||P(void 0)},title:N===`cancel`?`Cancel all matching runs`:`Retry all matching runs`,description:se,footer:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wi,{size:`sm`,variant:`outline`,onClick:()=>P(void 0),children:`Back`}),(0,m.jsx)(Wi,{size:`sm`,variant:N===`cancel`?`destructive`:`brand`,disabled:L.isPending,onClick:()=>{N&&L.mutate(N),P(void 0)},children:N===`cancel`?`cancel all`:`retry all`})]}),children:(0,m.jsxs)(`p`,{className:`text-[12.5px] leading-relaxed text-fg-2`,children:[`This `,N===`cancel`?`cancels`:`retries`,` `,(0,m.jsx)(`em`,{children:`every`}),` run matching the filter above on the server — including matches beyond the rows loaded on screen. The server acts on at most `,(0,m.jsx)(`span`,{className:`mono tnum text-fg`,children:500}),` matches per call.`]})}),L.error&&(0,m.jsxs)(`div`,{role:`alert`,className:`fixed bottom-4 left-1/2 z-50 -translate-x-1/2 rounded-md border border-bad/40 bg-bad/15 px-4 py-2 text-[12px] text-bad`,children:[`Bulk action failed:`,` `,L.error instanceof Error?L.error.message:String(L.error)]}),F&&(0,m.jsxs)(`output`,{className:`agora-rise fixed right-4 bottom-4 z-50 flex max-w-sm items-start gap-3 rounded-lg border border-border bg-popover px-4 py-3 text-left shadow-2xl`,children:[(0,m.jsxs)(`div`,{className:`min-w-0 flex-1 text-[12px]`,children:[(0,m.jsxs)(`div`,{className:`text-fg`,children:[`Bulk `,F.action,`: `,(0,m.jsx)(`span`,{className:`mono tnum`,children:F.applied}),` of`,` `,(0,m.jsx)(`span`,{className:`mono tnum`,children:F.matched}),` matched`,` `,F.matched===1?`run`:`runs`,` `,F.action===`cancel`?`cancelled`:`retried`,`.`]}),F.matched>=500&&(0,m.jsxs)(`div`,{className:`mt-1 text-[11px] text-warn`,children:[`Matched the `,500,`-run server cap — only the first `,500,` were affected. Run the action again to continue.`]})]}),(0,m.jsx)(Wi,{variant:`ghost`,size:`icon-xs`,"aria-label":`dismiss`,onClick:()=>I(void 0),children:(0,m.jsx)(EC,{width:12,height:12})})]})]})}function YB({label:e,children:t,side:n=`bottom`,align:r=`center`,suppressed:i}){return(0,m.jsxs)(Lp,{disabled:i??!1,children:[(0,m.jsx)(Rp,{render:t}),(0,m.jsx)(zp,{side:n,align:r,className:`max-w-[300px] whitespace-pre-line text-left`,children:e})]})}function XB(e){let t=(e,t)=>`${Number.isInteger(e)?e:e.toFixed(1)}${t}`;if(e<1e3)return`${e}ms`;let n=e/1e3;if(n<60)return t(n,`s`);let r=n/60;if(r<60)return t(r,`m`);let i=r/60;return i<24?t(i,`h`):t(i/24,`d`)}function ZB(e){return e.cron?e.cron:e.everyMs==null?`—`:`every ${XB(e.everyMs)}`}function QB(e,t=Date.now()){let n=e-t;if(n<=0)return`due now`;let r=Math.round(n/1e3);if(r<60)return`in ${r}s`;let i=Math.round(r/60);if(i<60)return`in ${i}m`;let a=Math.round(i/60);return a<24?`in ${a}h`:`in ${Math.round(a/24)}d`}var $B=`grid grid-cols-[minmax(0,1.2fr)_minmax(0,1fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_80px_minmax(0,1.3fr)_176px] items-center gap-3 px-4`;function eV({s:e,onOpenRun:t}){let n=g(),r=()=>n.invalidateQueries({queryKey:[`schedules`]}),i=$e({mutationFn:t=>XS.setSchedulePaused(e.key,t),onSuccess:r}),a=$e({mutationFn:()=>XS.triggerSchedule(e.key),onSuccess:e=>{r(),n.invalidateQueries({queryKey:[`runs`]}),t(e.runId)}}),o=e.namespace&&e.namespace!=="default"?e.namespace:void 0;return(0,m.jsxs)(`li`,{className:J($B,`py-3`),children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`mono truncate text-[12px] text-fg`,children:e.key}),e.overlap===`skip`&&(0,m.jsx)(`div`,{className:`mono text-[9px] uppercase tracking-wider text-faint`,children:`no overlap`})]}),(0,m.jsxs)(`div`,{className:`mono flex min-w-0 items-center gap-1.5 text-[11px] text-fg-2`,children:[(0,m.jsx)(`span`,{className:`truncate`,children:e.workflow}),o&&(0,m.jsx)(nC,{variant:`info`,className:`mono shrink-0 px-1 text-[9px]`,children:o})]}),(0,m.jsx)(`span`,{className:`mono truncate text-[11px] text-fg-2`,title:ZB(e),children:ZB(e)}),(0,m.jsx)(`span`,{className:`mono truncate text-[10px] text-dim`,children:e.timezone??`UTC`}),(0,m.jsx)(`span`,{className:J(`mono tnum text-[11px]`,e.paused?`text-faint`:`text-fg-2`),title:new Date(e.nextFireAt).toISOString(),children:e.paused?`—`:QB(e.nextFireAt)}),(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[e.lastRunStatus?(0,m.jsx)(`button`,{type:`button`,onClick:()=>t(e.currentWindowRunId),title:`Open the current window's run (${e.currentWindowRunId})`,className:`cursor-pointer`,children:(0,m.jsxs)(nC,{variant:`bare`,className:`s-${e.lastRunStatus} text-[11px] hover:underline`,children:[(0,m.jsx)(`span`,{className:`dot s-${e.lastRunStatus}`,"aria-hidden":!0}),e.lastRunStatus]})}):(0,m.jsx)(`span`,{className:`mono text-[11px] text-faint`,title:`The current window has no run yet`,children:`—`}),e.paused&&(0,m.jsx)(YB,{label:e.pausedAtRuntime?`Paused by a runtime override (from this console) — it survives until resumed, overriding the config.`:`Paused in the schedule config.`,children:(0,m.jsxs)(nC,{variant:`warn`,className:`mono min-w-0 py-0.5 uppercase tracking-wider`,children:[`paused`,e.pausedAtRuntime?` · runtime override`:``]})})]}),(0,m.jsxs)(`span`,{className:`flex shrink-0 items-center justify-end gap-2`,children:[(0,m.jsx)(Wi,{variant:e.paused?`outline`:`warn`,size:`micro`,disabled:i.isPending,onClick:()=>i.mutate(!e.paused),className:`mono uppercase tracking-wider`,title:e.paused?`Resume this schedule fleet-wide (clears the runtime pause)`:`Pause this schedule fleet-wide, at runtime — the config stays untouched`,children:e.paused?`Resume`:`Pause`}),(0,m.jsxs)(Wi,{variant:`brand`,size:`micro`,disabled:a.isPending,onClick:()=>a.mutate(),className:`mono uppercase tracking-wider`,title:`Fire the current window now and open its run`,children:[(0,m.jsx)(AC,{width:10,height:10}),`Run now`]})]}),(i.error||a.error)&&(0,m.jsx)(`div`,{role:`alert`,className:`mono col-span-full text-[11px] text-bad`,children:(()=>{let e=i.error??a.error;return`Action failed: ${e instanceof Error?e.message:String(e)}`})()})]})}function tV({onOpenRun:e}){let{data:t,error:n,isPending:r}=Qe({queryKey:[`schedules`],queryFn:()=>XS.schedules(),refetchInterval:5e3,retry:!1});return(0,m.jsxs)(Tx,{children:[(0,m.jsx)(ZS,{title:`Schedules`,description:t?`${t.length} ticked schedule${t.length===1?``:`s`} · pause/resume is a fleet-wide runtime override · "Run now" fires the current window`:`Ticked schedules, their cadence and their current window.`}),(0,m.jsx)(Gi,{label:`Schedules`,children:(0,m.jsx)(nV,{schedules:t,error:n,loading:r,onOpenRun:e})})]})}function nV({schedules:e,error:t,loading:n,onOpenRun:r}){return t?(0,m.jsx)(eC,{title:`Ticked schedules`,flush:!0,children:(0,m.jsx)(qC,{icon:(0,m.jsx)(kt,{}),title:`Schedules are not available here.`,description:(0,m.jsxs)(`span`,{className:`mono text-[11px]`,children:["This deployment's server has no runtime schedule control (a tenant topology, or a server older than the endpoint) — `GET /schedules` answered: ",t.message]})})}):(0,m.jsx)(eC,{title:`Ticked schedules`,description:`key · workflow · cadence · next fire · current window`,flush:!0,children:(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`div`,{className:`min-w-[860px]`,children:[(0,m.jsxs)(`div`,{className:J($B,`border-b border-border py-2.5 text-[10.5px] font-medium uppercase tracking-[0.14em] text-dim`),children:[(0,m.jsx)(`span`,{children:`key`}),(0,m.jsx)(`span`,{children:`workflow`}),(0,m.jsx)(`span`,{children:`cadence`}),(0,m.jsx)(`span`,{children:`timezone`}),(0,m.jsx)(`span`,{children:`next fire`}),(0,m.jsx)(`span`,{children:`last run`}),(0,m.jsx)(`span`,{className:`text-right`,children:`actions`})]}),n||!e?(0,m.jsx)(`ul`,{className:`divide-y divide-line-soft`,"aria-hidden":!0,children:[`a`,`b`,`c`,`d`].map(e=>(0,m.jsxs)(`li`,{className:J($B,`py-3.5`),children:[(0,m.jsx)(Gf,{className:`h-3 w-32`}),(0,m.jsx)(Gf,{className:`h-3 w-24`}),(0,m.jsx)(Gf,{className:`h-3 w-20`}),(0,m.jsx)(Gf,{className:`h-3 w-12`}),(0,m.jsx)(Gf,{className:`h-3 w-12`}),(0,m.jsx)(Gf,{className:`h-3 w-16`}),(0,m.jsx)(Gf,{className:`ml-auto h-6 w-28`})]},e))}):e.length===0?(0,m.jsx)(qC,{icon:(0,m.jsx)(kt,{}),title:`No schedules registered.`,description:`Declare a schedule on a workflow and it shows up here once the ticker runs.`}):(0,m.jsx)(`ul`,{className:`divide-y divide-line-soft`,children:e.map(e=>(0,m.jsx)(eV,{s:e,onOpenRun:r},e.key))})]})})})}function rV({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,m.jsx)(`table`,{"data-slot":`table`,className:J(`w-full caption-bottom text-sm`,e),...t})})}function iV({className:e,...t}){return(0,m.jsx)(`thead`,{"data-slot":`table-header`,className:J(`[&_tr]:border-b`,e),...t})}function aV({className:e,...t}){return(0,m.jsx)(`tbody`,{"data-slot":`table-body`,className:J(`[&_tr:last-child]:border-0`,e),...t})}function oV({className:e,...t}){return(0,m.jsx)(`tr`,{"data-slot":`table-row`,className:J(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function sV({className:e,...t}){return(0,m.jsx)(`th`,{"data-slot":`table-head`,className:J(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function cV({className:e,...t}){return(0,m.jsx)(`td`,{"data-slot":`table-cell`,className:J(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}var lV={sm:`hidden sm:table-cell`,md:`hidden md:table-cell`,lg:`hidden lg:table-cell`};function uV({columns:e,rows:t,rowKey:n,onRowClick:r,loading:i,skeletonRows:a=5,empty:o,className:s,label:c,rowClassName:l,subRow:u}){let d=e=>J(e.hideBelow&&lV[e.hideBelow],e.align===`right`&&`text-right`,e.className);return!i&&t&&t.length===0&&o?(0,m.jsx)(m.Fragment,{children:o}):(0,m.jsxs)(rV,{className:s,"aria-label":c,children:[(0,m.jsx)(iV,{children:(0,m.jsx)(oV,{className:`border-border hover:bg-transparent`,children:e.map(e=>(0,m.jsx)(sV,{className:J(`h-auto px-3 py-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-faint`,d(e)),children:e.header},e.id))})}),(0,m.jsx)(aV,{children:i||!t?Array.from({length:a},(t,n)=>(0,m.jsx)(oV,{"aria-hidden":!0,className:`hover:bg-transparent`,children:e.map((e,t)=>(0,m.jsx)(cV,{className:J(`px-3 py-3`,d(e)),children:(0,m.jsx)(Gf,{className:J(`h-3`,t===0?`w-36`:`w-16`)})},e.id))},`s${n}`)):t.map(t=>{let i=u?.(t);return(0,m.jsxs)(p.Fragment,{children:[(0,m.jsx)(oV,{className:J(`border-border hover:bg-hover`,r&&`cursor-pointer`,l?.(t)),...r?{onClick:()=>r(t),onKeyDown:e=>{e.key===`Enter`&&r(t)},tabIndex:0}:{},children:e.map(e=>(0,m.jsx)(cV,{className:J(`px-3 py-2.5 text-[12.5px] text-dim`,d(e)),children:e.cell(t)},e.id))}),i!=null&&i!==!1&&(0,m.jsx)(oV,{className:`border-border hover:bg-transparent`,children:(0,m.jsx)(cV,{colSpan:e.length,className:`px-3 pt-0 pb-3 whitespace-normal`,children:i})})]},n(t))})})]})}var dV={default:`text-fg`,brand:`text-brand`,good:`text-good`,warn:`text-warn`,bad:`text-bad`,info:`text-info`,violet:`text-violet`};function fV({label:e,value:t,caption:n,tone:r=`default`,className:i}){return(0,m.jsxs)($S,{className:J(`agora-surface agora-rise rounded-lg border border-border shadow-none ring-0 gap-0 px-[18px] pt-4 pb-3.5`,i),children:[(0,m.jsx)(`div`,{className:`mb-2.5 text-[10px] font-semibold uppercase tracking-[0.12em] text-faint`,children:e}),(0,m.jsx)(`div`,{className:J(`mono tnum text-[26px] font-semibold leading-none tracking-[-0.02em]`,dV[r]),children:t}),n&&(0,m.jsx)(`div`,{className:`mono mt-2 truncate text-[10.5px] text-faint`,children:n})]})}function pV({children:e,className:t}){return(0,m.jsx)(`div`,{className:J(`grid grid-cols-2 gap-3 md:grid-cols-[repeat(auto-fit,minmax(160px,1fr))]`,t),children:e})}function mV({count:e=6}){return(0,m.jsx)(pV,{children:Array.from({length:e},(e,t)=>`metric-skeleton-${t}`).map(e=>(0,m.jsxs)($S,{className:`agora-surface agora-rise rounded-lg border border-border shadow-none ring-0 gap-2.5 px-[18px] pt-4 pb-3.5`,"aria-hidden":!0,children:[(0,m.jsx)(Gf,{className:`h-2.5 w-20`}),(0,m.jsx)(Gf,{className:`h-7 w-12`}),(0,m.jsx)(Gf,{className:`h-2.5 w-28`})]},e))})}function hV(e){let t=e.lastIndexOf(`@`);return t===-1?`default`:e.slice(t+1)}function gV(e){let t=e.lastIndexOf(`@`);return t===-1?e:e.slice(0,t)}function _V(e){let t=new Map;for(let n of e){let e=hV(n.group),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.entries()].map(([e,t])=>{let n=new Set,r=0,i=0;for(let e of t){r+=e.depth,e.depth>0&&e.liveWorkers.length===0&&(i+=1);for(let t of e.liveWorkers)n.add(t.instanceId)}return{partition:e,workerCount:n.size,handlerCount:t.length,totalDepth:r,starvedCount:i}}).sort((e,t)=>e.partition==="default"?-1:t.partition==="default"?1:e.partition.localeCompare(t.partition))}function vV(e){let t=new Map;for(let n of e)for(let e of n.liveWorkers){let n=gV(e.group),r=t.get(e.instanceId);r===void 0?t.set(e.instanceId,{instanceId:e.instanceId,partition:hV(e.group),runtime:e.status?.runtime,handlers:new Set([n]),status:e.status,lastBeatAt:e.lastBeatAt}):(r.handlers.add(n),e.lastBeatAt>=r.lastBeatAt&&(r.lastBeatAt=e.lastBeatAt,r.partition=hV(e.group),r.runtime=e.status?.runtime,r.status=e.status))}return[...t.values()].map(e=>({instanceId:e.instanceId,partition:e.partition,runtime:e.runtime,handlers:[...e.handlers].sort((e,t)=>e.localeCompare(t)),status:e.status,lastBeatAt:e.lastBeatAt})).sort((e,t)=>e.partition===t.partition?e.instanceId.localeCompare(t.instanceId):e.partition==="default"?-1:t.partition==="default"?1:e.partition.localeCompare(t.partition))}function yV(e){let t=new Set,n=new Set,r=new Set;for(let i of e){for(let e of i.liveWorkers)t.add(e.instanceId);i.kind===`workflow`?n.add(gV(i.group)):i.kind===`step`&&r.add(gV(i.group))}let i=e.filter(e=>e.depth>0&&e.liveWorkers.length===0).sort((e,t)=>t.depth-e.depth);return{queueCount:e.length,workflowCount:n.size,stepCount:r.size,workerCount:t.size,starved:i,allDraining:i.length===0}}function bV(e){return e[0]===e[1]?`v${e[0]}`:`v${e[0]}–${e[1]}`}function xV(e){return e.groups.some(e=>e.incompatible)?`incompatible`:e.groups.some(e=>e.degraded)?`degraded`:`compatible`}function SV(e){return e===`incompatible`?`s-failed`:e===`degraded`?`s-suspended`:`s-completed`}function CV({compat:e}){if(e.groups.length===0)return(0,m.jsx)(qC,{icon:(0,m.jsx)(yt,{}),title:`no descriptors`,description:`No worker has advertised a handshake descriptor yet — legacy workers are assumed compatible.`});let t=e.groups.flatMap(e=>e.pods.map(t=>({token:e.token,pod:t})));return(0,m.jsx)(uV,{label:`Fleet compatibility`,rows:t,rowKey:e=>`${e.token}/${e.pod.instanceId}`,columns:[{id:`pod`,header:`Pod`,cell:e=>(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,m.jsxs)(`span`,{className:`mono flex items-center gap-1.5 text-[12px] text-fg`,children:[(0,m.jsx)(`span`,{className:`dot ${SV(e.pod.outcome)}`,"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`truncate`,children:e.pod.instanceId})]}),(0,m.jsx)(`span`,{className:`mono truncate text-[10px] text-dim`,children:e.token})]})},{id:`protocol`,header:`Protocol`,cell:e=>(0,m.jsx)(`span`,{className:`mono tnum text-[12px] text-fg-2`,children:bV(e.pod.protocolRange)})},{id:`outcome`,header:`Outcome`,cell:e=>(0,m.jsx)(nC,{variant:e.pod.outcome===`incompatible`?`destructive`:e.pod.outcome===`degraded`?`warn`:`good`,className:`mono text-[10px] uppercase tracking-wider`,children:e.pod.outcome})},{id:`detail`,header:`Detail`,hideBelow:`md`,className:`whitespace-normal`,cell:e=>(0,m.jsxs)(`div`,{className:`mono flex flex-col gap-0.5 text-[11px]`,children:[e.pod.reason&&(0,m.jsx)(`span`,{className:`text-bad`,children:e.pod.reason}),e.pod.missingOnRemote.length>0&&(0,m.jsxs)(`span`,{className:`text-dim`,children:[`missing on worker: `,e.pod.missingOnRemote.join(`, `)]}),e.pod.missingOnLocal.length>0&&(0,m.jsxs)(`span`,{className:`text-dim`,children:[`missing on control plane: `,e.pod.missingOnLocal.join(`, `)]}),!e.pod.reason&&e.pod.missingOnRemote.length===0&&e.pod.missingOnLocal.length===0&&(0,m.jsx)(`span`,{className:`text-faint`,children:`—`})]})}]})}function wV({blocked:e,onOpenRun:t}){return e.length===0?(0,m.jsx)(qC,{icon:(0,m.jsx)(yt,{}),title:`No blocked runs`,description:`Every parked run has a compatible worker to resume it.`}):(0,m.jsx)(`ul`,{className:`divide-y divide-line-soft`,children:e.map(e=>(0,m.jsx)(`li`,{children:(0,m.jsxs)(`button`,{type:`button`,onClick:()=>t(e.id),className:J(`mono flex w-full flex-col gap-0.5 px-4 py-3 text-left text-[11px] transition-colors hover:bg-hover`),children:[(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`dot s-blocked`,"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`truncate text-[12.5px] text-fg`,children:e.workflow}),(0,m.jsx)(`span`,{className:`truncate text-faint`,children:e.id})]}),(0,m.jsx)(`span`,{className:`text-bad`,children:e.reason}),e.missingCapabilities&&e.missingCapabilities.length>0&&(0,m.jsxs)(`span`,{className:`text-dim`,children:[`missing: `,e.missingCapabilities.join(`, `)]})]})},e.id))})}function TV(e){let t=Math.max(0,Math.round((Date.now()-e)/1e3));if(t<60)return`${t}s ago`;let n=Math.round(t/60);if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function EV({status:e}){let t=e?.concurrency;if(!e||!t)return(0,m.jsx)(`span`,{className:`mono text-[9px] text-faint`,children:`no status`});let n=t.limit>0&&e.inFlight>=t.limit*.8;return(0,m.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,m.jsxs)(`div`,{className:`mono flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] text-dim`,children:[(0,m.jsx)(`span`,{className:`shrink-0 rounded border px-1 text-[9px] uppercase tracking-wider ${t.mode===`adaptive`?`border-info/40 bg-info/10 text-info`:`border-line-strong/50 bg-hover/60 text-fg-2`}`,children:t.mode===`adaptive`?`adaptive ${t.min??1}–${t.max??32}`:`fixed`}),(0,m.jsxs)(`span`,{className:n?`text-warn`:`text-fg-2`,children:[`in-flight`,` `,(0,m.jsxs)(`span`,{className:`tnum`,children:[e.inFlight,`/`,t.limit]})]}),typeof e.rssPct==`number`&&(0,m.jsxs)(`span`,{className:e.rssPct>=85?`text-bad`:``,children:[`ram `,(0,m.jsxs)(`span`,{className:`tnum`,children:[Math.round(e.rssPct),`%`]})]}),typeof e.cpuPct==`number`&&(0,m.jsxs)(`span`,{children:[`cpu `,(0,m.jsxs)(`span`,{className:`tnum`,children:[Math.round(e.cpuPct),`%`]})]}),typeof e.throughputPerMin==`number`&&(0,m.jsxs)(`span`,{children:[(0,m.jsx)(`span`,{className:`tnum`,children:Math.round(e.throughputPerMin)}),`/min`]}),typeof e.p95Ms==`number`&&(0,m.jsxs)(`span`,{children:[`p95 `,(0,m.jsxs)(`span`,{className:`tnum`,children:[Math.round(e.p95Ms),`ms`]})]})]}),e.lastAdjust&&(0,m.jsxs)(`div`,{className:`mono text-[10px] text-dim`,children:[e.lastAdjust.reason,` `,(0,m.jsxs)(`span`,{className:`tnum text-fg-2`,children:[e.lastAdjust.from,`→`,e.lastAdjust.to]}),` `,TV(e.lastAdjust.at)]})]})}function DV({onOpenRun:e}){let t=Qe({queryKey:[`workers`],queryFn:()=>XS.workers(),refetchInterval:1e4}),n=Qe({queryKey:[`compat`],queryFn:()=>XS.compat(),refetchInterval:15e3,retry:!1});return(0,m.jsx)(OV,{groups:t.data,groupsError:t.data===void 0?t.error:null,onRetryGroups:()=>void t.refetch(),compat:n.data,compatError:n.data===void 0?n.error:null,onOpenRun:e})}function OV({groups:e,groupsError:t,onRetryGroups:n,compat:r,compatError:i,onOpenRun:a}){let o=e?yV(e):void 0;return(0,m.jsxs)(Tx,{children:[(0,m.jsx)(ZS,{title:`Workers`,description:`Live heartbeats, partitions, starved queues and protocol compatibility.`}),(0,m.jsx)(Gi,{label:`Fleet summary`,children:t?(0,m.jsx)(Ki,{title:`Workers could not be loaded`,error:t,onRetry:n}):o?(0,m.jsx)(AV,{summary:o,compat:r}):(0,m.jsx)(mV,{})}),(0,m.jsx)(Gi,{label:`Pods`,children:(0,m.jsx)(eC,{title:`Pods`,description:`each live worker, what it serves and its load`,flush:!0,action:e?(0,m.jsxs)(`span`,{className:`mono tnum text-[11px] text-dim`,children:[vV(e).length,` live`]}):void 0,children:(0,m.jsx)(MV,{workers:e?vV(e):void 0})})}),(0,m.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-2`,children:[(0,m.jsx)(Gi,{label:`Partitions`,children:(0,m.jsx)(eC,{title:`Partitions`,description:`tenant-isolation axis · default = control plane`,flush:!0,children:(0,m.jsx)(NV,{partitions:e?_V(e):void 0})})}),(0,m.jsx)(Gi,{label:`Starved queues`,children:(0,m.jsx)(eC,{title:`Starved queues`,description:`queued work with no worker consuming it`,flush:!0,children:(0,m.jsx)(FV,{summary:o})})})]}),(0,m.jsx)(Gi,{label:`Compatibility`,children:(0,m.jsx)(eC,{title:`Compatibility`,description:r?`control plane ${r.controlPlane.instanceId} · protocol v${r.controlPlane.protocol}`:`protocol and capability negotiation per pod`,flush:!0,children:i?(0,m.jsx)(`div`,{className:`p-4`,children:(0,m.jsx)(Ki,{title:`Compatibility report unavailable`,error:i})}):r?(0,m.jsx)(CV,{compat:r}):(0,m.jsx)(jV,{})})}),r&&r.blockedCount>0&&(0,m.jsx)(Gi,{label:`Blocked runs`,children:(0,m.jsx)(eC,{title:`Blocked runs`,description:`parked: no compatible worker can take them`,flush:!0,action:(0,m.jsx)(nC,{variant:`destructive`,className:`mono tnum`,children:r.blockedCount}),children:(0,m.jsx)(wV,{blocked:r.blocked,onOpenRun:a})})})]})}function kV(e,t){return`${e} ${e===1?t:`${t}s`}`}function AV({summary:e,compat:t}){let n=t?xV(t):void 0,r=n===`incompatible`?`bad`:n===`degraded`?`warn`:`good`;return(0,m.jsxs)(pV,{children:[(0,m.jsx)(fV,{label:`Live workers`,value:e.workerCount,tone:`brand`,caption:`${kV(e.queueCount,`queue`)} served`}),(0,m.jsx)(fV,{label:`Workflows`,value:e.workflowCount,tone:`info`,caption:`@Workflow handlers`}),(0,m.jsx)(fV,{label:`Steps`,value:e.stepCount,tone:`violet`,caption:`@Step handlers`}),(0,m.jsx)(fV,{label:`Starved`,value:e.starved.length,tone:e.starved.length>0?`bad`:`good`,caption:e.allDraining?`all draining`:`queues with no worker`}),(0,m.jsx)(fV,{label:`Compatibility`,value:t?t.incompatibleCount>0?t.incompatibleCount:`✓`:`—`,tone:t?r:`default`,caption:t?n??``:`no report`}),(0,m.jsx)(fV,{label:`Blocked runs`,value:t?.blockedCount??`—`,tone:(t?.blockedCount??0)>0?`bad`:`default`,caption:`no compatible worker`})]})}function jV(){return(0,m.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,"aria-hidden":!0,children:[(0,m.jsx)(Gf,{className:`h-3 w-3/4`}),(0,m.jsx)(Gf,{className:`h-3 w-2/3`}),(0,m.jsx)(Gf,{className:`h-3 w-1/2`})]})}function MV({workers:e}){return(0,m.jsx)(uV,{label:`Pods`,rows:e,loading:e===void 0,rowKey:e=>e.instanceId,empty:(0,m.jsx)(qC,{icon:(0,m.jsx)(Ot,{}),title:`No live workers`,description:`No worker heartbeat in the last window. Start a worker, or check the transport can report health.`}),columns:[{id:`pod`,header:`Pod`,cell:e=>(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,m.jsxs)(`span`,{className:`mono flex items-center gap-1.5 text-[12px] text-fg`,children:[(0,m.jsx)(`span`,{className:`dot ${e.status?`s-completed`:``}`,"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`truncate`,children:e.instanceId})]}),(0,m.jsxs)(`span`,{className:`mono text-[10px] text-dim`,children:[e.runtime??`node`,` · beat `,TV(e.lastBeatAt)]})]})},{id:`partition`,header:`Partition`,hideBelow:`sm`,cell:e=>(0,m.jsx)(nC,{variant:e.partition==="default"?`neutral`:`info`,className:`mono text-[10px]`,children:e.partition})},{id:`handlers`,header:`Handlers`,cell:e=>(0,m.jsx)(YB,{label:e.handlers.join(`
|
|
56
56
|
`),align:`start`,children:(0,m.jsx)(`span`,{className:`mono tnum cursor-default text-[12px] text-fg-2 underline decoration-line-strong decoration-dotted underline-offset-4`,children:e.handlers.length})})},{id:`status`,header:`Load`,hideBelow:`md`,className:`whitespace-normal`,cell:e=>(0,m.jsx)(EV,{status:e.status})}]})}function NV({partitions:e}){return(0,m.jsx)(uV,{label:`Partitions`,rows:e,loading:e===void 0,rowKey:e=>e.partition,empty:(0,m.jsx)(qC,{icon:(0,m.jsx)(Ot,{}),title:`No partitions`,description:`Nothing is queued or served yet.`}),columns:[{id:`partition`,header:`Partition`,cell:e=>(0,m.jsxs)(`span`,{className:`mono flex items-center gap-1.5 text-[12px] text-fg`,children:[(0,m.jsx)(`span`,{className:`dot ${e.starvedCount>0?`s-failed`:e.workerCount>0?`s-completed`:``}`,"aria-hidden":!0}),e.partition]})},{id:`workers`,header:`Workers`,align:`right`,cell:e=>(0,m.jsx)(PV,{n:e.workerCount})},{id:`handlers`,header:`Handlers`,align:`right`,cell:e=>(0,m.jsx)(PV,{n:e.handlerCount})},{id:`queued`,header:`Queued`,align:`right`,cell:e=>(0,m.jsx)(PV,{n:e.totalDepth})},{id:`starved`,header:`Starved`,align:`right`,cell:e=>(0,m.jsx)(PV,{n:e.starvedCount,bad:e.starvedCount>0})}]})}function PV({n:e,bad:t}){return(0,m.jsx)(`span`,{className:`mono tnum text-[12px] ${t?`text-bad`:`text-fg-2`}`,children:e})}function FV({summary:e}){return e?e.starved.length===0?(0,m.jsx)(qC,{icon:(0,m.jsx)(yt,{}),title:`All queues draining`,description:`${kV(e.queueCount,`queue`)} across ${kV(e.workerCount,`worker`)}, every backlog has a consumer.`}):(0,m.jsx)(`ul`,{className:`divide-y divide-line-soft`,children:e.starved.map(e=>(0,m.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,m.jsx)(`span`,{className:`dot s-failed`,"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`mono min-w-0 flex-1 truncate text-[12px] text-fg`,children:e.group}),(0,m.jsxs)(nC,{variant:`destructive`,className:`mono tnum text-[10px]`,children:[e.depth,` queued · 0 workers`]})]},e.group))}):(0,m.jsx)(jV,{})}var IV=`#a3e635`,LV={runs:`Runs`,workers:`Workers`,schedules:`Schedules`,workflow:`Workflow`};function RV(){return(0,m.jsxs)(`span`,{className:`hidden items-center gap-1.5 text-[12px] text-dim sm:flex`,children:[(0,m.jsx)(`span`,{className:`dot s-completed pulse`,"aria-hidden":!0}),`live`]})}function zV(){let e=(0,p.useMemo)(()=>pm(FS),[]),t=BB(),n=KB(),[r,i]=(0,p.useState)(()=>fC()),a=(0,p.useCallback)(e=>{i(e),pC(e)},[]),o=(0,p.useCallback)(e=>a({page:`runs`,runId:e}),[a]),s=(0,p.useCallback)(e=>a(e?{page:`runs`,runId:e}:{page:`runs`}),[a]);(0,p.useEffect)(()=>{let e=()=>i(fC());return window.addEventListener(`hashchange`,e),window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`hashchange`,e),window.removeEventListener(`popstate`,e)}},[]);let{data:c}=Qe({queryKey:[`topology`],queryFn:()=>XS.topology(),staleTime:1/0,refetchInterval:!1}),l=c?.role===`tenant`,u=c?l?c.tenant?`tenant · ${c.tenant}`:`tenant`:`control plane`:` `,d=(0,p.useMemo)(()=>[{section:`Monitor`,items:[{id:`runs`,label:`Runs`,icon:(0,m.jsx)(Dt,{}),href:`#/`,onSelect:()=>a({page:`runs`})},{id:`workers`,label:`Workers`,icon:(0,m.jsx)(Ot,{}),href:`#/workers`,onSelect:()=>a({page:`workers`})}]},{section:`Operations`,items:l?[]:[{id:`schedules`,label:`Schedules`,icon:(0,m.jsx)(kt,{}),href:`#/schedules`,onSelect:()=>a({page:`schedules`})}]}],[l,a]),f=r.page===`workflow`?`runs`:r.page,h=r.page===`workflow`?r.workflow:LV[r.page];return(0,m.jsx)(wx,{brand:{name:`durable`,subtitle:(0,m.jsx)(`span`,{className:l?`text-warn`:void 0,title:l?`Tenant deployment — partition ${c?.tenant??`(unnamed)`}`:`Control-plane deployment`,children:u}),mark:(0,m.jsx)(mC,{}),current:{title:`Workflows`,package:`@adonis-agora/durable`,icon:`workflow`}},nav:d,activeId:f,shell:e,title:h,searchPlaceholder:`Search runs, workflows, payments, users…`,contentClassName:r.page===`runs`?`overflow-hidden`:void 0,actions:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(VB,{}),(0,m.jsx)(`div`,{className:`hidden md:block`,children:(0,m.jsx)(RC,{onOpenRun:o})}),(0,m.jsx)(RV,{})]}),children:(0,m.jsx)(Gi,{label:LV[r.page],resetKeys:[r.page],children:r.page===`workflow`?(0,m.jsx)(Tx,{children:(0,m.jsx)(lC,{workflow:r.workflow})}):r.page===`schedules`&&!l?(0,m.jsx)(tV,{onOpenRun:o}):r.page===`workers`?(0,m.jsx)(DV,{onOpenRun:o}):(0,m.jsx)(JB,{filters:n,selected:r.page===`runs`?r.runId:void 0,onSelect:s,onOpenRun:o,tenantPicker:t})})})}var BV=new Re({defaultOptions:{queries:{refetchInterval:2e3,refetchOnWindowFocus:!1}}});(0,ot.createRoot)(document.getElementById(`root`)).render((0,m.jsx)(p.StrictMode,{children:(0,m.jsx)(dt,{storageKey:`agora-durable-theme`,accent:IV,children:(0,m.jsx)(_,{client:BV,children:(0,m.jsx)(zV,{})})})}));
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-cmhkQ5N1.js.map
|