funcnodes-react-flow 1.0.0__py3-none-any.whl → 1.0.1__py3-none-any.whl

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.
@@ -142,7 +142,7 @@ export default theme;`}function Hg(e={},...t){const{breakpoints:n,mixins:r={},sp
142
142
  animation-iteration-count: infinite;
143
143
  animation-delay: 200ms;
144
144
  }
145
- `,SL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:a={},className:s,...u}=r,[c,f]=_.useState([]),h=_.useRef(0),p=_.useRef(null);_.useEffect(()=>{p.current&&(p.current(),p.current=null)},[c]);const g=_.useRef(!1),y=mL(),w=_.useRef(null),v=_.useRef(null),S=_.useCallback(A=>{const{pulsate:M,rippleX:N,rippleY:P,rippleSize:z,cb:B}=A;f(R=>[...R,x.jsx(_L,{classes:{ripple:jt(a.ripple,mr.ripple),rippleVisible:jt(a.rippleVisible,mr.rippleVisible),ripplePulsate:jt(a.ripplePulsate,mr.ripplePulsate),child:jt(a.child,mr.child),childLeaving:jt(a.childLeaving,mr.childLeaving),childPulsate:jt(a.childPulsate,mr.childPulsate)},timeout:Xg,pulsate:M,rippleX:N,rippleY:P,rippleSize:z},h.current)]),h.current+=1,p.current=B},[a]),E=_.useCallback((A={},M={},N=()=>{})=>{const{pulsate:P=!1,center:z=o||M.pulsate,fakeElement:B=!1}=M;if(A?.type==="mousedown"&&g.current){g.current=!1;return}A?.type==="touchstart"&&(g.current=!0);const R=B?null:v.current,F=R?R.getBoundingClientRect():{width:0,height:0,left:0,top:0};let U,W,j;if(z||A===void 0||A.clientX===0&&A.clientY===0||!A.clientX&&!A.touches)U=Math.round(F.width/2),W=Math.round(F.height/2);else{const{clientX:V,clientY:I}=A.touches&&A.touches.length>0?A.touches[0]:A;U=Math.round(V-F.left),W=Math.round(I-F.top)}if(z)j=Math.sqrt((2*F.width**2+F.height**2)/3),j%2===0&&(j+=1);else{const V=Math.max(Math.abs((R?R.clientWidth:0)-U),U)*2+2,I=Math.max(Math.abs((R?R.clientHeight:0)-W),W)*2+2;j=Math.sqrt(V**2+I**2)}A?.touches?w.current===null&&(w.current=()=>{S({pulsate:P,rippleX:U,rippleY:W,rippleSize:j,cb:N})},y.start(yL,()=>{w.current&&(w.current(),w.current=null)})):S({pulsate:P,rippleX:U,rippleY:W,rippleSize:j,cb:N})},[o,S,y]),T=_.useCallback(()=>{E({},{pulsate:!0})},[E]),k=_.useCallback((A,M)=>{if(y.clear(),A?.type==="touchend"&&w.current){w.current(),w.current=null,y.start(0,()=>{k(A,M)});return}w.current=null,f(N=>N.length>0?N.slice(1):N),p.current=M},[y]);return _.useImperativeHandle(n,()=>({pulsate:T,start:E,stop:k}),[T,E,k]),x.jsx(wL,{className:jt(mr.root,a.root,s),ref:v,...u,children:x.jsx(Yg,{component:null,exit:!0,children:c})})});function EL(e){return Xr("MuiButtonBase",e)}const CL=Kr("MuiButtonBase",["root","disabled","focusVisible"]),kL=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,s=Ro({root:["root",t&&"disabled",n&&"focusVisible"]},EL,o);return n&&r&&(s.root+=` ${r}`),s},TL=pr("button",{name:"MuiButtonBase",slot:"Root"})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${CL.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),AL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:a=!1,children:s,className:u,component:c="button",disabled:f=!1,disableRipple:h=!1,disableTouchRipple:p=!1,focusRipple:g=!1,focusVisibleClassName:y,LinkComponent:w="a",onBlur:v,onClick:S,onContextMenu:E,onDragLeave:T,onFocus:k,onFocusVisible:A,onKeyDown:M,onKeyUp:N,onMouseDown:P,onMouseLeave:z,onMouseUp:B,onTouchEnd:R,onTouchMove:F,onTouchStart:U,tabIndex:W=0,TouchRippleProps:j,touchRippleRef:V,type:I,...H}=r,q=_.useRef(null),G=aL(),O=Ug(G.ref,V),[Y,Z]=_.useState(!1);f&&Y&&Z(!1),_.useImperativeHandle(o,()=>({focusVisible:()=>{Z(!0),q.current.focus()}}),[]);const L=G.shouldMount&&!h&&!f;_.useEffect(()=>{Y&&g&&!h&&G.pulsate()},[h,g,Y,G]);const te=Do(G,"start",P,p),he=Do(G,"stop",E,p),oe=Do(G,"stop",T,p),de=Do(G,"stop",B,p),le=Do(G,"stop",ze=>{Y&&ze.preventDefault(),z&&z(ze)},p),ye=Do(G,"start",U,p),je=Do(G,"stop",R,p),Ne=Do(G,"stop",F,p),we=Do(G,"stop",ze=>{nS(ze.target)||Z(!1),v&&v(ze)},!1),Te=ad(ze=>{q.current||(q.current=ze.currentTarget),nS(ze.target)&&(Z(!0),A&&A(ze)),k&&k(ze)}),_e=()=>{const ze=q.current;return c&&c!=="button"&&!(ze.tagName==="A"&&ze.href)},Xe=ad(ze=>{g&&!ze.repeat&&Y&&ze.key===" "&&G.stop(ze,()=>{G.start(ze)}),ze.target===ze.currentTarget&&_e()&&ze.key===" "&&ze.preventDefault(),M&&M(ze),ze.target===ze.currentTarget&&_e()&&ze.key==="Enter"&&!f&&(ze.preventDefault(),S&&S(ze))}),Ct=ad(ze=>{g&&ze.key===" "&&Y&&!ze.defaultPrevented&&G.stop(ze,()=>{G.pulsate(ze)}),N&&N(ze),S&&ze.target===ze.currentTarget&&_e()&&ze.key===" "&&!ze.defaultPrevented&&S(ze)});let ft=c;ft==="button"&&(H.href||H.to)&&(ft=w);const yn={};ft==="button"?(yn.type=I===void 0?"button":I,yn.disabled=f):(!H.href&&!H.to&&(yn.role="button"),f&&(yn["aria-disabled"]=f));const br=Ug(n,q),tr={...r,centerRipple:a,component:c,disabled:f,disableRipple:h,disableTouchRipple:p,focusRipple:g,tabIndex:W,focusVisible:Y},nr=kL(tr);return x.jsxs(TL,{as:ft,className:jt(nr.root,u),ownerState:tr,onBlur:we,onClick:S,onContextMenu:he,onFocus:Te,onKeyDown:Xe,onKeyUp:Ct,onMouseDown:te,onMouseLeave:le,onMouseUp:de,onDragLeave:oe,onTouchEnd:je,onTouchMove:Ne,onTouchStart:ye,ref:br,tabIndex:f?-1:W,type:I,...yn,...H,children:[s,L?x.jsx(SL,{ref:O,center:a,...j}):null]})});function Do(e,t,n,r=!1){return ad(o=>(n&&n(o),r||e[t](o),!0))}function RL(e){return Xr("MuiSvgIcon",e)}Kr("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const ML=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${wn(t)}`,`fontSize${wn(n)}`]};return Ro(o,RL,r)},OL=pr("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${wn(n.color)}`],t[`fontSize${wn(n.fontSize)}`]]}})(ws(({theme:e})=>({userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:e.transitions?.create?.("fill",{duration:(e.vars??e).transitions?.duration?.shorter}),variants:[{props:t=>!t.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:e.typography?.pxToRem?.(20)||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:e.typography?.pxToRem?.(24)||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:e.typography?.pxToRem?.(35)||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,t])=>t&&t.main).map(([t])=>({props:{color:t},style:{color:(e.vars??e).palette?.[t]?.main}})),{props:{color:"action"},style:{color:(e.vars??e).palette?.action?.active}},{props:{color:"disabled"},style:{color:(e.vars??e).palette?.action?.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}))),Kg=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiSvgIcon"}),{children:o,className:a,color:s="inherit",component:u="svg",fontSize:c="medium",htmlColor:f,inheritViewBox:h=!1,titleAccess:p,viewBox:g="0 0 24 24",...y}=r,w=_.isValidElement(o)&&o.type==="svg",v={...r,color:s,component:u,fontSize:c,instanceFontSize:t.fontSize,inheritViewBox:h,viewBox:g,hasSvgAsChild:w},S={};h||(S.viewBox=g);const E=ML(v);return x.jsxs(OL,{as:u,className:jt(E.root,a),focusable:"false",color:f,"aria-hidden":p?void 0:!0,role:p?"img":void 0,ref:n,...S,...y,...w&&o.props,ownerState:v,children:[w?o.props.children:o,p?x.jsx("title",{children:p}):null]})});Kg.muiName="SvgIcon";function NL(e,t){function n(r,o){return x.jsx(Kg,{"data-testid":void 0,ref:o,...r,children:e})}return n.muiName=Kg.muiName,_.memo(_.forwardRef(n))}const DL=NL(x.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}));function PL(e){return Xr("MuiTableSortLabel",e)}const Zg=Kr("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]);function jL(e){return typeof e=="string"}function IL(e,t,n){return e===void 0||jL(e)?t:{...t,ownerState:{...t.ownerState,...n}}}function zL(e,t,n){return typeof e=="function"?e(t,n):e}function LL(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function lS(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function FL(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:a}=e;if(!t){const y=jt(n?.className,a,o?.className,r?.className),w={...n?.style,...o?.style,...r?.style},v={...n,...o,...r};return y.length>0&&(v.className=y),Object.keys(w).length>0&&(v.style=w),{props:v,internalRef:void 0}}const s=LL({...o,...r}),u=lS(r),c=lS(o),f=t(s),h=jt(f?.className,n?.className,a,o?.className,r?.className),p={...f?.style,...n?.style,...o?.style,...r?.style},g={...f,...n,...c,...u};return h.length>0&&(g.className=h),Object.keys(p).length>0&&(g.style=p),{props:g,internalRef:f.ref}}function uS(e,t){const{className:n,elementType:r,ownerState:o,externalForwardedProps:a,internalForwardedProps:s,shouldForwardComponentProp:u=!1,...c}=t,{component:f,slots:h={[e]:void 0},slotProps:p={[e]:void 0},...g}=a,y=h[e]||r,w=zL(p[e],o),{props:{component:v,...S},internalRef:E}=FL({className:n,...c,externalForwardedProps:e==="root"?g:void 0,externalSlotProps:w}),T=Ug(E,w?.ref,t.ref),k=e==="root"?v||f:v,A=IL(y,{...e==="root"&&!f&&!h[e]&&s,...e!=="root"&&!h[e]&&s,...S,...k&&!u&&{as:k},...k&&u&&{component:k},ref:T},o);return[y,A]}const $L=e=>{const{classes:t,direction:n,active:r}=e,o={root:["root",r&&"active",`direction${wn(n)}`],icon:["icon",`iconDirection${wn(n)}`]};return Ro(o,PL,t)},BL=pr(AL,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.active&&t.active]}})(ws(({theme:e})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(e.vars||e).palette.text.secondary},"&:hover":{color:(e.vars||e).palette.text.secondary,[`& .${Zg.icon}`]:{opacity:.5}},[`&.${Zg.active}`]:{color:(e.vars||e).palette.text.primary,[`& .${Zg.icon}`]:{opacity:1,color:(e.vars||e).palette.text.secondary}}}))),HL=pr("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,t[`iconDirection${wn(n.direction)}`]]}})(ws(({theme:e})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:e.transitions.create(["opacity","transform"],{duration:e.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),VL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiTableSortLabel"}),{active:o=!1,children:a,className:s,direction:u="asc",hideSortIcon:c=!1,IconComponent:f=DL,slots:h={},slotProps:p={},...g}=r,y={...r,active:o,direction:u,hideSortIcon:c,IconComponent:f},w=$L(y),v={slots:h,slotProps:p},[S,E]=uS("root",{elementType:BL,externalForwardedProps:v,ownerState:y,className:jt(w.root,s),ref:n}),[T,k]=uS("icon",{elementType:HL,externalForwardedProps:v,ownerState:y,className:w.icon});return x.jsxs(S,{disableRipple:!0,component:"span",...E,...g,children:[a,c&&!o?null:x.jsx(T,{as:f,...k})]})}),UL=e=>{const t=[];if(e===void 0)return{header:[],rows:[]};e.data===void 0&&(e.data=[]),(e.columns===void 0||e.columns.length===0)&&(e.data.length===0?e.columns=[]:e.columns=e.data[0].map((r,o)=>`col${o}`)),(e.index===void 0||e.index.length===0)&&(e.index=e.data.map((r,o)=>`row${o}`));const n=Math.max(e.index.length,e.data.length);for(let r=0;r<n;r++){const a=[r<e.index.length?e.index[r]:`row${r}`];for(let s=0;s<e.columns.length;s++)a.push(e.data[r]?e.data[r][s]:void 0);t.push(a)}return{header:["index",...e.columns],rows:t}},qL=(e,t)=>e==="desc"?(n,r)=>r[t]<n[t]?-1:r[t]>n[t]?1:0:(n,r)=>n[t]<r[t]?-1:n[t]>r[t]?1:0,Qg=(e,t)=>{const n=e.map((r,o)=>[r,o]);return n.sort((r,o)=>t(r[0],o[0])),n.map(r=>r[0])},GL=(e,t,n=1e3)=>{if(e.length<=n)return Qg(e,t);const r=[];for(let a=0;a<e.length;a+=n)r.push(e.slice(a,a+n));const o=r.map(a=>Qg(a,t));return YL(o,t)},YL=(e,t)=>{if(e.length===1)return e[0];const n=[],r=new Array(e.length).fill(0);for(;r.some((o,a)=>o<e[a].length);){let o=-1,a=null;for(let s=0;s<e.length;s++)if(r[s]<e[s].length){const u=e[s][r[s]];(a===null||t(u,a)<0)&&(a=u,o=s)}o!==-1&&a!==null&&(n.push(a),r[o]++)}return n},cS=(e,t,n)=>{const r=Math.ceil(e/n);return{currentPage:r===0?1:Math.min(Math.max(1,t),r),pageSize:n,totalPages:r,totalRows:e}},WL=(e,t,n)=>{const r=(t-1)*n,o=r+n;return e.slice(r,o)},XL=(e,t,n,r,o=5)=>{const a=Math.max(0,Math.floor(e/n)-o),s=Math.min(r-1,Math.ceil((e+t)/n)+o);return{startIndex:a,endIndex:s}},KL=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}},fS=({tabledata:e,className:t="",size:n="small",onSortChange:r,enablePagination:o=void 0,pageSize:a=50,enableVirtualScrolling:s=void 0,virtualScrollingHeight:u=400,enableLazyLoading:c=void 0,onLoadMore:f})=>{e||(e={columns:[],index:[],data:[]});const h=e.index.length;h>1e4&&(c=c===void 0?!0:c),h>1e3&&(s=s===void 0?!0:s),h>2*a&&(o=o===void 0?!0:o),c=c===void 0?!1:c,s=s===void 0?!1:s,o=o===void 0?!1:o;const p=_.useMemo(()=>UL(e),[e]),[g,y]=_.useState("asc"),[w,v]=_.useState("index"),[S,E]=_.useState(()=>cS(p.rows.length,1,a)),[T,k]=_.useState(0),A=_.useRef(null),M=_.useMemo(()=>{const q=p.header.indexOf(w);return q===-1?0:q},[p.header,w]),N=_.useMemo(()=>KL((q,G)=>{y(G),v(q),r?.(q,G)},150),[r]),P=_.useCallback(q=>{const O=w===q&&g==="asc"?"desc":"asc";p.rows.length>1e3?N(q,O):(y(O),v(q),r?.(q,O))},[w,g,r,p.rows.length,N]),z=_.useMemo(()=>qL(g,M),[g,M]),B=_.useMemo(()=>p.rows.length>1e3?GL(p.rows,z):Qg(p.rows,z),[p.rows,z]),R=_.useMemo(()=>o?WL(B,S.currentPage,S.pageSize):B,[B,o,S.currentPage,S.pageSize]),F={itemHeight:48,overscan:5,containerHeight:u},U=_.useMemo(()=>s?XL(T,F.containerHeight,F.itemHeight,R.length,F.overscan):{startIndex:0,endIndex:R.length-1},[T,s,R.length,F]),W=_.useCallback(q=>{s&&k(q.currentTarget.scrollTop)},[s]),j=_.useCallback(q=>{E(G=>({...G,currentPage:q}))},[]),V=_.useCallback(q=>{if(!(!o||!(q.target.closest(".sortable-table-wrapper")===q.currentTarget)))switch(q.key){case"ArrowLeft":S.currentPage>1&&(q.preventDefault(),q.stopPropagation(),j(S.currentPage-1));break;case"ArrowRight":S.currentPage<S.totalPages&&(console.log("ArrowRight",S.currentPage,S.totalPages),q.preventDefault(),q.stopPropagation(),j(S.currentPage+1));break;case"Home":S.currentPage>1&&(q.preventDefault(),q.stopPropagation(),j(1));break;case"End":S.currentPage<S.totalPages&&(q.preventDefault(),q.stopPropagation(),j(S.totalPages));break}},[o,S.currentPage,S.totalPages,j]);_.useEffect(()=>{o&&E(q=>cS(B.length,q.currentPage,a))},[B.length,o,a]),_.useEffect(()=>{c&&f&&S.currentPage>=S.totalPages-1&&f(S.currentPage+1)},[c,f,S.currentPage,S.totalPages]);const I=()=>o?x.jsxs("div",{className:"sortable-table-pagination",children:[x.jsx("button",{onClick:()=>j(S.currentPage-1),disabled:S.currentPage<=1,className:"pagination-button",children:"Previous"}),x.jsxs("span",{className:"pagination-info",children:["Page ",S.currentPage," of ",S.totalPages,"(",S.totalRows," total rows)"]}),x.jsx("button",{onClick:()=>j(S.currentPage+1),disabled:S.currentPage>=S.totalPages,className:"pagination-button",children:"Next"})]}):null,H=()=>{const q=s?R.slice(U.startIndex,U.endIndex+1):R;return x.jsxs(Vz,{children:[s&&x.jsx(id,{style:{height:U.startIndex*F.itemHeight},children:x.jsx(od,{colSpan:p.header.length})}),q.map((G,O)=>{const Y=s?U.startIndex+O:O;return x.jsx(id,{children:G.map((Z,L)=>x.jsx(od,{className:L===0?"sortable-table-index-cell":"sortable-table-data-cell",children:Z},`${e.index?.[Y]||Y}-${L}`))},e.index?.[Y]||Y)}),s&&x.jsx(id,{style:{height:(R.length-U.endIndex-1)*F.itemHeight},children:x.jsx(od,{colSpan:p.header.length})})]})};return x.jsxs("div",{className:"sortable-table-wrapper",onKeyDown:V,tabIndex:o?0:-1,role:o?"application":void 0,"aria-label":o?"Sortable table with pagination":void 0,children:[x.jsx(Zz,{className:`sortable-table-container ${t}`,ref:A,onScroll:W,style:s?{height:u}:void 0,children:x.jsxs(Lz,{size:n,children:[x.jsx(nL,{className:"sortable-table-head",children:x.jsx(id,{className:"sortable-table-header-row",children:p.header.map(q=>x.jsx(od,{className:"sortable-table-header-cell","aria-label":`Sort by ${q}`,children:x.jsx(VL,{active:w===q,direction:w===q?g:"asc",onClick:()=>P(q),className:"sortable-table-sort-label",sx:{"& .MuiTableSortLabel-icon":{color:"inherit !important"}},children:q})},q))})}),H()]})}),I()]})};fS.displayName="SortableTable";function xe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}function dS(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function ud(...e){return t=>{let n=!1;const r=e.map(o=>{const a=dS(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){const a=r[o];typeof a=="function"?a():dS(e[o],null)}}}}function yt(...e){return _.useCallback(ud(...e),e)}function ZL(e,t){const n=_.createContext(t),r=a=>{const{children:s,...u}=a,c=_.useMemo(()=>u,Object.values(u));return x.jsx(n.Provider,{value:c,children:s})};r.displayName=e+"Provider";function o(a){const s=_.useContext(n);if(s)return s;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[r,o]}function Jr(e,t=[]){let n=[];function r(a,s){const u=_.createContext(s),c=n.length;n=[...n,s];const f=p=>{const{scope:g,children:y,...w}=p,v=g?.[e]?.[c]||u,S=_.useMemo(()=>w,Object.values(w));return x.jsx(v.Provider,{value:S,children:y})};f.displayName=a+"Provider";function h(p,g){const y=g?.[e]?.[c]||u,w=_.useContext(y);if(w)return w;if(s!==void 0)return s;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[f,h]}const o=()=>{const a=n.map(s=>_.createContext(s));return function(u){const c=u?.[e]||a;return _.useMemo(()=>({[`__scope${e}`]:{...u,[e]:c}}),[u,c])}};return o.scopeName=e,[r,QL(o,...t)]}function QL(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const s=r.reduce((u,{useScope:c,scopeName:f})=>{const p=c(a)[`__scope${f}`];return{...u,...p}},{});return _.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var Po=globalThis?.document?_.useLayoutEffect:()=>{},JL=ls[" useId ".trim().toString()]||(()=>{}),eF=0;function eo(e){const[t,n]=_.useState(JL());return Po(()=>{n(r=>r??String(eF++))},[e]),e||(t?`radix-${t}`:"")}var tF=ls[" useInsertionEffect ".trim().toString()]||Po;function wi({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,a,s]=nF({defaultProp:t,onChange:n}),u=e!==void 0,c=u?e:o;{const h=_.useRef(e!==void 0);_.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,r])}const f=_.useCallback(h=>{if(u){const p=rF(h)?h(e):h;p!==e&&s.current?.(p)}else a(h)},[u,e,a,s]);return[c,f]}function nF({defaultProp:e,onChange:t}){const[n,r]=_.useState(e),o=_.useRef(n),a=_.useRef(t);return tF(()=>{a.current=t},[t]),_.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function rF(e){return typeof e=="function"}function _s(e){const t=oF(e),n=_.forwardRef((r,o)=>{const{children:a,...s}=r,u=_.Children.toArray(a),c=u.find(aF);if(c){const f=c.props.children,h=u.map(p=>p===c?_.Children.count(f)>1?_.Children.only(null):_.isValidElement(f)?f.props.children:null:p);return x.jsx(t,{...s,ref:o,children:_.isValidElement(f)?_.cloneElement(f,void 0,h):null})}return x.jsx(t,{...s,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function oF(e){const t=_.forwardRef((n,r)=>{const{children:o,...a}=n;if(_.isValidElement(o)){const s=lF(o),u=sF(a,o.props);return o.type!==_.Fragment&&(u.ref=r?ud(r,s):s),_.cloneElement(o,u)}return _.Children.count(o)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var iF=Symbol("radix.slottable");function aF(e){return _.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===iF}function sF(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...u)=>{const c=a(...u);return o(...u),c}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function lF(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var uF=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ue=uF.reduce((e,t)=>{const n=_s(`Primitive.${t}`),r=_.forwardRef((o,a)=>{const{asChild:s,...u}=o,c=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(c,{...u,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Jg(e,t){e&&cs.flushSync(()=>e.dispatchEvent(t))}function Mn(e){const t=_.useRef(e);return _.useEffect(()=>{t.current=e}),_.useMemo(()=>(...n)=>t.current?.(...n),[])}function cF(e,t=globalThis?.document){const n=Mn(e);_.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var fF="DismissableLayer",e0="dismissableLayer.update",dF="dismissableLayer.pointerDownOutside",hF="dismissableLayer.focusOutside",hS,pS=_.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),cu=_.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:u,...c}=e,f=_.useContext(pS),[h,p]=_.useState(null),g=h?.ownerDocument??globalThis?.document,[,y]=_.useState({}),w=yt(t,P=>p(P)),v=Array.from(f.layers),[S]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),E=v.indexOf(S),T=h?v.indexOf(h):-1,k=f.layersWithOutsidePointerEventsDisabled.size>0,A=T>=E,M=mF(P=>{const z=P.target,B=[...f.branches].some(R=>R.contains(z));!A||B||(o?.(P),s?.(P),P.defaultPrevented||u?.())},g),N=gF(P=>{const z=P.target;[...f.branches].some(R=>R.contains(z))||(a?.(P),s?.(P),P.defaultPrevented||u?.())},g);return cF(P=>{T===f.layers.size-1&&(r?.(P),!P.defaultPrevented&&u&&(P.preventDefault(),u()))},g),_.useEffect(()=>{if(h)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(hS=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),gS(),()=>{n&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=hS)}},[h,g,n,f]),_.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),gS())},[h,f]),_.useEffect(()=>{const P=()=>y({});return document.addEventListener(e0,P),()=>document.removeEventListener(e0,P)},[]),x.jsx(Ue.div,{...c,ref:w,style:{pointerEvents:k?A?"auto":"none":void 0,...e.style},onFocusCapture:xe(e.onFocusCapture,N.onFocusCapture),onBlurCapture:xe(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:xe(e.onPointerDownCapture,M.onPointerDownCapture)})});cu.displayName=fF;var pF="DismissableLayerBranch",mS=_.forwardRef((e,t)=>{const n=_.useContext(pS),r=_.useRef(null),o=yt(t,r);return _.useEffect(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),x.jsx(Ue.div,{...e,ref:o})});mS.displayName=pF;function mF(e,t=globalThis?.document){const n=Mn(e),r=_.useRef(!1),o=_.useRef(()=>{});return _.useEffect(()=>{const a=u=>{if(u.target&&!r.current){let c=function(){yS(dF,n,f,{discrete:!0})};const f={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function gF(e,t=globalThis?.document){const n=Mn(e),r=_.useRef(!1);return _.useEffect(()=>{const o=a=>{a.target&&!r.current&&yS(hF,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function gS(){const e=new CustomEvent(e0);document.dispatchEvent(e)}function yS(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Jg(o,a):o.dispatchEvent(a)}var yF=cu,vF=mS,t0="focusScope.autoFocusOnMount",n0="focusScope.autoFocusOnUnmount",vS={bubbles:!1,cancelable:!0},bF="FocusScope",cd=_.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...s}=e,[u,c]=_.useState(null),f=Mn(o),h=Mn(a),p=_.useRef(null),g=yt(t,v=>c(v)),y=_.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;_.useEffect(()=>{if(r){let v=function(k){if(y.paused||!u)return;const A=k.target;u.contains(A)?p.current=A:_i(p.current,{select:!0})},S=function(k){if(y.paused||!u)return;const A=k.relatedTarget;A!==null&&(u.contains(A)||_i(p.current,{select:!0}))},E=function(k){if(document.activeElement===document.body)for(const M of k)M.removedNodes.length>0&&_i(u)};document.addEventListener("focusin",v),document.addEventListener("focusout",S);const T=new MutationObserver(E);return u&&T.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",S),T.disconnect()}}},[r,u,y.paused]),_.useEffect(()=>{if(u){wS.add(y);const v=document.activeElement;if(!u.contains(v)){const E=new CustomEvent(t0,vS);u.addEventListener(t0,f),u.dispatchEvent(E),E.defaultPrevented||(xF(CF(bS(u)),{select:!0}),document.activeElement===v&&_i(u))}return()=>{u.removeEventListener(t0,f),setTimeout(()=>{const E=new CustomEvent(n0,vS);u.addEventListener(n0,h),u.dispatchEvent(E),E.defaultPrevented||_i(v??document.body,{select:!0}),u.removeEventListener(n0,h),wS.remove(y)},0)}}},[u,f,h,y]);const w=_.useCallback(v=>{if(!n&&!r||y.paused)return;const S=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,E=document.activeElement;if(S&&E){const T=v.currentTarget,[k,A]=wF(T);k&&A?!v.shiftKey&&E===A?(v.preventDefault(),n&&_i(k,{select:!0})):v.shiftKey&&E===k&&(v.preventDefault(),n&&_i(A,{select:!0})):E===T&&v.preventDefault()}},[n,r,y.paused]);return x.jsx(Ue.div,{tabIndex:-1,...s,ref:g,onKeyDown:w})});cd.displayName=bF;function xF(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(_i(r,{select:t}),document.activeElement!==n)return}function wF(e){const t=bS(e),n=xS(t,e),r=xS(t.reverse(),e);return[n,r]}function bS(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function xS(e,t){for(const n of e)if(!_F(n,{upTo:t}))return n}function _F(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function SF(e){return e instanceof HTMLInputElement&&"select"in e}function _i(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&SF(e)&&t&&e.select()}}var wS=EF();function EF(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=_S(e,t),e.unshift(t)},remove(t){e=_S(e,t),e[0]?.resume()}}}function _S(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function CF(e){return e.filter(t=>t.tagName!=="A")}var kF="Portal",fd=_.forwardRef((e,t)=>{const{container:n,...r}=e,[o,a]=_.useState(!1);Po(()=>a(!0),[]);const s=n||o&&globalThis?.document?.body;return s?Rj.createPortal(x.jsx(Ue.div,{...r,ref:t}),s):null});fd.displayName=kF;function TF(e,t){return _.useReducer((n,r)=>t[n][r]??n,e)}var Rr=e=>{const{present:t,children:n}=e,r=AF(t),o=typeof n=="function"?n({present:r.isPresent}):_.Children.only(n),a=yt(r.ref,RF(o));return typeof n=="function"||r.isPresent?_.cloneElement(o,{ref:a}):null};Rr.displayName="Presence";function AF(e){const[t,n]=_.useState(),r=_.useRef(null),o=_.useRef(e),a=_.useRef("none"),s=e?"mounted":"unmounted",[u,c]=TF(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return _.useEffect(()=>{const f=dd(r.current);a.current=u==="mounted"?f:"none"},[u]),Po(()=>{const f=r.current,h=o.current;if(h!==e){const g=a.current,y=dd(f);e?c("MOUNT"):y==="none"||f?.display==="none"?c("UNMOUNT"):c(h&&g!==y?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,c]),Po(()=>{if(t){let f;const h=t.ownerDocument.defaultView??window,p=y=>{const v=dd(r.current).includes(y.animationName);if(y.target===t&&v&&(c("ANIMATION_END"),!o.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",f=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},g=y=>{y.target===t&&(a.current=dd(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:_.useCallback(f=>{r.current=f?getComputedStyle(f):null,n(f)},[])}}function dd(e){return e?.animationName||"none"}function RF(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var r0=0;function o0(){_.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??SS()),document.body.insertAdjacentElement("beforeend",e[1]??SS()),r0++,()=>{r0===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),r0--}},[])}function SS(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var to=function(){return to=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},to.apply(this,arguments)};function ES(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function hd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var pd="right-scroll-bar-position",md="width-before-scroll-bar",MF="with-scroll-bars-hidden",OF="--removed-body-scroll-bar-size";function i0(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function NF(e,t){var n=_.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var DF=typeof window<"u"?_.useLayoutEffect:_.useEffect,CS=new WeakMap;function PF(e,t){var n=NF(null,function(r){return e.forEach(function(o){return i0(o,r)})});return DF(function(){var r=CS.get(n);if(r){var o=new Set(r),a=new Set(e),s=n.current;o.forEach(function(u){a.has(u)||i0(u,null)}),a.forEach(function(u){o.has(u)||i0(u,s)})}CS.set(n,e)},[e]),n}function jF(e){return e}function IF(e,t){t===void 0&&(t=jF);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var s=t(a,r);return n.push(s),function(){n=n.filter(function(u){return u!==s})}},assignSyncMedium:function(a){for(r=!0;n.length;){var s=n;n=[],s.forEach(a)}n={push:function(u){return a(u)},filter:function(){return n}}},assignMedium:function(a){r=!0;var s=[];if(n.length){var u=n;n=[],u.forEach(a),s=n}var c=function(){var h=s;s=[],h.forEach(a)},f=function(){return Promise.resolve().then(c)};f(),n={push:function(h){s.push(h),f()},filter:function(h){return s=s.filter(h),n}}}};return o}function zF(e){e===void 0&&(e={});var t=IF(null);return t.options=to({async:!0,ssr:!1},e),t}var kS=function(e){var t=e.sideCar,n=ES(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return _.createElement(r,to({},n))};kS.isSideCarExport=!0;function LF(e,t){return e.useMedium(t),kS}var TS=zF(),a0=function(){},gd=_.forwardRef(function(e,t){var n=_.useRef(null),r=_.useState({onScrollCapture:a0,onWheelCapture:a0,onTouchMoveCapture:a0}),o=r[0],a=r[1],s=e.forwardProps,u=e.children,c=e.className,f=e.removeScrollBar,h=e.enabled,p=e.shards,g=e.sideCar,y=e.noRelative,w=e.noIsolation,v=e.inert,S=e.allowPinchZoom,E=e.as,T=E===void 0?"div":E,k=e.gapMode,A=ES(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=g,N=PF([n,t]),P=to(to({},A),o);return _.createElement(_.Fragment,null,h&&_.createElement(M,{sideCar:TS,removeScrollBar:f,shards:p,noRelative:y,noIsolation:w,inert:v,setCallbacks:a,allowPinchZoom:!!S,lockRef:n,gapMode:k}),s?_.cloneElement(_.Children.only(u),to(to({},P),{ref:N})):_.createElement(T,to({},P,{className:c,ref:N}),u))});gd.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},gd.classNames={fullWidth:md,zeroRight:pd};var FF=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $F(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=FF();return t&&e.setAttribute("nonce",t),e}function BF(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function HF(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var VF=function(){var e=0,t=null;return{add:function(n){e==0&&(t=$F())&&(BF(t,n),HF(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},UF=function(){var e=VF();return function(t,n){_.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},AS=function(){var e=UF(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},qF={left:0,top:0,right:0,gap:0},s0=function(e){return parseInt(e||"",10)||0},GF=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[s0(n),s0(r),s0(o)]},YF=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return qF;var t=GF(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},WF=AS(),Ss="data-scroll-locked",XF=function(e,t,n,r){var o=e.left,a=e.top,s=e.right,u=e.gap;return n===void 0&&(n="margin"),`
145
+ `,SL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:a={},className:s,...u}=r,[c,f]=_.useState([]),h=_.useRef(0),p=_.useRef(null);_.useEffect(()=>{p.current&&(p.current(),p.current=null)},[c]);const g=_.useRef(!1),y=mL(),w=_.useRef(null),v=_.useRef(null),S=_.useCallback(A=>{const{pulsate:M,rippleX:N,rippleY:P,rippleSize:z,cb:B}=A;f(R=>[...R,x.jsx(_L,{classes:{ripple:jt(a.ripple,mr.ripple),rippleVisible:jt(a.rippleVisible,mr.rippleVisible),ripplePulsate:jt(a.ripplePulsate,mr.ripplePulsate),child:jt(a.child,mr.child),childLeaving:jt(a.childLeaving,mr.childLeaving),childPulsate:jt(a.childPulsate,mr.childPulsate)},timeout:Xg,pulsate:M,rippleX:N,rippleY:P,rippleSize:z},h.current)]),h.current+=1,p.current=B},[a]),E=_.useCallback((A={},M={},N=()=>{})=>{const{pulsate:P=!1,center:z=o||M.pulsate,fakeElement:B=!1}=M;if(A?.type==="mousedown"&&g.current){g.current=!1;return}A?.type==="touchstart"&&(g.current=!0);const R=B?null:v.current,F=R?R.getBoundingClientRect():{width:0,height:0,left:0,top:0};let U,W,j;if(z||A===void 0||A.clientX===0&&A.clientY===0||!A.clientX&&!A.touches)U=Math.round(F.width/2),W=Math.round(F.height/2);else{const{clientX:V,clientY:I}=A.touches&&A.touches.length>0?A.touches[0]:A;U=Math.round(V-F.left),W=Math.round(I-F.top)}if(z)j=Math.sqrt((2*F.width**2+F.height**2)/3),j%2===0&&(j+=1);else{const V=Math.max(Math.abs((R?R.clientWidth:0)-U),U)*2+2,I=Math.max(Math.abs((R?R.clientHeight:0)-W),W)*2+2;j=Math.sqrt(V**2+I**2)}A?.touches?w.current===null&&(w.current=()=>{S({pulsate:P,rippleX:U,rippleY:W,rippleSize:j,cb:N})},y.start(yL,()=>{w.current&&(w.current(),w.current=null)})):S({pulsate:P,rippleX:U,rippleY:W,rippleSize:j,cb:N})},[o,S,y]),T=_.useCallback(()=>{E({},{pulsate:!0})},[E]),k=_.useCallback((A,M)=>{if(y.clear(),A?.type==="touchend"&&w.current){w.current(),w.current=null,y.start(0,()=>{k(A,M)});return}w.current=null,f(N=>N.length>0?N.slice(1):N),p.current=M},[y]);return _.useImperativeHandle(n,()=>({pulsate:T,start:E,stop:k}),[T,E,k]),x.jsx(wL,{className:jt(mr.root,a.root,s),ref:v,...u,children:x.jsx(Yg,{component:null,exit:!0,children:c})})});function EL(e){return Xr("MuiButtonBase",e)}const CL=Kr("MuiButtonBase",["root","disabled","focusVisible"]),kL=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,s=Ro({root:["root",t&&"disabled",n&&"focusVisible"]},EL,o);return n&&r&&(s.root+=` ${r}`),s},TL=pr("button",{name:"MuiButtonBase",slot:"Root"})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${CL.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),AL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:a=!1,children:s,className:u,component:c="button",disabled:f=!1,disableRipple:h=!1,disableTouchRipple:p=!1,focusRipple:g=!1,focusVisibleClassName:y,LinkComponent:w="a",onBlur:v,onClick:S,onContextMenu:E,onDragLeave:T,onFocus:k,onFocusVisible:A,onKeyDown:M,onKeyUp:N,onMouseDown:P,onMouseLeave:z,onMouseUp:B,onTouchEnd:R,onTouchMove:F,onTouchStart:U,tabIndex:W=0,TouchRippleProps:j,touchRippleRef:V,type:I,...H}=r,q=_.useRef(null),G=aL(),O=Ug(G.ref,V),[Y,Z]=_.useState(!1);f&&Y&&Z(!1),_.useImperativeHandle(o,()=>({focusVisible:()=>{Z(!0),q.current.focus()}}),[]);const L=G.shouldMount&&!h&&!f;_.useEffect(()=>{Y&&g&&!h&&G.pulsate()},[h,g,Y,G]);const te=Do(G,"start",P,p),he=Do(G,"stop",E,p),oe=Do(G,"stop",T,p),de=Do(G,"stop",B,p),le=Do(G,"stop",ze=>{Y&&ze.preventDefault(),z&&z(ze)},p),ye=Do(G,"start",U,p),je=Do(G,"stop",R,p),Ne=Do(G,"stop",F,p),we=Do(G,"stop",ze=>{nS(ze.target)||Z(!1),v&&v(ze)},!1),Te=ad(ze=>{q.current||(q.current=ze.currentTarget),nS(ze.target)&&(Z(!0),A&&A(ze)),k&&k(ze)}),_e=()=>{const ze=q.current;return c&&c!=="button"&&!(ze.tagName==="A"&&ze.href)},Xe=ad(ze=>{g&&!ze.repeat&&Y&&ze.key===" "&&G.stop(ze,()=>{G.start(ze)}),ze.target===ze.currentTarget&&_e()&&ze.key===" "&&ze.preventDefault(),M&&M(ze),ze.target===ze.currentTarget&&_e()&&ze.key==="Enter"&&!f&&(ze.preventDefault(),S&&S(ze))}),Ct=ad(ze=>{g&&ze.key===" "&&Y&&!ze.defaultPrevented&&G.stop(ze,()=>{G.pulsate(ze)}),N&&N(ze),S&&ze.target===ze.currentTarget&&_e()&&ze.key===" "&&!ze.defaultPrevented&&S(ze)});let ft=c;ft==="button"&&(H.href||H.to)&&(ft=w);const yn={};ft==="button"?(yn.type=I===void 0?"button":I,yn.disabled=f):(!H.href&&!H.to&&(yn.role="button"),f&&(yn["aria-disabled"]=f));const br=Ug(n,q),tr={...r,centerRipple:a,component:c,disabled:f,disableRipple:h,disableTouchRipple:p,focusRipple:g,tabIndex:W,focusVisible:Y},nr=kL(tr);return x.jsxs(TL,{as:ft,className:jt(nr.root,u),ownerState:tr,onBlur:we,onClick:S,onContextMenu:he,onFocus:Te,onKeyDown:Xe,onKeyUp:Ct,onMouseDown:te,onMouseLeave:le,onMouseUp:de,onDragLeave:oe,onTouchEnd:je,onTouchMove:Ne,onTouchStart:ye,ref:br,tabIndex:f?-1:W,type:I,...yn,...H,children:[s,L?x.jsx(SL,{ref:O,center:a,...j}):null]})});function Do(e,t,n,r=!1){return ad(o=>(n&&n(o),r||e[t](o),!0))}function RL(e){return Xr("MuiSvgIcon",e)}Kr("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const ML=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${wn(t)}`,`fontSize${wn(n)}`]};return Ro(o,RL,r)},OL=pr("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${wn(n.color)}`],t[`fontSize${wn(n.fontSize)}`]]}})(ws(({theme:e})=>({userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:e.transitions?.create?.("fill",{duration:(e.vars??e).transitions?.duration?.shorter}),variants:[{props:t=>!t.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:e.typography?.pxToRem?.(20)||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:e.typography?.pxToRem?.(24)||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:e.typography?.pxToRem?.(35)||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,t])=>t&&t.main).map(([t])=>({props:{color:t},style:{color:(e.vars??e).palette?.[t]?.main}})),{props:{color:"action"},style:{color:(e.vars??e).palette?.action?.active}},{props:{color:"disabled"},style:{color:(e.vars??e).palette?.action?.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}))),Kg=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiSvgIcon"}),{children:o,className:a,color:s="inherit",component:u="svg",fontSize:c="medium",htmlColor:f,inheritViewBox:h=!1,titleAccess:p,viewBox:g="0 0 24 24",...y}=r,w=_.isValidElement(o)&&o.type==="svg",v={...r,color:s,component:u,fontSize:c,instanceFontSize:t.fontSize,inheritViewBox:h,viewBox:g,hasSvgAsChild:w},S={};h||(S.viewBox=g);const E=ML(v);return x.jsxs(OL,{as:u,className:jt(E.root,a),focusable:"false",color:f,"aria-hidden":p?void 0:!0,role:p?"img":void 0,ref:n,...S,...y,...w&&o.props,ownerState:v,children:[w?o.props.children:o,p?x.jsx("title",{children:p}):null]})});Kg.muiName="SvgIcon";function NL(e,t){function n(r,o){return x.jsx(Kg,{"data-testid":void 0,ref:o,...r,children:e})}return n.muiName=Kg.muiName,_.memo(_.forwardRef(n))}const DL=NL(x.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}));function PL(e){return Xr("MuiTableSortLabel",e)}const Zg=Kr("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]);function jL(e){return typeof e=="string"}function IL(e,t,n){return e===void 0||jL(e)?t:{...t,ownerState:{...t.ownerState,...n}}}function zL(e,t,n){return typeof e=="function"?e(t,n):e}function LL(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function lS(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function FL(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:a}=e;if(!t){const y=jt(n?.className,a,o?.className,r?.className),w={...n?.style,...o?.style,...r?.style},v={...n,...o,...r};return y.length>0&&(v.className=y),Object.keys(w).length>0&&(v.style=w),{props:v,internalRef:void 0}}const s=LL({...o,...r}),u=lS(r),c=lS(o),f=t(s),h=jt(f?.className,n?.className,a,o?.className,r?.className),p={...f?.style,...n?.style,...o?.style,...r?.style},g={...f,...n,...c,...u};return h.length>0&&(g.className=h),Object.keys(p).length>0&&(g.style=p),{props:g,internalRef:f.ref}}function uS(e,t){const{className:n,elementType:r,ownerState:o,externalForwardedProps:a,internalForwardedProps:s,shouldForwardComponentProp:u=!1,...c}=t,{component:f,slots:h={[e]:void 0},slotProps:p={[e]:void 0},...g}=a,y=h[e]||r,w=zL(p[e],o),{props:{component:v,...S},internalRef:E}=FL({className:n,...c,externalForwardedProps:e==="root"?g:void 0,externalSlotProps:w}),T=Ug(E,w?.ref,t.ref),k=e==="root"?v||f:v,A=IL(y,{...e==="root"&&!f&&!h[e]&&s,...e!=="root"&&!h[e]&&s,...S,...k&&!u&&{as:k},...k&&u&&{component:k},ref:T},o);return[y,A]}const $L=e=>{const{classes:t,direction:n,active:r}=e,o={root:["root",r&&"active",`direction${wn(n)}`],icon:["icon",`iconDirection${wn(n)}`]};return Ro(o,PL,t)},BL=pr(AL,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.active&&t.active]}})(ws(({theme:e})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(e.vars||e).palette.text.secondary},"&:hover":{color:(e.vars||e).palette.text.secondary,[`& .${Zg.icon}`]:{opacity:.5}},[`&.${Zg.active}`]:{color:(e.vars||e).palette.text.primary,[`& .${Zg.icon}`]:{opacity:1,color:(e.vars||e).palette.text.secondary}}}))),HL=pr("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,t[`iconDirection${wn(n.direction)}`]]}})(ws(({theme:e})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:e.transitions.create(["opacity","transform"],{duration:e.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),VL=_.forwardRef(function(t,n){const r=Qr({props:t,name:"MuiTableSortLabel"}),{active:o=!1,children:a,className:s,direction:u="asc",hideSortIcon:c=!1,IconComponent:f=DL,slots:h={},slotProps:p={},...g}=r,y={...r,active:o,direction:u,hideSortIcon:c,IconComponent:f},w=$L(y),v={slots:h,slotProps:p},[S,E]=uS("root",{elementType:BL,externalForwardedProps:v,ownerState:y,className:jt(w.root,s),ref:n}),[T,k]=uS("icon",{elementType:HL,externalForwardedProps:v,ownerState:y,className:w.icon});return x.jsxs(S,{disableRipple:!0,component:"span",...E,...g,children:[a,c&&!o?null:x.jsx(T,{as:f,...k})]})}),UL=e=>{const t=[];if(e===void 0)return{header:[],rows:[]};e.data===void 0&&(e.data=[]),(e.columns===void 0||e.columns.length===0)&&(e.data.length===0?e.columns=[]:e.columns=e.data[0].map((r,o)=>`col${o}`)),(e.index===void 0||e.index.length===0)&&(e.index=e.data.map((r,o)=>`row${o}`));const n=Math.max(e.index.length,e.data.length);for(let r=0;r<n;r++){const a=[r<e.index.length?e.index[r]:`row${r}`];for(let s=0;s<e.columns.length;s++)a.push(e.data[r]?e.data[r][s]:void 0);t.push(a)}return{header:["index",...e.columns],rows:t}},qL=(e,t)=>e==="desc"?(n,r)=>r[t]<n[t]?-1:r[t]>n[t]?1:0:(n,r)=>n[t]<r[t]?-1:n[t]>r[t]?1:0,Qg=(e,t)=>{const n=e.map((r,o)=>[r,o]);return n.sort((r,o)=>t(r[0],o[0])),n.map(r=>r[0])},GL=(e,t,n=1e3)=>{if(e.length<=n)return Qg(e,t);const r=[];for(let a=0;a<e.length;a+=n)r.push(e.slice(a,a+n));const o=r.map(a=>Qg(a,t));return YL(o,t)},YL=(e,t)=>{if(e.length===1)return e[0];const n=[],r=new Array(e.length).fill(0);for(;r.some((o,a)=>o<e[a].length);){let o=-1,a=null;for(let s=0;s<e.length;s++)if(r[s]<e[s].length){const u=e[s][r[s]];(a===null||t(u,a)<0)&&(a=u,o=s)}o!==-1&&a!==null&&(n.push(a),r[o]++)}return n},cS=(e,t,n)=>{const r=Math.ceil(e/n);return{currentPage:r===0?1:Math.min(Math.max(1,t),r),pageSize:n,totalPages:r,totalRows:e}},WL=(e,t,n)=>{const r=(t-1)*n,o=r+n;return e.slice(r,o)},XL=(e,t,n,r,o=5)=>{const a=Math.max(0,Math.floor(e/n)-o),s=Math.min(r-1,Math.ceil((e+t)/n)+o);return{startIndex:a,endIndex:s}},KL=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}},fS=({tabledata:e,className:t="",size:n="small",onSortChange:r,enablePagination:o=void 0,pageSize:a=50,enableVirtualScrolling:s=void 0,virtualScrollingHeight:u=400,enableLazyLoading:c=void 0,onLoadMore:f})=>{e||(e={columns:[],index:[],data:[]});const h=e.index.length;h>1e4&&(c=c===void 0?!0:c),h>1e3&&(s=s===void 0?!0:s),h>2*a&&(o=o===void 0?!0:o),c=c===void 0?!1:c,s=s===void 0?!1:s,o=o===void 0?!1:o;const p=_.useMemo(()=>UL(e),[e]),[g,y]=_.useState("asc"),[w,v]=_.useState("index"),[S,E]=_.useState(()=>cS(p.rows.length,1,a)),[T,k]=_.useState(0),A=_.useRef(null),M=_.useMemo(()=>{const q=p.header.indexOf(w);return q===-1?0:q},[p.header,w]),N=_.useMemo(()=>KL((q,G)=>{y(G),v(q),r?.(q,G)},150),[r]),P=_.useCallback(q=>{const O=w===q&&g==="asc"?"desc":"asc";p.rows.length>1e3?N(q,O):(y(O),v(q),r?.(q,O))},[w,g,r,p.rows.length,N]),z=_.useMemo(()=>qL(g,M),[g,M]),B=_.useMemo(()=>p.rows.length>1e3?GL(p.rows,z):Qg(p.rows,z),[p.rows,z]),R=_.useMemo(()=>o?WL(B,S.currentPage,S.pageSize):B,[B,o,S.currentPage,S.pageSize]),F={itemHeight:48,overscan:5,containerHeight:u},U=_.useMemo(()=>s?XL(T,F.containerHeight,F.itemHeight,R.length,F.overscan):{startIndex:0,endIndex:R.length-1},[T,s,R.length,F]),W=_.useCallback(q=>{s&&k(q.currentTarget.scrollTop)},[s]),j=_.useCallback(q=>{E(G=>({...G,currentPage:q}))},[]),V=_.useCallback(q=>{if(!(!o||!(q.target.closest(".sortable-table-wrapper")===q.currentTarget)))switch(q.key){case"ArrowLeft":S.currentPage>1&&(q.preventDefault(),q.stopPropagation(),j(S.currentPage-1));break;case"ArrowRight":S.currentPage<S.totalPages&&(q.preventDefault(),q.stopPropagation(),j(S.currentPage+1));break;case"Home":S.currentPage>1&&(q.preventDefault(),q.stopPropagation(),j(1));break;case"End":S.currentPage<S.totalPages&&(q.preventDefault(),q.stopPropagation(),j(S.totalPages));break}},[o,S.currentPage,S.totalPages,j]);_.useEffect(()=>{o&&E(q=>cS(B.length,q.currentPage,a))},[B.length,o,a]),_.useEffect(()=>{c&&f&&S.currentPage>=S.totalPages-1&&f(S.currentPage+1)},[c,f,S.currentPage,S.totalPages]);const I=()=>o?x.jsxs("div",{className:"sortable-table-pagination",children:[x.jsx("button",{onClick:()=>j(S.currentPage-1),disabled:S.currentPage<=1,className:"pagination-button",children:"Previous"}),x.jsxs("span",{className:"pagination-info",children:["Page ",S.currentPage," of ",S.totalPages,"(",S.totalRows," total rows)"]}),x.jsx("button",{onClick:()=>j(S.currentPage+1),disabled:S.currentPage>=S.totalPages,className:"pagination-button",children:"Next"})]}):null,H=()=>{const q=s?R.slice(U.startIndex,U.endIndex+1):R;return x.jsxs(Vz,{children:[s&&x.jsx(id,{style:{height:U.startIndex*F.itemHeight},children:x.jsx(od,{colSpan:p.header.length})}),q.map((G,O)=>{const Y=s?U.startIndex+O:O;return x.jsx(id,{children:G.map((Z,L)=>x.jsx(od,{className:L===0?"sortable-table-index-cell":"sortable-table-data-cell",children:Z},`${e.index?.[Y]||Y}-${L}`))},e.index?.[Y]||Y)}),s&&x.jsx(id,{style:{height:(R.length-U.endIndex-1)*F.itemHeight},children:x.jsx(od,{colSpan:p.header.length})})]})};return x.jsxs("div",{className:"sortable-table-wrapper",onKeyDown:V,tabIndex:o?0:-1,role:o?"application":void 0,"aria-label":o?"Sortable table with pagination":void 0,children:[x.jsx(Zz,{className:`sortable-table-container ${t}`,ref:A,onScroll:W,style:s?{height:u}:void 0,children:x.jsxs(Lz,{size:n,children:[x.jsx(nL,{className:"sortable-table-head",children:x.jsx(id,{className:"sortable-table-header-row",children:p.header.map(q=>x.jsx(od,{className:"sortable-table-header-cell","aria-label":`Sort by ${q}`,children:x.jsx(VL,{active:w===q,direction:w===q?g:"asc",onClick:()=>P(q),className:"sortable-table-sort-label",sx:{"& .MuiTableSortLabel-icon":{color:"inherit !important"}},children:q})},q))})}),H()]})}),I()]})};fS.displayName="SortableTable";function xe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}function dS(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function ud(...e){return t=>{let n=!1;const r=e.map(o=>{const a=dS(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){const a=r[o];typeof a=="function"?a():dS(e[o],null)}}}}function yt(...e){return _.useCallback(ud(...e),e)}function ZL(e,t){const n=_.createContext(t),r=a=>{const{children:s,...u}=a,c=_.useMemo(()=>u,Object.values(u));return x.jsx(n.Provider,{value:c,children:s})};r.displayName=e+"Provider";function o(a){const s=_.useContext(n);if(s)return s;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[r,o]}function Jr(e,t=[]){let n=[];function r(a,s){const u=_.createContext(s),c=n.length;n=[...n,s];const f=p=>{const{scope:g,children:y,...w}=p,v=g?.[e]?.[c]||u,S=_.useMemo(()=>w,Object.values(w));return x.jsx(v.Provider,{value:S,children:y})};f.displayName=a+"Provider";function h(p,g){const y=g?.[e]?.[c]||u,w=_.useContext(y);if(w)return w;if(s!==void 0)return s;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[f,h]}const o=()=>{const a=n.map(s=>_.createContext(s));return function(u){const c=u?.[e]||a;return _.useMemo(()=>({[`__scope${e}`]:{...u,[e]:c}}),[u,c])}};return o.scopeName=e,[r,QL(o,...t)]}function QL(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const s=r.reduce((u,{useScope:c,scopeName:f})=>{const p=c(a)[`__scope${f}`];return{...u,...p}},{});return _.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var Po=globalThis?.document?_.useLayoutEffect:()=>{},JL=ls[" useId ".trim().toString()]||(()=>{}),eF=0;function eo(e){const[t,n]=_.useState(JL());return Po(()=>{n(r=>r??String(eF++))},[e]),e||(t?`radix-${t}`:"")}var tF=ls[" useInsertionEffect ".trim().toString()]||Po;function wi({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,a,s]=nF({defaultProp:t,onChange:n}),u=e!==void 0,c=u?e:o;{const h=_.useRef(e!==void 0);_.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,r])}const f=_.useCallback(h=>{if(u){const p=rF(h)?h(e):h;p!==e&&s.current?.(p)}else a(h)},[u,e,a,s]);return[c,f]}function nF({defaultProp:e,onChange:t}){const[n,r]=_.useState(e),o=_.useRef(n),a=_.useRef(t);return tF(()=>{a.current=t},[t]),_.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function rF(e){return typeof e=="function"}function _s(e){const t=oF(e),n=_.forwardRef((r,o)=>{const{children:a,...s}=r,u=_.Children.toArray(a),c=u.find(aF);if(c){const f=c.props.children,h=u.map(p=>p===c?_.Children.count(f)>1?_.Children.only(null):_.isValidElement(f)?f.props.children:null:p);return x.jsx(t,{...s,ref:o,children:_.isValidElement(f)?_.cloneElement(f,void 0,h):null})}return x.jsx(t,{...s,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function oF(e){const t=_.forwardRef((n,r)=>{const{children:o,...a}=n;if(_.isValidElement(o)){const s=lF(o),u=sF(a,o.props);return o.type!==_.Fragment&&(u.ref=r?ud(r,s):s),_.cloneElement(o,u)}return _.Children.count(o)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var iF=Symbol("radix.slottable");function aF(e){return _.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===iF}function sF(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...u)=>{const c=a(...u);return o(...u),c}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function lF(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var uF=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ue=uF.reduce((e,t)=>{const n=_s(`Primitive.${t}`),r=_.forwardRef((o,a)=>{const{asChild:s,...u}=o,c=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(c,{...u,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Jg(e,t){e&&cs.flushSync(()=>e.dispatchEvent(t))}function Mn(e){const t=_.useRef(e);return _.useEffect(()=>{t.current=e}),_.useMemo(()=>(...n)=>t.current?.(...n),[])}function cF(e,t=globalThis?.document){const n=Mn(e);_.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var fF="DismissableLayer",e0="dismissableLayer.update",dF="dismissableLayer.pointerDownOutside",hF="dismissableLayer.focusOutside",hS,pS=_.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),cu=_.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:u,...c}=e,f=_.useContext(pS),[h,p]=_.useState(null),g=h?.ownerDocument??globalThis?.document,[,y]=_.useState({}),w=yt(t,P=>p(P)),v=Array.from(f.layers),[S]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),E=v.indexOf(S),T=h?v.indexOf(h):-1,k=f.layersWithOutsidePointerEventsDisabled.size>0,A=T>=E,M=mF(P=>{const z=P.target,B=[...f.branches].some(R=>R.contains(z));!A||B||(o?.(P),s?.(P),P.defaultPrevented||u?.())},g),N=gF(P=>{const z=P.target;[...f.branches].some(R=>R.contains(z))||(a?.(P),s?.(P),P.defaultPrevented||u?.())},g);return cF(P=>{T===f.layers.size-1&&(r?.(P),!P.defaultPrevented&&u&&(P.preventDefault(),u()))},g),_.useEffect(()=>{if(h)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(hS=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),gS(),()=>{n&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=hS)}},[h,g,n,f]),_.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),gS())},[h,f]),_.useEffect(()=>{const P=()=>y({});return document.addEventListener(e0,P),()=>document.removeEventListener(e0,P)},[]),x.jsx(Ue.div,{...c,ref:w,style:{pointerEvents:k?A?"auto":"none":void 0,...e.style},onFocusCapture:xe(e.onFocusCapture,N.onFocusCapture),onBlurCapture:xe(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:xe(e.onPointerDownCapture,M.onPointerDownCapture)})});cu.displayName=fF;var pF="DismissableLayerBranch",mS=_.forwardRef((e,t)=>{const n=_.useContext(pS),r=_.useRef(null),o=yt(t,r);return _.useEffect(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),x.jsx(Ue.div,{...e,ref:o})});mS.displayName=pF;function mF(e,t=globalThis?.document){const n=Mn(e),r=_.useRef(!1),o=_.useRef(()=>{});return _.useEffect(()=>{const a=u=>{if(u.target&&!r.current){let c=function(){yS(dF,n,f,{discrete:!0})};const f={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function gF(e,t=globalThis?.document){const n=Mn(e),r=_.useRef(!1);return _.useEffect(()=>{const o=a=>{a.target&&!r.current&&yS(hF,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function gS(){const e=new CustomEvent(e0);document.dispatchEvent(e)}function yS(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Jg(o,a):o.dispatchEvent(a)}var yF=cu,vF=mS,t0="focusScope.autoFocusOnMount",n0="focusScope.autoFocusOnUnmount",vS={bubbles:!1,cancelable:!0},bF="FocusScope",cd=_.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...s}=e,[u,c]=_.useState(null),f=Mn(o),h=Mn(a),p=_.useRef(null),g=yt(t,v=>c(v)),y=_.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;_.useEffect(()=>{if(r){let v=function(k){if(y.paused||!u)return;const A=k.target;u.contains(A)?p.current=A:_i(p.current,{select:!0})},S=function(k){if(y.paused||!u)return;const A=k.relatedTarget;A!==null&&(u.contains(A)||_i(p.current,{select:!0}))},E=function(k){if(document.activeElement===document.body)for(const M of k)M.removedNodes.length>0&&_i(u)};document.addEventListener("focusin",v),document.addEventListener("focusout",S);const T=new MutationObserver(E);return u&&T.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",S),T.disconnect()}}},[r,u,y.paused]),_.useEffect(()=>{if(u){wS.add(y);const v=document.activeElement;if(!u.contains(v)){const E=new CustomEvent(t0,vS);u.addEventListener(t0,f),u.dispatchEvent(E),E.defaultPrevented||(xF(CF(bS(u)),{select:!0}),document.activeElement===v&&_i(u))}return()=>{u.removeEventListener(t0,f),setTimeout(()=>{const E=new CustomEvent(n0,vS);u.addEventListener(n0,h),u.dispatchEvent(E),E.defaultPrevented||_i(v??document.body,{select:!0}),u.removeEventListener(n0,h),wS.remove(y)},0)}}},[u,f,h,y]);const w=_.useCallback(v=>{if(!n&&!r||y.paused)return;const S=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,E=document.activeElement;if(S&&E){const T=v.currentTarget,[k,A]=wF(T);k&&A?!v.shiftKey&&E===A?(v.preventDefault(),n&&_i(k,{select:!0})):v.shiftKey&&E===k&&(v.preventDefault(),n&&_i(A,{select:!0})):E===T&&v.preventDefault()}},[n,r,y.paused]);return x.jsx(Ue.div,{tabIndex:-1,...s,ref:g,onKeyDown:w})});cd.displayName=bF;function xF(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(_i(r,{select:t}),document.activeElement!==n)return}function wF(e){const t=bS(e),n=xS(t,e),r=xS(t.reverse(),e);return[n,r]}function bS(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function xS(e,t){for(const n of e)if(!_F(n,{upTo:t}))return n}function _F(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function SF(e){return e instanceof HTMLInputElement&&"select"in e}function _i(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&SF(e)&&t&&e.select()}}var wS=EF();function EF(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=_S(e,t),e.unshift(t)},remove(t){e=_S(e,t),e[0]?.resume()}}}function _S(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function CF(e){return e.filter(t=>t.tagName!=="A")}var kF="Portal",fd=_.forwardRef((e,t)=>{const{container:n,...r}=e,[o,a]=_.useState(!1);Po(()=>a(!0),[]);const s=n||o&&globalThis?.document?.body;return s?Rj.createPortal(x.jsx(Ue.div,{...r,ref:t}),s):null});fd.displayName=kF;function TF(e,t){return _.useReducer((n,r)=>t[n][r]??n,e)}var Rr=e=>{const{present:t,children:n}=e,r=AF(t),o=typeof n=="function"?n({present:r.isPresent}):_.Children.only(n),a=yt(r.ref,RF(o));return typeof n=="function"||r.isPresent?_.cloneElement(o,{ref:a}):null};Rr.displayName="Presence";function AF(e){const[t,n]=_.useState(),r=_.useRef(null),o=_.useRef(e),a=_.useRef("none"),s=e?"mounted":"unmounted",[u,c]=TF(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return _.useEffect(()=>{const f=dd(r.current);a.current=u==="mounted"?f:"none"},[u]),Po(()=>{const f=r.current,h=o.current;if(h!==e){const g=a.current,y=dd(f);e?c("MOUNT"):y==="none"||f?.display==="none"?c("UNMOUNT"):c(h&&g!==y?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,c]),Po(()=>{if(t){let f;const h=t.ownerDocument.defaultView??window,p=y=>{const v=dd(r.current).includes(y.animationName);if(y.target===t&&v&&(c("ANIMATION_END"),!o.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",f=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},g=y=>{y.target===t&&(a.current=dd(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:_.useCallback(f=>{r.current=f?getComputedStyle(f):null,n(f)},[])}}function dd(e){return e?.animationName||"none"}function RF(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var r0=0;function o0(){_.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??SS()),document.body.insertAdjacentElement("beforeend",e[1]??SS()),r0++,()=>{r0===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),r0--}},[])}function SS(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var to=function(){return to=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},to.apply(this,arguments)};function ES(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function hd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var pd="right-scroll-bar-position",md="width-before-scroll-bar",MF="with-scroll-bars-hidden",OF="--removed-body-scroll-bar-size";function i0(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function NF(e,t){var n=_.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var DF=typeof window<"u"?_.useLayoutEffect:_.useEffect,CS=new WeakMap;function PF(e,t){var n=NF(null,function(r){return e.forEach(function(o){return i0(o,r)})});return DF(function(){var r=CS.get(n);if(r){var o=new Set(r),a=new Set(e),s=n.current;o.forEach(function(u){a.has(u)||i0(u,null)}),a.forEach(function(u){o.has(u)||i0(u,s)})}CS.set(n,e)},[e]),n}function jF(e){return e}function IF(e,t){t===void 0&&(t=jF);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var s=t(a,r);return n.push(s),function(){n=n.filter(function(u){return u!==s})}},assignSyncMedium:function(a){for(r=!0;n.length;){var s=n;n=[],s.forEach(a)}n={push:function(u){return a(u)},filter:function(){return n}}},assignMedium:function(a){r=!0;var s=[];if(n.length){var u=n;n=[],u.forEach(a),s=n}var c=function(){var h=s;s=[],h.forEach(a)},f=function(){return Promise.resolve().then(c)};f(),n={push:function(h){s.push(h),f()},filter:function(h){return s=s.filter(h),n}}}};return o}function zF(e){e===void 0&&(e={});var t=IF(null);return t.options=to({async:!0,ssr:!1},e),t}var kS=function(e){var t=e.sideCar,n=ES(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return _.createElement(r,to({},n))};kS.isSideCarExport=!0;function LF(e,t){return e.useMedium(t),kS}var TS=zF(),a0=function(){},gd=_.forwardRef(function(e,t){var n=_.useRef(null),r=_.useState({onScrollCapture:a0,onWheelCapture:a0,onTouchMoveCapture:a0}),o=r[0],a=r[1],s=e.forwardProps,u=e.children,c=e.className,f=e.removeScrollBar,h=e.enabled,p=e.shards,g=e.sideCar,y=e.noRelative,w=e.noIsolation,v=e.inert,S=e.allowPinchZoom,E=e.as,T=E===void 0?"div":E,k=e.gapMode,A=ES(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=g,N=PF([n,t]),P=to(to({},A),o);return _.createElement(_.Fragment,null,h&&_.createElement(M,{sideCar:TS,removeScrollBar:f,shards:p,noRelative:y,noIsolation:w,inert:v,setCallbacks:a,allowPinchZoom:!!S,lockRef:n,gapMode:k}),s?_.cloneElement(_.Children.only(u),to(to({},P),{ref:N})):_.createElement(T,to({},P,{className:c,ref:N}),u))});gd.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},gd.classNames={fullWidth:md,zeroRight:pd};var FF=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $F(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=FF();return t&&e.setAttribute("nonce",t),e}function BF(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function HF(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var VF=function(){var e=0,t=null;return{add:function(n){e==0&&(t=$F())&&(BF(t,n),HF(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},UF=function(){var e=VF();return function(t,n){_.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},AS=function(){var e=UF(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},qF={left:0,top:0,right:0,gap:0},s0=function(e){return parseInt(e||"",10)||0},GF=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[s0(n),s0(r),s0(o)]},YF=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return qF;var t=GF(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},WF=AS(),Ss="data-scroll-locked",XF=function(e,t,n,r){var o=e.left,a=e.top,s=e.right,u=e.gap;return n===void 0&&(n="margin"),`
146
146
  .`.concat(MF,` {
147
147
  overflow: hidden `).concat(r,`;
148
148
  padding-right: `).concat(u,"px ").concat(r,`;
@@ -759,7 +759,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
759
759
  * content-type
760
760
  * Copyright(c) 2015 Douglas Christopher Wilson
761
761
  * MIT Licensed
762
- */var LT;function bG(){if(LT)return uh;LT=1;var e=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,t=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/\\([\u000b\u0020-\u00ff])/g,o=/([\\"])/g,a=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;uh.format=s,uh.parse=u;function s(p){if(!p||typeof p!="object")throw new TypeError("argument obj is required");var g=p.parameters,y=p.type;if(!y||!a.test(y))throw new TypeError("invalid type");var w=y;if(g&&typeof g=="object")for(var v,S=Object.keys(g).sort(),E=0;E<S.length;E++){if(v=S[E],!n.test(v))throw new TypeError("invalid parameter name");w+="; "+v+"="+f(g[v])}return w}function u(p){if(!p)throw new TypeError("argument string is required");var g=typeof p=="object"?c(p):p;if(typeof g!="string")throw new TypeError("argument string is required to be a string");var y=g.indexOf(";"),w=y!==-1?g.slice(0,y).trim():g.trim();if(!a.test(w))throw new TypeError("invalid media type");var v=new h(w.toLowerCase());if(y!==-1){var S,E,T;for(e.lastIndex=y;E=e.exec(g);){if(E.index!==y)throw new TypeError("invalid parameter format");y+=E[0].length,S=E[1].toLowerCase(),T=E[2],T.charCodeAt(0)===34&&(T=T.slice(1,-1),T.indexOf("\\")!==-1&&(T=T.replace(r,"$1"))),v.parameters[S]=T}if(y!==g.length)throw new TypeError("invalid parameter format")}return v}function c(p){var g;if(typeof p.getHeader=="function"?g=p.getHeader("content-type"):typeof p.headers=="object"&&(g=p.headers&&p.headers["content-type"]),typeof g!="string")throw new TypeError("content-type header is missing from object");return g}function f(p){var g=String(p);if(n.test(g))return g;if(g.length>0&&!t.test(g))throw new TypeError("invalid parameter value");return'"'+g.replace(o,"\\$1")+'"'}function h(p){this.parameters=Object.create(null),this.type=p}return uh}var xG=bG(),$s=new Map,FT=function(t){return t.cloneNode(!0)},$T=function(){return window.location.protocol==="file:"},BT=function(t,n,r){var o=new XMLHttpRequest;o.onreadystatechange=function(){try{if(!/\.svg/i.test(t)&&o.readyState===2){var a=o.getResponseHeader("Content-Type");if(!a)throw new Error("Content type not found");var s=xG.parse(a).type;if(!(s==="image/svg+xml"||s==="text/plain"))throw new Error("Invalid content type: ".concat(s))}if(o.readyState===4){if(o.status===404||o.responseXML===null)throw new Error($T()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+t);if(o.status===200||$T()&&o.status===0)r(null,o);else throw new Error("There was a problem injecting the SVG: "+o.status+" "+o.statusText)}}catch(u){if(o.abort(),u instanceof Error)r(u,o);else throw u}},o.open("GET",t),o.withCredentials=n,o.overrideMimeType&&o.overrideMimeType("text/xml"),o.send()},Mi={},HT=function(t,n){Mi[t]=Mi[t]||[],Mi[t].push(n)},wG=function(t){for(var n=function(s,u){setTimeout(function(){if(Array.isArray(Mi[t])){var c=$s.get(t),f=Mi[t][s];c instanceof SVGSVGElement&&f(null,FT(c)),c instanceof Error&&f(c),s===Mi[t].length-1&&delete Mi[t]}},0)},r=0,o=Mi[t].length;r<o;r++)n(r)},_G=function(t,n,r){if($s.has(t)){var o=$s.get(t);if(o===void 0){HT(t,r);return}if(o instanceof SVGSVGElement){r(null,FT(o));return}}$s.set(t,void 0),HT(t,r),BT(t,n,function(a,s){var u;a?$s.set(t,a):((u=s.responseXML)===null||u===void 0?void 0:u.documentElement)instanceof SVGSVGElement&&$s.set(t,s.responseXML.documentElement),wG(t)})},SG=function(t,n,r){BT(t,n,function(o,a){var s;o?r(o):((s=a.responseXML)===null||s===void 0?void 0:s.documentElement)instanceof SVGSVGElement&&r(null,a.responseXML.documentElement)})},EG=0,CG=function(){return++EG},lo=[],VT={},kG="http://www.w3.org/2000/svg",Ry="http://www.w3.org/1999/xlink",UT=function(t,n,r,o,a,s,u){var c=t.getAttribute("data-src")||t.getAttribute("src");if(!c){u(new Error("Invalid data-src or src attribute"));return}if(lo.indexOf(t)!==-1){lo.splice(lo.indexOf(t),1),t=null;return}lo.push(t),t.setAttribute("src","");var f=o?_G:SG;f(c,a,function(h,p){if(!p){lo.splice(lo.indexOf(t),1),t=null,u(h);return}var g=t.getAttribute("id");g&&p.setAttribute("id",g);var y=t.getAttribute("title");y&&p.setAttribute("title",y);var w=t.getAttribute("width");w&&p.setAttribute("width",w);var v=t.getAttribute("height");v&&p.setAttribute("height",v);var S=Array.from(new Set(hd(hd(hd([],(p.getAttribute("class")||"").split(" "),!0),["injected-svg"],!1),(t.getAttribute("class")||"").split(" "),!0))).join(" ").trim();p.setAttribute("class",S);var E=t.getAttribute("style");E&&p.setAttribute("style",E),p.setAttribute("data-src",c);var T=[].filter.call(t.attributes,function(q){return/^data-\w[\w-]*$/.test(q.name)});if(Array.prototype.forEach.call(T,function(q){q.name&&q.value&&p.setAttribute(q.name,q.value)}),r){var k={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]},A,M,N,P,z;Object.keys(k).forEach(function(q){A=q,N=k[q],M=p.querySelectorAll(A+"[id]");for(var G=function(L,te){P=M[L].id,z=P+"-"+CG();var he;Array.prototype.forEach.call(N,function(Te){he=p.querySelectorAll("["+Te+'*="'+P+'"]');for(var _e=0,Xe=he.length;_e<Xe;_e++){var Ct=he[_e].getAttribute(Te);Ct&&!Ct.match(new RegExp('url\\("?#'+P+'"?\\)'))||he[_e].setAttribute(Te,"url(#"+z+")")}});for(var oe=p.querySelectorAll("[*|href]"),de=[],le=0,ye=oe.length;le<ye;le++){var je=oe[le].getAttributeNS(Ry,"href");je&&je.toString()==="#"+M[L].id&&de.push(oe[le])}for(var Ne=0,we=de.length;Ne<we;Ne++)de[Ne].setAttributeNS(Ry,"href","#"+z);M[L].id=z},O=0,Y=M.length;O<Y;O++)G(O)})}p.removeAttribute("xmlns:a");for(var B=p.querySelectorAll("script"),R=[],F,U,W=0,j=B.length;W<j;W++)U=B[W].getAttribute("type"),(!U||U==="application/ecmascript"||U==="application/javascript"||U==="text/javascript")&&(F=B[W].innerText||B[W].textContent,F&&R.push(F),p.removeChild(B[W]));if(R.length>0&&(n==="always"||n==="once"&&!VT[c])){for(var V=0,I=R.length;V<I;V++)new Function(R[V])(window);VT[c]=!0}var H=p.querySelectorAll("style");if(Array.prototype.forEach.call(H,function(q){q.textContent+=""}),p.setAttribute("xmlns",kG),p.setAttribute("xmlns:xlink",Ry),s(p),!t.parentNode){lo.splice(lo.indexOf(t),1),t=null,u(new Error("Parent node is null"));return}t.parentNode.replaceChild(p,t),lo.splice(lo.indexOf(t),1),t=null,u(null,p)})},TG=function(t,n){var r=n===void 0?{}:n,o=r.afterAll,a=o===void 0?function(){}:o,s=r.afterEach,u=s===void 0?function(){}:s,c=r.beforeEach,f=c===void 0?function(){}:c,h=r.cacheRequests,p=h===void 0?!0:h,g=r.evalScripts,y=g===void 0?"never":g,w=r.httpRequestWithCredentials,v=w===void 0?!1:w,S=r.renumerateIRIElements,E=S===void 0?!0:S;if(t&&"length"in t)for(var T=0,k=0,A=t.length;k<A;k++)UT(t[k],y,E,p,v,f,function(M,N){u(M,N),t&&"length"in t&&t.length===++T&&a(T)});else t?UT(t,y,E,p,v,f,function(M,N){u(M,N),a(1),t=null}):a(0)},AG=function(t){var n=t?.ownerDocument||document;return n.defaultView||window},RG=function(t,n){for(var r in t)if(!(r in n))return!0;for(var o in n)if(t[o]!==n[o])return!0;return!1},MG=["afterInjection","beforeInjection","desc","evalScripts","fallback","httpRequestWithCredentials","loading","renumerateIRIElements","src","title","useRequestCache","wrapper"],ch="http://www.w3.org/2000/svg",qT="http://www.w3.org/1999/xlink",My=function(e){function t(){for(var r,o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return r=e.call.apply(e,[this].concat(a))||this,r.initialState={hasError:!1,isLoading:!0},r.state=r.initialState,r._isMounted=!1,r.reactWrapper=void 0,r.nonReactWrapper=void 0,r.refCallback=function(u){r.reactWrapper=u},r}iS(t,e);var n=t.prototype;return n.renderSVG=function(){var o=this;if(this.reactWrapper instanceof AG(this.reactWrapper).Node){var a=this.props,s=a.desc,u=a.evalScripts,c=a.httpRequestWithCredentials,f=a.renumerateIRIElements,h=a.src,p=a.title,g=a.useRequestCache,y=this.props.onError,w=this.props.beforeInjection,v=this.props.afterInjection,S=this.props.wrapper,E,T;S==="svg"?(E=document.createElementNS(ch,S),E.setAttribute("xmlns",ch),E.setAttribute("xmlns:xlink",qT),T=document.createElementNS(ch,S)):(E=document.createElement(S),T=document.createElement(S)),E.appendChild(T),T.dataset.src=h,this.nonReactWrapper=this.reactWrapper.appendChild(E);var k=function(P){if(o.removeSVG(),!o._isMounted){y(P);return}o.setState(function(){return{hasError:!0,isLoading:!1}},function(){y(P)})},A=function(P,z){if(P){k(P);return}o._isMounted&&o.setState(function(){return{isLoading:!1}},function(){try{v(z)}catch(B){k(B)}})},M=function(P){if(P.setAttribute("role","img"),s){var z=P.querySelector(":scope > desc");z&&P.removeChild(z);var B=document.createElement("desc");B.innerHTML=s,P.prepend(B)}if(p){var R=P.querySelector(":scope > title");R&&P.removeChild(R);var F=document.createElement("title");F.innerHTML=p,P.prepend(F)}try{w(P)}catch(U){k(U)}};TG(T,{afterEach:A,beforeEach:M,cacheRequests:g,evalScripts:u,httpRequestWithCredentials:c,renumerateIRIElements:f})}},n.removeSVG=function(){var o;(o=this.nonReactWrapper)!=null&&o.parentNode&&(this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper),this.nonReactWrapper=null)},n.componentDidMount=function(){this._isMounted=!0,this.renderSVG()},n.componentDidUpdate=function(o){var a=this;RG(Re({},o),this.props)&&this.setState(function(){return a.initialState},function(){a.removeSVG(),a.renderSVG()})},n.componentWillUnmount=function(){this._isMounted=!1,this.removeSVG()},n.render=function(){var o=this.props;o.afterInjection,o.beforeInjection,o.desc,o.evalScripts;var a=o.fallback;o.httpRequestWithCredentials;var s=o.loading;o.renumerateIRIElements,o.src,o.title,o.useRequestCache;var u=o.wrapper,c=qg(o,MG),f=u;return _.createElement(f,Re({},c,{ref:this.refCallback},u==="svg"?{xmlns:ch,xmlnsXlink:qT}:{}),this.state.isLoading&&s&&_.createElement(s,null),this.state.hasError&&a&&_.createElement(a,null))},t}(_.Component);My.defaultProps={afterInjection:function(){},beforeInjection:function(){},desc:"",evalScripts:"never",fallback:null,httpRequestWithCredentials:!1,loading:null,onError:function(){},renumerateIRIElements:!0,title:"",useRequestCache:!0,wrapper:"div"},My.propTypes={afterInjection:$t.func,beforeInjection:$t.func,desc:$t.string,evalScripts:$t.oneOf(["always","once","never"]),fallback:$t.oneOfType([$t.func,$t.object,$t.string]),httpRequestWithCredentials:$t.bool,loading:$t.oneOfType([$t.func,$t.object,$t.string]),onError:$t.func,renumerateIRIElements:$t.bool,src:$t.string.isRequired,title:$t.string,useRequestCache:$t.bool,wrapper:$t.oneOf(["div","span","svg"])};const Oy=({text:e="No image data provided"})=>x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:e}),OG=_.memo(({value:e,format:t="jpeg",alt:n="Base64 image",onError:r,onLoad:o,...a})=>{const[s,u]=_.useState(!1),[c,f]=_.useState(!0),h=_.useRef(null),p=_.useMemo(()=>{if(typeof e=="string")return e;if(e&&typeof e=="object"&&"data"in e){const v=e.data;if(v instanceof ArrayBuffer){const S=new Uint8Array(v);let E="";for(let T=0;T<S.byteLength;T++)E+=String.fromCharCode(S[T]);return btoa(E)}}return""},[e]),g=_.useMemo(()=>p?`data:image/${t};base64,${p}`:"",[p,t]),y=_.useCallback(v=>{u(!0),f(!1),r?.(v)},[r]),w=_.useCallback(()=>{f(!1),u(!1),o?.()},[o]);return _.useEffect(()=>{const v=h.current;if(v)return v.addEventListener("error",y),v.addEventListener("load",w),()=>{v.removeEventListener("error",y),v.removeEventListener("load",w)}},[y,w,e]),_.useEffect(()=>{u(!1),f(!0)},[e]),p?s?x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:"Failed to load base64 image"}):x.jsx("img",{ref:h,src:g,alt:n,className:`base64-image-renderer ${a.className||""} ${c?" loading":""}`,...a}):x.jsx(Oy,{})}),NG=_.memo(({value:e,alt:t="SVG image",onError:n,onLoad:r,...o})=>{const[a,s]=_.useState(!1),u=_.useMemo(()=>{if(!e)return"";try{return`data:image/svg+xml;base64,${btoa(e)}`}catch(f){return console.error("Failed to encode SVG to base64:",f),""}},[e]);_.useEffect(()=>{s(!1)},[e]);const c=_.useCallback(f=>{s(!0),n?.(f)},[n]);return e?a||!u?x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:"Failed to load SVG"}):x.jsx(My,{src:u,className:`svg-renderer ${o.className||""}`,style:{maxWidth:"100%",maxHeight:"100%",...o.style},beforeInjection:f=>{f.classList.add("svg-renderer"),f.setAttribute("style","max-width: 100%; max-height: 100%;"),f.setAttribute("width","100%"),f.setAttribute("height","100%"),f.setAttribute("aria-label",t);const h=()=>{s(!1),r?.()},p=g=>{s(!0),n?.(g)};try{f.addEventListener("load",h),f.addEventListener("error",p)}catch{h()}},onError:c}):x.jsx(Oy,{})}),DG=_.memo(({src:e,alt:t="Streaming image",onError:n,onLoad:r,...o})=>{const a=_.useRef(null),[s,u]=_.useState(!1),[c,f]=_.useState(!0);_.useEffect(()=>{a.current&&e&&(f(!0),u(!1),a.current.src=e)},[e]);const h=_.useCallback(g=>{u(!0),f(!1),n?.(g)},[n]),p=_.useCallback(()=>{f(!1),u(!1),r?.()},[r]);return _.useEffect(()=>{const g=a.current;if(g)return g.addEventListener("error",h),g.addEventListener("load",p),()=>{g.removeEventListener("error",h),g.removeEventListener("load",p)}},[h,p]),s?x.jsx(Oy,{text:"Failed to load image"}):x.jsx("img",{ref:a,className:`streaming-image ${o.className||""} ${c?" loading":""}`,alt:t,...o})});function fh(e){const t=e+"CollectionProvider",[n,r]=Jr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=v=>{const{scope:S,children:E}=v,T=Qt.useRef(null),k=Qt.useRef(new Map).current;return x.jsx(o,{scope:S,itemMap:k,collectionRef:T,children:E})};s.displayName=t;const u=e+"CollectionSlot",c=_s(u),f=Qt.forwardRef((v,S)=>{const{scope:E,children:T}=v,k=a(u,E),A=yt(S,k.collectionRef);return x.jsx(c,{ref:A,children:T})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",g=_s(h),y=Qt.forwardRef((v,S)=>{const{scope:E,children:T,...k}=v,A=Qt.useRef(null),M=yt(S,A),N=a(h,E);return Qt.useEffect(()=>(N.itemMap.set(A,{ref:A,...k}),()=>void N.itemMap.delete(A))),x.jsx(g,{[p]:"",ref:M,children:T})});y.displayName=h;function w(v){const S=a(e+"CollectionConsumer",v);return Qt.useCallback(()=>{const T=S.collectionRef.current;if(!T)return[];const k=Array.from(T.querySelectorAll(`[${p}]`));return Array.from(S.itemMap.values()).sort((N,P)=>k.indexOf(N.ref.current)-k.indexOf(P.ref.current))},[S.collectionRef,S.itemMap])}return[{Provider:s,Slot:f,ItemSlot:y},w,r]}var PG=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),jG="VisuallyHidden",Ny=_.forwardRef((e,t)=>x.jsx(Ue.span,{...e,ref:t,style:{...PG,...e.style}}));Ny.displayName=jG;var Dy="ToastProvider",[Py,IG,zG]=fh("Toast"),[GT,Spe]=Jr("Toast",[zG]),[LG,dh]=GT(Dy),YT=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:o="right",swipeThreshold:a=50,children:s}=e,[u,c]=_.useState(null),[f,h]=_.useState(0),p=_.useRef(!1),g=_.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${Dy}\`. Expected non-empty \`string\`.`),x.jsx(Py.Provider,{scope:t,children:x.jsx(LG,{scope:t,label:n,duration:r,swipeDirection:o,swipeThreshold:a,toastCount:f,viewport:u,onViewportChange:c,onToastAdd:_.useCallback(()=>h(y=>y+1),[]),onToastRemove:_.useCallback(()=>h(y=>y-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:s})})};YT.displayName=Dy;var WT="ToastViewport",FG=["F8"],jy="toast.viewportPause",Iy="toast.viewportResume",XT=_.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=FG,label:o="Notifications ({hotkey})",...a}=e,s=dh(WT,n),u=IG(n),c=_.useRef(null),f=_.useRef(null),h=_.useRef(null),p=_.useRef(null),g=yt(t,p,s.onViewportChange),y=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),w=s.toastCount>0;_.useEffect(()=>{const S=E=>{r.length!==0&&r.every(k=>E[k]||E.code===k)&&p.current?.focus()};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[r]),_.useEffect(()=>{const S=c.current,E=p.current;if(w&&S&&E){const T=()=>{if(!s.isClosePausedRef.current){const N=new CustomEvent(jy);E.dispatchEvent(N),s.isClosePausedRef.current=!0}},k=()=>{if(s.isClosePausedRef.current){const N=new CustomEvent(Iy);E.dispatchEvent(N),s.isClosePausedRef.current=!1}},A=N=>{!S.contains(N.relatedTarget)&&k()},M=()=>{S.contains(document.activeElement)||k()};return S.addEventListener("focusin",T),S.addEventListener("focusout",A),S.addEventListener("pointermove",T),S.addEventListener("pointerleave",M),window.addEventListener("blur",T),window.addEventListener("focus",k),()=>{S.removeEventListener("focusin",T),S.removeEventListener("focusout",A),S.removeEventListener("pointermove",T),S.removeEventListener("pointerleave",M),window.removeEventListener("blur",T),window.removeEventListener("focus",k)}}},[w,s.isClosePausedRef]);const v=_.useCallback(({tabbingDirection:S})=>{const T=u().map(k=>{const A=k.ref.current,M=[A,...QG(A)];return S==="forwards"?M:M.reverse()});return(S==="forwards"?T.reverse():T).flat()},[u]);return _.useEffect(()=>{const S=p.current;if(S){const E=T=>{const k=T.altKey||T.ctrlKey||T.metaKey;if(T.key==="Tab"&&!k){const M=document.activeElement,N=T.shiftKey;if(T.target===S&&N){f.current?.focus();return}const B=v({tabbingDirection:N?"backwards":"forwards"}),R=B.findIndex(F=>F===M);Fy(B.slice(R+1))?T.preventDefault():N?f.current?.focus():h.current?.focus()}};return S.addEventListener("keydown",E),()=>S.removeEventListener("keydown",E)}},[u,v]),x.jsxs(vF,{ref:c,role:"region","aria-label":o.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:w?void 0:"none"},children:[w&&x.jsx(zy,{ref:f,onFocusFromOutsideViewport:()=>{const S=v({tabbingDirection:"forwards"});Fy(S)}}),x.jsx(Py.Slot,{scope:n,children:x.jsx(Ue.ol,{tabIndex:-1,...a,ref:g})}),w&&x.jsx(zy,{ref:h,onFocusFromOutsideViewport:()=>{const S=v({tabbingDirection:"backwards"});Fy(S)}})]})});XT.displayName=WT;var KT="ToastFocusProxy",zy=_.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...o}=e,a=dh(KT,n);return x.jsx(Ny,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:s=>{const u=s.relatedTarget;!a.viewport?.contains(u)&&r()}})});zy.displayName=KT;var Au="Toast",$G="toast.swipeStart",BG="toast.swipeMove",HG="toast.swipeCancel",VG="toast.swipeEnd",ZT=_.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:o,onOpenChange:a,...s}=e,[u,c]=wi({prop:r,defaultProp:o??!0,onChange:a,caller:Au});return x.jsx(Rr,{present:n||u,children:x.jsx(GG,{open:u,...s,ref:t,onClose:()=>c(!1),onPause:Mn(e.onPause),onResume:Mn(e.onResume),onSwipeStart:xe(e.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:xe(e.onSwipeMove,f=>{const{x:h,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${h}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:xe(e.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:xe(e.onSwipeEnd,f=>{const{x:h,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${h}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),c(!1)})})})});ZT.displayName=Au;var[UG,qG]=GT(Au,{onClose(){}}),GG=_.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:o,open:a,onClose:s,onEscapeKeyDown:u,onPause:c,onResume:f,onSwipeStart:h,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:y,...w}=e,v=dh(Au,n),[S,E]=_.useState(null),T=yt(t,j=>E(j)),k=_.useRef(null),A=_.useRef(null),M=o||v.duration,N=_.useRef(0),P=_.useRef(M),z=_.useRef(0),{onToastAdd:B,onToastRemove:R}=v,F=Mn(()=>{S?.contains(document.activeElement)&&v.viewport?.focus(),s()}),U=_.useCallback(j=>{!j||j===1/0||(window.clearTimeout(z.current),N.current=new Date().getTime(),z.current=window.setTimeout(F,j))},[F]);_.useEffect(()=>{const j=v.viewport;if(j){const V=()=>{U(P.current),f?.()},I=()=>{const H=new Date().getTime()-N.current;P.current=P.current-H,window.clearTimeout(z.current),c?.()};return j.addEventListener(jy,I),j.addEventListener(Iy,V),()=>{j.removeEventListener(jy,I),j.removeEventListener(Iy,V)}}},[v.viewport,M,c,f,U]),_.useEffect(()=>{a&&!v.isClosePausedRef.current&&U(M)},[a,M,v.isClosePausedRef,U]),_.useEffect(()=>(B(),()=>R()),[B,R]);const W=_.useMemo(()=>S?oA(S):null,[S]);return v.viewport?x.jsxs(x.Fragment,{children:[W&&x.jsx(YG,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:W}),x.jsx(UG,{scope:n,onClose:F,children:cs.createPortal(x.jsx(Py.ItemSlot,{scope:n,children:x.jsx(yF,{asChild:!0,onEscapeKeyDown:xe(u,()=>{v.isFocusedToastEscapeKeyDownRef.current||F(),v.isFocusedToastEscapeKeyDownRef.current=!1}),children:x.jsx(Ue.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":v.swipeDirection,...w,ref:T,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:xe(e.onKeyDown,j=>{j.key==="Escape"&&(u?.(j.nativeEvent),j.nativeEvent.defaultPrevented||(v.isFocusedToastEscapeKeyDownRef.current=!0,F()))}),onPointerDown:xe(e.onPointerDown,j=>{j.button===0&&(k.current={x:j.clientX,y:j.clientY})}),onPointerMove:xe(e.onPointerMove,j=>{if(!k.current)return;const V=j.clientX-k.current.x,I=j.clientY-k.current.y,H=!!A.current,q=["left","right"].includes(v.swipeDirection),G=["left","up"].includes(v.swipeDirection)?Math.min:Math.max,O=q?G(0,V):0,Y=q?0:G(0,I),Z=j.pointerType==="touch"?10:2,L={x:O,y:Y},te={originalEvent:j,delta:L};H?(A.current=L,hh(BG,p,te,{discrete:!1})):iA(L,v.swipeDirection,Z)?(A.current=L,hh($G,h,te,{discrete:!1}),j.target.setPointerCapture(j.pointerId)):(Math.abs(V)>Z||Math.abs(I)>Z)&&(k.current=null)}),onPointerUp:xe(e.onPointerUp,j=>{const V=A.current,I=j.target;if(I.hasPointerCapture(j.pointerId)&&I.releasePointerCapture(j.pointerId),A.current=null,k.current=null,V){const H=j.currentTarget,q={originalEvent:j,delta:V};iA(V,v.swipeDirection,v.swipeThreshold)?hh(VG,y,q,{discrete:!0}):hh(HG,g,q,{discrete:!0}),H.addEventListener("click",G=>G.preventDefault(),{once:!0})}})})})}),v.viewport)})]}):null}),YG=e=>{const{__scopeToast:t,children:n,...r}=e,o=dh(Au,t),[a,s]=_.useState(!1),[u,c]=_.useState(!1);return KG(()=>s(!0)),_.useEffect(()=>{const f=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(f)},[]),u?null:x.jsx(fd,{asChild:!0,children:x.jsx(Ny,{...r,children:a&&x.jsxs(x.Fragment,{children:[o.label," ",n]})})})},WG="ToastTitle",QT=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});QT.displayName=WG;var XG="ToastDescription",JT=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});JT.displayName=XG;var eA="ToastAction",tA=_.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?x.jsx(rA,{altText:n,asChild:!0,children:x.jsx(Ly,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${eA}\`. Expected non-empty \`string\`.`),null)});tA.displayName=eA;var nA="ToastClose",Ly=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,o=qG(nA,n);return x.jsx(rA,{asChild:!0,children:x.jsx(Ue.button,{type:"button",...r,ref:t,onClick:xe(e.onClick,o.onClose)})})});Ly.displayName=nA;var rA=_.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...o}=e;return x.jsx(Ue.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...o,ref:t})});function oA(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),ZG(r)){const o=r.ariaHidden||r.hidden||r.style.display==="none",a=r.dataset.radixToastAnnounceExclude==="";if(!o)if(a){const s=r.dataset.radixToastAnnounceAlt;s&&t.push(s)}else t.push(...oA(r))}}),t}function hh(e,t,n,{discrete:r}){const o=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Jg(o,a):o.dispatchEvent(a)}var iA=(e,t,n=0)=>{const r=Math.abs(e.x),o=Math.abs(e.y),a=r>o;return t==="left"||t==="right"?a&&r>n:!a&&o>n};function KG(e=()=>{}){const t=Mn(e);Po(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function ZG(e){return e.nodeType===e.ELEMENT_NODE}function QG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Fy(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var JG=YT,eY=XT,tY=ZT,nY=QT,rY=JT,oY=tA,iY=Ly;const an=[];for(let e=0;e<256;++e)an.push((e+256).toString(16).slice(1));function aY(e,t=0){return(an[e[t+0]]+an[e[t+1]]+an[e[t+2]]+an[e[t+3]]+"-"+an[e[t+4]]+an[e[t+5]]+"-"+an[e[t+6]]+an[e[t+7]]+"-"+an[e[t+8]]+an[e[t+9]]+"-"+an[e[t+10]]+an[e[t+11]]+an[e[t+12]]+an[e[t+13]]+an[e[t+14]]+an[e[t+15]]).toLowerCase()}let $y;const sY=new Uint8Array(16);function lY(){if(!$y){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");$y=crypto.getRandomValues.bind(crypto)}return $y(sY)}const aA={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function By(e,t,n){if(aA.randomUUID&&!e)return aA.randomUUID();e=e||{};const r=e.random??e.rng?.()??lY();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,aY(r)}const sA=_.createContext(void 0),lA=_.createContext(void 0),uY=350,cY=({children:e,fixedHeight:t,duration:n=5e3,maxVisible:r=3,...o})=>{const[a,s]=_.useState(new Map),u=_.useRef(new Map),c=_.useRef(null),f=_.useRef(!0),h=_.useCallback(()=>{const E=Array.from(u.current).reverse();if(t){const T=t;E.forEach(([,k],A)=>{if(!k)return;k.setAttribute("data-front",String(A===0)),k.setAttribute("data-hidden",String(A>=r)),k.style.setProperty("--index",String(A)),k.style.setProperty("--height",`${t}px`),k.style.setProperty("--front-height",`${T}px`);const M=t*A;k.style.setProperty("--hover-offset-y",`-${M}px`)})}else{const T=E.map(([,A])=>{if(!A)return 0;const M=A.querySelector(".ToastInner");if(!M)return A.clientHeight;const N=M.style.height;M.style.height="auto";const P=A.clientHeight;return M.style.height=N,P}),k=T[0]||0;E.forEach(([,A],M)=>{if(!A)return;const N=T[M];A.setAttribute("data-front",String(M===0)),A.setAttribute("data-hidden",String(M>=r)),A.style.setProperty("--index",String(M)),A.style.setProperty("--height",`${N}px`),A.style.setProperty("--front-height",`${k}px`);const P=T.slice(0,M).reduce((z,B)=>z+B,0);A.style.setProperty("--hover-offset-y",`-${P}px`)})}},[t,r]),p=_.useCallback(E=>{s(T=>{const k=new Map(T);return k.set(By(),{...E,duration:E.duration||n,open:!0}),k})},[n]),g=_.useCallback(E=>{f.current&&s(T=>{const k=new Map(T);return k.delete(E),k})},[]),y=_.useCallback(E=>p({...E,status:E.status||"default"}),[p]),w=_.useCallback(E=>p({...E,status:"success"}),[p]),v=_.useCallback(E=>p({...E,status:"error"}),[p]);_.useEffect(()=>(f.current=!0,()=>{f.current=!1}),[]),_.useEffect(()=>{const E=c.current;if(E){const T=()=>{u.current.forEach(M=>{M.setAttribute("data-hovering","true")})},k=M=>{(!E.contains(M.target)||E===M.target)&&u.current.forEach(N=>{N.setAttribute("data-hovering","false")})},A=()=>{u.current.forEach(M=>{M.setAttribute("data-hovering","false")})};return E.addEventListener("pointermove",T),E.addEventListener("pointerleave",A),E.addEventListener("focusin",T),E.addEventListener("focusout",k),()=>{E.removeEventListener("pointermove",T),E.removeEventListener("pointerleave",A),E.removeEventListener("focusin",T),E.removeEventListener("focusout",k)}}},[]);const S=_.useMemo(()=>Object.assign(y,{success:w,error:v}),[y,w,v]);return x.jsx(sA.Provider,{value:S,children:x.jsx(lA.Provider,{value:_.useMemo(()=>({toastElementsMapRef:u,sortToasts:h}),[h]),children:x.jsxs(JG,{...o,children:[e,Array.from(a).map(([E,T])=>x.jsx(hY,{id:E,toast:T,onOpenChange:k=>{k||(u.current.delete(E),h(),s(A=>{const M=new Map(A),N=M.get(E);return N&&M.set(E,{...N,open:!1}),M}),setTimeout(()=>{g(E)},uY))}},E)),x.jsx(eY,{ref:c,className:"ToastViewport",style:t?{"--fixed-toast-height":`${t}px`}:void 0})]})})})},fY=()=>{const e=_.useContext(sA);if(e)return e;throw new Error("useToast must be used within Toasts")},dY=()=>{const e=_.useContext(lA);if(e)return e;throw new Error("useToastContext must be used within Toasts")},hY=({onOpenChange:e,toast:t,id:n,...r})=>{const o=_.useRef(null),a=dY(),{sortToasts:s,toastElementsMapRef:u}=a,c=u.current;return _.useLayoutEffect(()=>(o.current&&(c.set(n,o.current),s()),()=>{c.delete(n),s()}),[n,s,c]),x.jsx(tY,{...r,ref:o,type:t.type,duration:t.duration,className:"ToastRoot",onOpenChange:e,open:t.open,children:x.jsxs("div",{className:"ToastInner","data-status":t.status,children:[x.jsx(pY,{status:t.status}),t.title&&x.jsx(nY,{className:"ToastTitle",children:t.title}),x.jsx(rY,{className:"ToastDescription",children:t.description}),t.action&&x.jsx(oY,{className:"ToastAction Button small green",altText:t.action.altText,onClick:t.action.onClick,asChild:!0,children:x.jsx("button",{children:t.action.label})}),x.jsx(iY,{"aria-label":"Close",className:"ToastClose",children:x.jsx($d,{style:{fontSize:"12px"}})})]})})},pY=({status:e})=>e!=="default"&&e?x.jsxs("div",{style:{gridArea:"icon",alignSelf:"start"},children:[e==="success"&&x.jsx(MB,{style:{color:"#61d345",fontSize:"20px"}}),e==="error"&&x.jsx(OB,{style:{color:"#ff4b4b",fontSize:"20px"}})]}):null,mY={},uA=e=>{let t;const n=new Set,r=(h,p)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=p??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(w=>w(t,y))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>f,subscribe:h=>(n.add(h),()=>n.delete(h)),destroy:()=>{(mY?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},f=t=e(r,o,c);return c},cA=e=>e?uA(e):uA;var Hy={exports:{}},Vy={},Uy={exports:{}},qy={};/**
762
+ */var LT;function bG(){if(LT)return uh;LT=1;var e=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,t=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/\\([\u000b\u0020-\u00ff])/g,o=/([\\"])/g,a=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;uh.format=s,uh.parse=u;function s(p){if(!p||typeof p!="object")throw new TypeError("argument obj is required");var g=p.parameters,y=p.type;if(!y||!a.test(y))throw new TypeError("invalid type");var w=y;if(g&&typeof g=="object")for(var v,S=Object.keys(g).sort(),E=0;E<S.length;E++){if(v=S[E],!n.test(v))throw new TypeError("invalid parameter name");w+="; "+v+"="+f(g[v])}return w}function u(p){if(!p)throw new TypeError("argument string is required");var g=typeof p=="object"?c(p):p;if(typeof g!="string")throw new TypeError("argument string is required to be a string");var y=g.indexOf(";"),w=y!==-1?g.slice(0,y).trim():g.trim();if(!a.test(w))throw new TypeError("invalid media type");var v=new h(w.toLowerCase());if(y!==-1){var S,E,T;for(e.lastIndex=y;E=e.exec(g);){if(E.index!==y)throw new TypeError("invalid parameter format");y+=E[0].length,S=E[1].toLowerCase(),T=E[2],T.charCodeAt(0)===34&&(T=T.slice(1,-1),T.indexOf("\\")!==-1&&(T=T.replace(r,"$1"))),v.parameters[S]=T}if(y!==g.length)throw new TypeError("invalid parameter format")}return v}function c(p){var g;if(typeof p.getHeader=="function"?g=p.getHeader("content-type"):typeof p.headers=="object"&&(g=p.headers&&p.headers["content-type"]),typeof g!="string")throw new TypeError("content-type header is missing from object");return g}function f(p){var g=String(p);if(n.test(g))return g;if(g.length>0&&!t.test(g))throw new TypeError("invalid parameter value");return'"'+g.replace(o,"\\$1")+'"'}function h(p){this.parameters=Object.create(null),this.type=p}return uh}var xG=bG(),$s=new Map,FT=function(t){return t.cloneNode(!0)},$T=function(){return window.location.protocol==="file:"},BT=function(t,n,r){var o=new XMLHttpRequest;o.onreadystatechange=function(){try{if(!/\.svg/i.test(t)&&o.readyState===2){var a=o.getResponseHeader("Content-Type");if(!a)throw new Error("Content type not found");var s=xG.parse(a).type;if(!(s==="image/svg+xml"||s==="text/plain"))throw new Error("Invalid content type: ".concat(s))}if(o.readyState===4){if(o.status===404||o.responseXML===null)throw new Error($T()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+t);if(o.status===200||$T()&&o.status===0)r(null,o);else throw new Error("There was a problem injecting the SVG: "+o.status+" "+o.statusText)}}catch(u){if(o.abort(),u instanceof Error)r(u,o);else throw u}},o.open("GET",t),o.withCredentials=n,o.overrideMimeType&&o.overrideMimeType("text/xml"),o.send()},Mi={},HT=function(t,n){Mi[t]=Mi[t]||[],Mi[t].push(n)},wG=function(t){for(var n=function(s,u){setTimeout(function(){if(Array.isArray(Mi[t])){var c=$s.get(t),f=Mi[t][s];c instanceof SVGSVGElement&&f(null,FT(c)),c instanceof Error&&f(c),s===Mi[t].length-1&&delete Mi[t]}},0)},r=0,o=Mi[t].length;r<o;r++)n(r)},_G=function(t,n,r){if($s.has(t)){var o=$s.get(t);if(o===void 0){HT(t,r);return}if(o instanceof SVGSVGElement){r(null,FT(o));return}}$s.set(t,void 0),HT(t,r),BT(t,n,function(a,s){var u;a?$s.set(t,a):((u=s.responseXML)===null||u===void 0?void 0:u.documentElement)instanceof SVGSVGElement&&$s.set(t,s.responseXML.documentElement),wG(t)})},SG=function(t,n,r){BT(t,n,function(o,a){var s;o?r(o):((s=a.responseXML)===null||s===void 0?void 0:s.documentElement)instanceof SVGSVGElement&&r(null,a.responseXML.documentElement)})},EG=0,CG=function(){return++EG},lo=[],VT={},kG="http://www.w3.org/2000/svg",Ry="http://www.w3.org/1999/xlink",UT=function(t,n,r,o,a,s,u){var c=t.getAttribute("data-src")||t.getAttribute("src");if(!c){u(new Error("Invalid data-src or src attribute"));return}if(lo.indexOf(t)!==-1){lo.splice(lo.indexOf(t),1),t=null;return}lo.push(t),t.setAttribute("src","");var f=o?_G:SG;f(c,a,function(h,p){if(!p){lo.splice(lo.indexOf(t),1),t=null,u(h);return}var g=t.getAttribute("id");g&&p.setAttribute("id",g);var y=t.getAttribute("title");y&&p.setAttribute("title",y);var w=t.getAttribute("width");w&&p.setAttribute("width",w);var v=t.getAttribute("height");v&&p.setAttribute("height",v);var S=Array.from(new Set(hd(hd(hd([],(p.getAttribute("class")||"").split(" "),!0),["injected-svg"],!1),(t.getAttribute("class")||"").split(" "),!0))).join(" ").trim();p.setAttribute("class",S);var E=t.getAttribute("style");E&&p.setAttribute("style",E),p.setAttribute("data-src",c);var T=[].filter.call(t.attributes,function(q){return/^data-\w[\w-]*$/.test(q.name)});if(Array.prototype.forEach.call(T,function(q){q.name&&q.value&&p.setAttribute(q.name,q.value)}),r){var k={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]},A,M,N,P,z;Object.keys(k).forEach(function(q){A=q,N=k[q],M=p.querySelectorAll(A+"[id]");for(var G=function(L,te){P=M[L].id,z=P+"-"+CG();var he;Array.prototype.forEach.call(N,function(Te){he=p.querySelectorAll("["+Te+'*="'+P+'"]');for(var _e=0,Xe=he.length;_e<Xe;_e++){var Ct=he[_e].getAttribute(Te);Ct&&!Ct.match(new RegExp('url\\("?#'+P+'"?\\)'))||he[_e].setAttribute(Te,"url(#"+z+")")}});for(var oe=p.querySelectorAll("[*|href]"),de=[],le=0,ye=oe.length;le<ye;le++){var je=oe[le].getAttributeNS(Ry,"href");je&&je.toString()==="#"+M[L].id&&de.push(oe[le])}for(var Ne=0,we=de.length;Ne<we;Ne++)de[Ne].setAttributeNS(Ry,"href","#"+z);M[L].id=z},O=0,Y=M.length;O<Y;O++)G(O)})}p.removeAttribute("xmlns:a");for(var B=p.querySelectorAll("script"),R=[],F,U,W=0,j=B.length;W<j;W++)U=B[W].getAttribute("type"),(!U||U==="application/ecmascript"||U==="application/javascript"||U==="text/javascript")&&(F=B[W].innerText||B[W].textContent,F&&R.push(F),p.removeChild(B[W]));if(R.length>0&&(n==="always"||n==="once"&&!VT[c])){for(var V=0,I=R.length;V<I;V++)new Function(R[V])(window);VT[c]=!0}var H=p.querySelectorAll("style");if(Array.prototype.forEach.call(H,function(q){q.textContent+=""}),p.setAttribute("xmlns",kG),p.setAttribute("xmlns:xlink",Ry),s(p),!t.parentNode){lo.splice(lo.indexOf(t),1),t=null,u(new Error("Parent node is null"));return}t.parentNode.replaceChild(p,t),lo.splice(lo.indexOf(t),1),t=null,u(null,p)})},TG=function(t,n){var r=n===void 0?{}:n,o=r.afterAll,a=o===void 0?function(){}:o,s=r.afterEach,u=s===void 0?function(){}:s,c=r.beforeEach,f=c===void 0?function(){}:c,h=r.cacheRequests,p=h===void 0?!0:h,g=r.evalScripts,y=g===void 0?"never":g,w=r.httpRequestWithCredentials,v=w===void 0?!1:w,S=r.renumerateIRIElements,E=S===void 0?!0:S;if(t&&"length"in t)for(var T=0,k=0,A=t.length;k<A;k++)UT(t[k],y,E,p,v,f,function(M,N){u(M,N),t&&"length"in t&&t.length===++T&&a(T)});else t?UT(t,y,E,p,v,f,function(M,N){u(M,N),a(1),t=null}):a(0)},AG=function(t){var n=t?.ownerDocument||document;return n.defaultView||window},RG=function(t,n){for(var r in t)if(!(r in n))return!0;for(var o in n)if(t[o]!==n[o])return!0;return!1},MG=["afterInjection","beforeInjection","desc","evalScripts","fallback","httpRequestWithCredentials","loading","renumerateIRIElements","src","title","useRequestCache","wrapper"],ch="http://www.w3.org/2000/svg",qT="http://www.w3.org/1999/xlink",My=function(e){function t(){for(var r,o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return r=e.call.apply(e,[this].concat(a))||this,r.initialState={hasError:!1,isLoading:!0},r.state=r.initialState,r._isMounted=!1,r.reactWrapper=void 0,r.nonReactWrapper=void 0,r.refCallback=function(u){r.reactWrapper=u},r}iS(t,e);var n=t.prototype;return n.renderSVG=function(){var o=this;if(this.reactWrapper instanceof AG(this.reactWrapper).Node){var a=this.props,s=a.desc,u=a.evalScripts,c=a.httpRequestWithCredentials,f=a.renumerateIRIElements,h=a.src,p=a.title,g=a.useRequestCache,y=this.props.onError,w=this.props.beforeInjection,v=this.props.afterInjection,S=this.props.wrapper,E,T;S==="svg"?(E=document.createElementNS(ch,S),E.setAttribute("xmlns",ch),E.setAttribute("xmlns:xlink",qT),T=document.createElementNS(ch,S)):(E=document.createElement(S),T=document.createElement(S)),E.appendChild(T),T.dataset.src=h,this.nonReactWrapper=this.reactWrapper.appendChild(E);var k=function(P){if(o.removeSVG(),!o._isMounted){y(P);return}o.setState(function(){return{hasError:!0,isLoading:!1}},function(){y(P)})},A=function(P,z){if(P){k(P);return}o._isMounted&&o.setState(function(){return{isLoading:!1}},function(){try{v(z)}catch(B){k(B)}})},M=function(P){if(P.setAttribute("role","img"),s){var z=P.querySelector(":scope > desc");z&&P.removeChild(z);var B=document.createElement("desc");B.innerHTML=s,P.prepend(B)}if(p){var R=P.querySelector(":scope > title");R&&P.removeChild(R);var F=document.createElement("title");F.innerHTML=p,P.prepend(F)}try{w(P)}catch(U){k(U)}};TG(T,{afterEach:A,beforeEach:M,cacheRequests:g,evalScripts:u,httpRequestWithCredentials:c,renumerateIRIElements:f})}},n.removeSVG=function(){var o;(o=this.nonReactWrapper)!=null&&o.parentNode&&(this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper),this.nonReactWrapper=null)},n.componentDidMount=function(){this._isMounted=!0,this.renderSVG()},n.componentDidUpdate=function(o){var a=this;RG(Re({},o),this.props)&&this.setState(function(){return a.initialState},function(){a.removeSVG(),a.renderSVG()})},n.componentWillUnmount=function(){this._isMounted=!1,this.removeSVG()},n.render=function(){var o=this.props;o.afterInjection,o.beforeInjection,o.desc,o.evalScripts;var a=o.fallback;o.httpRequestWithCredentials;var s=o.loading;o.renumerateIRIElements,o.src,o.title,o.useRequestCache;var u=o.wrapper,c=qg(o,MG),f=u;return _.createElement(f,Re({},c,{ref:this.refCallback},u==="svg"?{xmlns:ch,xmlnsXlink:qT}:{}),this.state.isLoading&&s&&_.createElement(s,null),this.state.hasError&&a&&_.createElement(a,null))},t}(_.Component);My.defaultProps={afterInjection:function(){},beforeInjection:function(){},desc:"",evalScripts:"never",fallback:null,httpRequestWithCredentials:!1,loading:null,onError:function(){},renumerateIRIElements:!0,title:"",useRequestCache:!0,wrapper:"div"},My.propTypes={afterInjection:$t.func,beforeInjection:$t.func,desc:$t.string,evalScripts:$t.oneOf(["always","once","never"]),fallback:$t.oneOfType([$t.func,$t.object,$t.string]),httpRequestWithCredentials:$t.bool,loading:$t.oneOfType([$t.func,$t.object,$t.string]),onError:$t.func,renumerateIRIElements:$t.bool,src:$t.string.isRequired,title:$t.string,useRequestCache:$t.bool,wrapper:$t.oneOf(["div","span","svg"])};const Oy=({text:e="No image data provided"})=>x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:e}),OG=_.memo(({value:e,format:t="jpeg",alt:n="Base64 image",onError:r,onLoad:o,...a})=>{const[s,u]=_.useState(!1),[c,f]=_.useState(!0),h=_.useRef(null),p=_.useMemo(()=>{if(typeof e=="string")return e;if(e&&typeof e=="object"&&"data"in e){const v=e.data;if(v instanceof ArrayBuffer){const S=new Uint8Array(v);let E="";for(let T=0;T<S.byteLength;T++)E+=String.fromCharCode(S[T]);return btoa(E)}}return""},[e]),g=_.useMemo(()=>p?`data:image/${t};base64,${p}`:"",[p,t]),y=_.useCallback(v=>{u(!0),f(!1),r?.(v)},[r]),w=_.useCallback(()=>{f(!1),u(!1),o?.()},[o]);return _.useEffect(()=>{const v=h.current;if(v)return v.addEventListener("error",y),v.addEventListener("load",w),()=>{v.removeEventListener("error",y),v.removeEventListener("load",w)}},[y,w,e]),_.useEffect(()=>{u(!1),f(!0)},[e]),p?s?x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:"Failed to load base64 image"}):x.jsx("img",{ref:h,src:g,alt:n,className:`base64-image-renderer image-renderer ${a.className||""} ${c?" loading":""}`,...a}):x.jsx(Oy,{})}),NG=_.memo(({value:e,alt:t="SVG image",onError:n,onLoad:r,...o})=>{const[a,s]=_.useState(!1),u=_.useMemo(()=>{if(!e)return"";try{return`data:image/svg+xml;base64,${btoa(e)}`}catch(f){return console.error("Failed to encode SVG to base64:",f),""}},[e]);_.useEffect(()=>{s(!1)},[e]);const c=_.useCallback(f=>{s(!0),n?.(f)},[n]);return e?a||!u?x.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100px",border:"1px dashed #ccc",color:"#666"},children:"Failed to load SVG"}):x.jsx(My,{src:u,className:`svg-renderer ${o.className||""}`,style:{maxWidth:"100%",maxHeight:"100%",...o.style},beforeInjection:f=>{f.classList.add("svg-renderer"),f.setAttribute("style","max-width: 100%; max-height: 100%;"),f.setAttribute("width","100%"),f.setAttribute("height","100%"),f.setAttribute("aria-label",t);const h=()=>{s(!1),r?.()},p=g=>{s(!0),n?.(g)};try{f.addEventListener("load",h),f.addEventListener("error",p)}catch{h()}},onError:c}):x.jsx(Oy,{})}),DG=_.memo(({src:e,alt:t="Streaming image",onError:n,onLoad:r,...o})=>{const a=_.useRef(null),[s,u]=_.useState(!1),[c,f]=_.useState(!0);_.useEffect(()=>{a.current&&e&&(f(!0),u(!1),a.current.src=e)},[e]);const h=_.useCallback(g=>{u(!0),f(!1),n?.(g)},[n]),p=_.useCallback(()=>{f(!1),u(!1),r?.()},[r]);return _.useEffect(()=>{const g=a.current;if(g)return g.addEventListener("error",h),g.addEventListener("load",p),()=>{g.removeEventListener("error",h),g.removeEventListener("load",p)}},[h,p]),s?x.jsx(Oy,{text:"Failed to load image"}):x.jsx("img",{ref:a,className:`streaming-image image-renderer ${o.className||""} ${c?" loading":""}`,alt:t,...o})});function fh(e){const t=e+"CollectionProvider",[n,r]=Jr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=v=>{const{scope:S,children:E}=v,T=Qt.useRef(null),k=Qt.useRef(new Map).current;return x.jsx(o,{scope:S,itemMap:k,collectionRef:T,children:E})};s.displayName=t;const u=e+"CollectionSlot",c=_s(u),f=Qt.forwardRef((v,S)=>{const{scope:E,children:T}=v,k=a(u,E),A=yt(S,k.collectionRef);return x.jsx(c,{ref:A,children:T})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",g=_s(h),y=Qt.forwardRef((v,S)=>{const{scope:E,children:T,...k}=v,A=Qt.useRef(null),M=yt(S,A),N=a(h,E);return Qt.useEffect(()=>(N.itemMap.set(A,{ref:A,...k}),()=>void N.itemMap.delete(A))),x.jsx(g,{[p]:"",ref:M,children:T})});y.displayName=h;function w(v){const S=a(e+"CollectionConsumer",v);return Qt.useCallback(()=>{const T=S.collectionRef.current;if(!T)return[];const k=Array.from(T.querySelectorAll(`[${p}]`));return Array.from(S.itemMap.values()).sort((N,P)=>k.indexOf(N.ref.current)-k.indexOf(P.ref.current))},[S.collectionRef,S.itemMap])}return[{Provider:s,Slot:f,ItemSlot:y},w,r]}var PG=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),jG="VisuallyHidden",Ny=_.forwardRef((e,t)=>x.jsx(Ue.span,{...e,ref:t,style:{...PG,...e.style}}));Ny.displayName=jG;var Dy="ToastProvider",[Py,IG,zG]=fh("Toast"),[GT,Spe]=Jr("Toast",[zG]),[LG,dh]=GT(Dy),YT=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:o="right",swipeThreshold:a=50,children:s}=e,[u,c]=_.useState(null),[f,h]=_.useState(0),p=_.useRef(!1),g=_.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${Dy}\`. Expected non-empty \`string\`.`),x.jsx(Py.Provider,{scope:t,children:x.jsx(LG,{scope:t,label:n,duration:r,swipeDirection:o,swipeThreshold:a,toastCount:f,viewport:u,onViewportChange:c,onToastAdd:_.useCallback(()=>h(y=>y+1),[]),onToastRemove:_.useCallback(()=>h(y=>y-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:s})})};YT.displayName=Dy;var WT="ToastViewport",FG=["F8"],jy="toast.viewportPause",Iy="toast.viewportResume",XT=_.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=FG,label:o="Notifications ({hotkey})",...a}=e,s=dh(WT,n),u=IG(n),c=_.useRef(null),f=_.useRef(null),h=_.useRef(null),p=_.useRef(null),g=yt(t,p,s.onViewportChange),y=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),w=s.toastCount>0;_.useEffect(()=>{const S=E=>{r.length!==0&&r.every(k=>E[k]||E.code===k)&&p.current?.focus()};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[r]),_.useEffect(()=>{const S=c.current,E=p.current;if(w&&S&&E){const T=()=>{if(!s.isClosePausedRef.current){const N=new CustomEvent(jy);E.dispatchEvent(N),s.isClosePausedRef.current=!0}},k=()=>{if(s.isClosePausedRef.current){const N=new CustomEvent(Iy);E.dispatchEvent(N),s.isClosePausedRef.current=!1}},A=N=>{!S.contains(N.relatedTarget)&&k()},M=()=>{S.contains(document.activeElement)||k()};return S.addEventListener("focusin",T),S.addEventListener("focusout",A),S.addEventListener("pointermove",T),S.addEventListener("pointerleave",M),window.addEventListener("blur",T),window.addEventListener("focus",k),()=>{S.removeEventListener("focusin",T),S.removeEventListener("focusout",A),S.removeEventListener("pointermove",T),S.removeEventListener("pointerleave",M),window.removeEventListener("blur",T),window.removeEventListener("focus",k)}}},[w,s.isClosePausedRef]);const v=_.useCallback(({tabbingDirection:S})=>{const T=u().map(k=>{const A=k.ref.current,M=[A,...QG(A)];return S==="forwards"?M:M.reverse()});return(S==="forwards"?T.reverse():T).flat()},[u]);return _.useEffect(()=>{const S=p.current;if(S){const E=T=>{const k=T.altKey||T.ctrlKey||T.metaKey;if(T.key==="Tab"&&!k){const M=document.activeElement,N=T.shiftKey;if(T.target===S&&N){f.current?.focus();return}const B=v({tabbingDirection:N?"backwards":"forwards"}),R=B.findIndex(F=>F===M);Fy(B.slice(R+1))?T.preventDefault():N?f.current?.focus():h.current?.focus()}};return S.addEventListener("keydown",E),()=>S.removeEventListener("keydown",E)}},[u,v]),x.jsxs(vF,{ref:c,role:"region","aria-label":o.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:w?void 0:"none"},children:[w&&x.jsx(zy,{ref:f,onFocusFromOutsideViewport:()=>{const S=v({tabbingDirection:"forwards"});Fy(S)}}),x.jsx(Py.Slot,{scope:n,children:x.jsx(Ue.ol,{tabIndex:-1,...a,ref:g})}),w&&x.jsx(zy,{ref:h,onFocusFromOutsideViewport:()=>{const S=v({tabbingDirection:"backwards"});Fy(S)}})]})});XT.displayName=WT;var KT="ToastFocusProxy",zy=_.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...o}=e,a=dh(KT,n);return x.jsx(Ny,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:s=>{const u=s.relatedTarget;!a.viewport?.contains(u)&&r()}})});zy.displayName=KT;var Au="Toast",$G="toast.swipeStart",BG="toast.swipeMove",HG="toast.swipeCancel",VG="toast.swipeEnd",ZT=_.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:o,onOpenChange:a,...s}=e,[u,c]=wi({prop:r,defaultProp:o??!0,onChange:a,caller:Au});return x.jsx(Rr,{present:n||u,children:x.jsx(GG,{open:u,...s,ref:t,onClose:()=>c(!1),onPause:Mn(e.onPause),onResume:Mn(e.onResume),onSwipeStart:xe(e.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:xe(e.onSwipeMove,f=>{const{x:h,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${h}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:xe(e.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:xe(e.onSwipeEnd,f=>{const{x:h,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${h}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),c(!1)})})})});ZT.displayName=Au;var[UG,qG]=GT(Au,{onClose(){}}),GG=_.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:o,open:a,onClose:s,onEscapeKeyDown:u,onPause:c,onResume:f,onSwipeStart:h,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:y,...w}=e,v=dh(Au,n),[S,E]=_.useState(null),T=yt(t,j=>E(j)),k=_.useRef(null),A=_.useRef(null),M=o||v.duration,N=_.useRef(0),P=_.useRef(M),z=_.useRef(0),{onToastAdd:B,onToastRemove:R}=v,F=Mn(()=>{S?.contains(document.activeElement)&&v.viewport?.focus(),s()}),U=_.useCallback(j=>{!j||j===1/0||(window.clearTimeout(z.current),N.current=new Date().getTime(),z.current=window.setTimeout(F,j))},[F]);_.useEffect(()=>{const j=v.viewport;if(j){const V=()=>{U(P.current),f?.()},I=()=>{const H=new Date().getTime()-N.current;P.current=P.current-H,window.clearTimeout(z.current),c?.()};return j.addEventListener(jy,I),j.addEventListener(Iy,V),()=>{j.removeEventListener(jy,I),j.removeEventListener(Iy,V)}}},[v.viewport,M,c,f,U]),_.useEffect(()=>{a&&!v.isClosePausedRef.current&&U(M)},[a,M,v.isClosePausedRef,U]),_.useEffect(()=>(B(),()=>R()),[B,R]);const W=_.useMemo(()=>S?oA(S):null,[S]);return v.viewport?x.jsxs(x.Fragment,{children:[W&&x.jsx(YG,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:W}),x.jsx(UG,{scope:n,onClose:F,children:cs.createPortal(x.jsx(Py.ItemSlot,{scope:n,children:x.jsx(yF,{asChild:!0,onEscapeKeyDown:xe(u,()=>{v.isFocusedToastEscapeKeyDownRef.current||F(),v.isFocusedToastEscapeKeyDownRef.current=!1}),children:x.jsx(Ue.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":v.swipeDirection,...w,ref:T,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:xe(e.onKeyDown,j=>{j.key==="Escape"&&(u?.(j.nativeEvent),j.nativeEvent.defaultPrevented||(v.isFocusedToastEscapeKeyDownRef.current=!0,F()))}),onPointerDown:xe(e.onPointerDown,j=>{j.button===0&&(k.current={x:j.clientX,y:j.clientY})}),onPointerMove:xe(e.onPointerMove,j=>{if(!k.current)return;const V=j.clientX-k.current.x,I=j.clientY-k.current.y,H=!!A.current,q=["left","right"].includes(v.swipeDirection),G=["left","up"].includes(v.swipeDirection)?Math.min:Math.max,O=q?G(0,V):0,Y=q?0:G(0,I),Z=j.pointerType==="touch"?10:2,L={x:O,y:Y},te={originalEvent:j,delta:L};H?(A.current=L,hh(BG,p,te,{discrete:!1})):iA(L,v.swipeDirection,Z)?(A.current=L,hh($G,h,te,{discrete:!1}),j.target.setPointerCapture(j.pointerId)):(Math.abs(V)>Z||Math.abs(I)>Z)&&(k.current=null)}),onPointerUp:xe(e.onPointerUp,j=>{const V=A.current,I=j.target;if(I.hasPointerCapture(j.pointerId)&&I.releasePointerCapture(j.pointerId),A.current=null,k.current=null,V){const H=j.currentTarget,q={originalEvent:j,delta:V};iA(V,v.swipeDirection,v.swipeThreshold)?hh(VG,y,q,{discrete:!0}):hh(HG,g,q,{discrete:!0}),H.addEventListener("click",G=>G.preventDefault(),{once:!0})}})})})}),v.viewport)})]}):null}),YG=e=>{const{__scopeToast:t,children:n,...r}=e,o=dh(Au,t),[a,s]=_.useState(!1),[u,c]=_.useState(!1);return KG(()=>s(!0)),_.useEffect(()=>{const f=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(f)},[]),u?null:x.jsx(fd,{asChild:!0,children:x.jsx(Ny,{...r,children:a&&x.jsxs(x.Fragment,{children:[o.label," ",n]})})})},WG="ToastTitle",QT=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});QT.displayName=WG;var XG="ToastDescription",JT=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});JT.displayName=XG;var eA="ToastAction",tA=_.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?x.jsx(rA,{altText:n,asChild:!0,children:x.jsx(Ly,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${eA}\`. Expected non-empty \`string\`.`),null)});tA.displayName=eA;var nA="ToastClose",Ly=_.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,o=qG(nA,n);return x.jsx(rA,{asChild:!0,children:x.jsx(Ue.button,{type:"button",...r,ref:t,onClick:xe(e.onClick,o.onClose)})})});Ly.displayName=nA;var rA=_.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...o}=e;return x.jsx(Ue.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...o,ref:t})});function oA(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),ZG(r)){const o=r.ariaHidden||r.hidden||r.style.display==="none",a=r.dataset.radixToastAnnounceExclude==="";if(!o)if(a){const s=r.dataset.radixToastAnnounceAlt;s&&t.push(s)}else t.push(...oA(r))}}),t}function hh(e,t,n,{discrete:r}){const o=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Jg(o,a):o.dispatchEvent(a)}var iA=(e,t,n=0)=>{const r=Math.abs(e.x),o=Math.abs(e.y),a=r>o;return t==="left"||t==="right"?a&&r>n:!a&&o>n};function KG(e=()=>{}){const t=Mn(e);Po(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function ZG(e){return e.nodeType===e.ELEMENT_NODE}function QG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Fy(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var JG=YT,eY=XT,tY=ZT,nY=QT,rY=JT,oY=tA,iY=Ly;const an=[];for(let e=0;e<256;++e)an.push((e+256).toString(16).slice(1));function aY(e,t=0){return(an[e[t+0]]+an[e[t+1]]+an[e[t+2]]+an[e[t+3]]+"-"+an[e[t+4]]+an[e[t+5]]+"-"+an[e[t+6]]+an[e[t+7]]+"-"+an[e[t+8]]+an[e[t+9]]+"-"+an[e[t+10]]+an[e[t+11]]+an[e[t+12]]+an[e[t+13]]+an[e[t+14]]+an[e[t+15]]).toLowerCase()}let $y;const sY=new Uint8Array(16);function lY(){if(!$y){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");$y=crypto.getRandomValues.bind(crypto)}return $y(sY)}const aA={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function By(e,t,n){if(aA.randomUUID&&!e)return aA.randomUUID();e=e||{};const r=e.random??e.rng?.()??lY();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,aY(r)}const sA=_.createContext(void 0),lA=_.createContext(void 0),uY=350,cY=({children:e,fixedHeight:t,duration:n=5e3,maxVisible:r=3,...o})=>{const[a,s]=_.useState(new Map),u=_.useRef(new Map),c=_.useRef(null),f=_.useRef(!0),h=_.useCallback(()=>{const E=Array.from(u.current).reverse();if(t){const T=t;E.forEach(([,k],A)=>{if(!k)return;k.setAttribute("data-front",String(A===0)),k.setAttribute("data-hidden",String(A>=r)),k.style.setProperty("--index",String(A)),k.style.setProperty("--height",`${t}px`),k.style.setProperty("--front-height",`${T}px`);const M=t*A;k.style.setProperty("--hover-offset-y",`-${M}px`)})}else{const T=E.map(([,A])=>{if(!A)return 0;const M=A.querySelector(".ToastInner");if(!M)return A.clientHeight;const N=M.style.height;M.style.height="auto";const P=A.clientHeight;return M.style.height=N,P}),k=T[0]||0;E.forEach(([,A],M)=>{if(!A)return;const N=T[M];A.setAttribute("data-front",String(M===0)),A.setAttribute("data-hidden",String(M>=r)),A.style.setProperty("--index",String(M)),A.style.setProperty("--height",`${N}px`),A.style.setProperty("--front-height",`${k}px`);const P=T.slice(0,M).reduce((z,B)=>z+B,0);A.style.setProperty("--hover-offset-y",`-${P}px`)})}},[t,r]),p=_.useCallback(E=>{s(T=>{const k=new Map(T);return k.set(By(),{...E,duration:E.duration||n,open:!0}),k})},[n]),g=_.useCallback(E=>{f.current&&s(T=>{const k=new Map(T);return k.delete(E),k})},[]),y=_.useCallback(E=>p({...E,status:E.status||"default"}),[p]),w=_.useCallback(E=>p({...E,status:"success"}),[p]),v=_.useCallback(E=>p({...E,status:"error"}),[p]);_.useEffect(()=>(f.current=!0,()=>{f.current=!1}),[]),_.useEffect(()=>{const E=c.current;if(E){const T=()=>{u.current.forEach(M=>{M.setAttribute("data-hovering","true")})},k=M=>{(!E.contains(M.target)||E===M.target)&&u.current.forEach(N=>{N.setAttribute("data-hovering","false")})},A=()=>{u.current.forEach(M=>{M.setAttribute("data-hovering","false")})};return E.addEventListener("pointermove",T),E.addEventListener("pointerleave",A),E.addEventListener("focusin",T),E.addEventListener("focusout",k),()=>{E.removeEventListener("pointermove",T),E.removeEventListener("pointerleave",A),E.removeEventListener("focusin",T),E.removeEventListener("focusout",k)}}},[]);const S=_.useMemo(()=>Object.assign(y,{success:w,error:v}),[y,w,v]);return x.jsx(sA.Provider,{value:S,children:x.jsx(lA.Provider,{value:_.useMemo(()=>({toastElementsMapRef:u,sortToasts:h}),[h]),children:x.jsxs(JG,{...o,children:[e,Array.from(a).map(([E,T])=>x.jsx(hY,{id:E,toast:T,onOpenChange:k=>{k||(u.current.delete(E),h(),s(A=>{const M=new Map(A),N=M.get(E);return N&&M.set(E,{...N,open:!1}),M}),setTimeout(()=>{g(E)},uY))}},E)),x.jsx(eY,{ref:c,className:"ToastViewport",style:t?{"--fixed-toast-height":`${t}px`}:void 0})]})})})},fY=()=>{const e=_.useContext(sA);if(e)return e;throw new Error("useToast must be used within Toasts")},dY=()=>{const e=_.useContext(lA);if(e)return e;throw new Error("useToastContext must be used within Toasts")},hY=({onOpenChange:e,toast:t,id:n,...r})=>{const o=_.useRef(null),a=dY(),{sortToasts:s,toastElementsMapRef:u}=a,c=u.current;return _.useLayoutEffect(()=>(o.current&&(c.set(n,o.current),s()),()=>{c.delete(n),s()}),[n,s,c]),x.jsx(tY,{...r,ref:o,type:t.type,duration:t.duration,className:"ToastRoot",onOpenChange:e,open:t.open,children:x.jsxs("div",{className:"ToastInner","data-status":t.status,children:[x.jsx(pY,{status:t.status}),t.title&&x.jsx(nY,{className:"ToastTitle",children:t.title}),x.jsx(rY,{className:"ToastDescription",children:t.description}),t.action&&x.jsx(oY,{className:"ToastAction Button small green",altText:t.action.altText,onClick:t.action.onClick,asChild:!0,children:x.jsx("button",{children:t.action.label})}),x.jsx(iY,{"aria-label":"Close",className:"ToastClose",children:x.jsx($d,{style:{fontSize:"12px"}})})]})})},pY=({status:e})=>e!=="default"&&e?x.jsxs("div",{style:{gridArea:"icon",alignSelf:"start"},children:[e==="success"&&x.jsx(MB,{style:{color:"#61d345",fontSize:"20px"}}),e==="error"&&x.jsx(OB,{style:{color:"#ff4b4b",fontSize:"20px"}})]}):null,mY={},uA=e=>{let t;const n=new Set,r=(h,p)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=p??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(w=>w(t,y))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>f,subscribe:h=>(n.add(h),()=>n.delete(h)),destroy:()=>{(mY?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},f=t=e(r,o,c);return c},cA=e=>e?uA(e):uA;var Hy={exports:{}},Vy={},Uy={exports:{}},qy={};/**
763
763
  * @license React
764
764
  * use-sync-external-store-shim.production.js
765
765
  *
@@ -792,7 +792,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
792
792
  `)),h=f.reduce((p,g)=>p.concat(...g),[]);return[f,h]}return[[],[]]},[e]);return _.useEffect(()=>{const c=t?.target??tO,f=t?.actInsideInputWithModifier??!0;if(e!==null){const h=y=>{if(o.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!o.current||o.current&&!f)&&xM(y))return!1;const v=rO(y.code,u);if(a.current.add(y[v]),nO(s,a.current,!1)){const S=y.composedPath?.()?.[0]||y.target,E=S?.nodeName==="BUTTON"||S?.nodeName==="A";t.preventDefault!==!1&&(o.current||!E)&&y.preventDefault(),r(!0)}},p=y=>{const w=rO(y.code,u);nO(s,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(y[w]),y.key==="Meta"&&a.current.clear(),o.current=!1},g=()=>{a.current.clear(),r(!1)};return c?.addEventListener("keydown",h),c?.addEventListener("keyup",p),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{c?.removeEventListener("keydown",h),c?.removeEventListener("keyup",p),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[e,r]),n}function nO(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(o=>t.has(o)))}function rO(e,t){return t.includes(e)?"code":"key"}const iee=()=>{const e=Et();return _.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[r,o,a],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??r,y:t.y??o,zoom:t.zoom??a},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[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)=>{const{width:r,height:o,minZoom:a,maxZoom:s,panZoom:u}=e.getState(),c=kv(t,r,o,a,s,n?.padding??.1);return u?(await u.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:r,snapGrid:o,snapToGrid:a,domNode:s}=e.getState();if(!s)return t;const{x:u,y:c}=s.getBoundingClientRect(),f={x:t.x-u,y:t.y-c},h=n.snapGrid??o,p=n.snapToGrid??a;return Zu(f,r,p,h)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:o,y:a}=r.getBoundingClientRect(),s=Jh(t,n);return{x:s.x+o,y:s.y+a}}}),[])};function oO(e,t){const n=[],r=new Map,o=[];for(const a of e)if(a.type==="add"){o.push(a);continue}else if(a.type==="remove"||a.type==="replace")r.set(a.id,[a]);else{const s=r.get(a.id);s?s.push(a):r.set(a.id,[a])}for(const a of t){const s=r.get(a.id);if(!s){n.push(a);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){n.push({...s[0].item});continue}const u={...a};for(const c of s)aee(c,u);n.push(u)}return o.length&&o.forEach(a=>{a.index!==void 0?n.splice(a.index,0,{...a.item}):n.push({...a.item})}),n}function aee(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured??(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,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);break}}}function $v(e,t){return oO(e,t)}function iO(e,t){return oO(e,t)}function Pa(e,t){return{id:e,type:"select",selected:t}}function el(e,t=new Set,n=!1){const r=[];for(const[o,a]of e){const s=t.has(o);!(a.selected===void 0&&!s)&&a.selected!==s&&(n&&(a.selected=s),r.push(Pa(a.id,s)))}return r}function aO({items:e=[],lookup:t}){const n=[],r=new Map(e.map(o=>[o.id,o]));for(const[o,a]of e.entries()){const s=t.get(a.id),u=s?.internals?.userNode??s;u!==void 0&&u!==a&&n.push({id:a.id,item:a,type:"replace"}),u===void 0&&n.push({item:a,type:"add",index:o})}for(const[o]of t)r.get(o)===void 0&&n.push({id:o,type:"remove"});return n}function sO(e){return{id:e.id,type:"remove"}}const lO=e=>$Q(e),see=e=>uM(e);function uO(e){return _.forwardRef(e)}const lee=typeof window<"u"?_.useLayoutEffect:_.useEffect;function cO(e){const[t,n]=_.useState(BigInt(0)),[r]=_.useState(()=>uee(()=>n(o=>o+BigInt(1))));return lee(()=>{const o=r.get();o.length&&(e(o),r.reset())},[t]),r}function uee(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const fO=_.createContext(null);function cee({children:e}){const t=Et(),n=_.useCallback(u=>{const{nodes:c=[],setNodes:f,hasDefaultNodes:h,onNodesChange:p,nodeLookup:g,fitViewQueued:y}=t.getState();let w=c;for(const S of u)w=typeof S=="function"?S(w):S;const v=aO({items:w,lookup:g});h&&f(w),v.length>0?p?.(v):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:S,nodes:E,setNodes:T}=t.getState();S&&T(E)})},[]),r=cO(n),o=_.useCallback(u=>{const{edges:c=[],setEdges:f,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:g}=t.getState();let y=c;for(const w of u)y=typeof w=="function"?w(y):w;h?f(y):p&&p(aO({items:y,lookup:g}))},[]),a=cO(o),s=_.useMemo(()=>({nodeQueue:r,edgeQueue:a}),[]);return x.jsx(fO.Provider,{value:s,children:e})}function fee(){const e=_.useContext(fO);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const dee=e=>!!e.panZoom;function ja(){const e=iee(),t=Et(),n=fee(),r=Ze(dee),o=_.useMemo(()=>{const a=p=>t.getState().nodeLookup.get(p),s=p=>{n.nodeQueue.push(p)},u=p=>{n.edgeQueue.push(p)},c=p=>{const{nodeLookup:g,nodeOrigin:y}=t.getState(),w=lO(p)?p:g.get(p.id),v=w.parentId?yM(w.position,w.measured,w.parentId,g,y):w.position,S={...w,position:v,width:w.measured?.width??w.width,height:w.measured?.height??w.height};return Xs(S)},f=(p,g,y={replace:!1})=>{s(w=>w.map(v=>{if(v.id===p){const S=typeof g=="function"?g(v):g;return y.replace&&lO(S)?S:{...v,...S}}return v}))},h=(p,g,y={replace:!1})=>{u(w=>w.map(v=>{if(v.id===p){const S=typeof g=="function"?g(v):g;return y.replace&&see(S)?S:{...v,...S}}return v}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>a(p)?.internals.userNode,getInternalNode:a,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(g=>({...g}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:s,setEdges:u,addNodes:p=>{const g=Array.isArray(p)?p:[p];n.nodeQueue.push(y=>[...y,...g])},addEdges:p=>{const g=Array.isArray(p)?p:[p];n.edgeQueue.push(y=>[...y,...g])},toObject:()=>{const{nodes:p=[],edges:g=[],transform:y}=t.getState(),[w,v,S]=y;return{nodes:p.map(E=>({...E})),edges:g.map(E=>({...E})),viewport:{x:w,y:v,zoom:S}}},deleteElements:async({nodes:p=[],edges:g=[]})=>{const{nodes:y,edges:w,onNodesDelete:v,onEdgesDelete:S,triggerNodeChanges:E,triggerEdgeChanges:T,onDelete:k,onBeforeDelete:A}=t.getState(),{nodes:M,edges:N}=await qQ({nodesToRemove:p,edgesToRemove:g,nodes:y,edges:w,onBeforeDelete:A}),P=N.length>0,z=M.length>0;if(P){const B=N.map(sO);S?.(N),T(B)}if(z){const B=M.map(sO);v?.(M),E(B)}return(z||P)&&k?.({nodes:M,edges:N}),{deletedNodes:M,deletedEdges:N}},getIntersectingNodes:(p,g=!0,y)=>{const w=mM(p),v=w?p:c(p),S=y!==void 0;return v?(y||t.getState().nodes).filter(E=>{const T=t.getState().nodeLookup.get(E.id);if(T&&!w&&(E.id===p.id||!T.internals.positionAbsolute))return!1;const k=Xs(S?E:T),A=Ku(k,v);return g&&A>0||A>=k.width*k.height||A>=v.width*v.height}):[]},isNodeIntersecting:(p,g,y=!0)=>{const v=mM(p)?p:c(p);if(!v)return!1;const S=Ku(v,g);return y&&S>0||S>=v.width*v.height},updateNode:f,updateNodeData:(p,g,y={replace:!1})=>{f(p,w=>{const v=typeof g=="function"?g(w):g;return y.replace?{...w,data:v}:{...w,data:{...w.data,...v}}},y)},updateEdge:h,updateEdgeData:(p,g,y={replace:!1})=>{h(p,w=>{const v=typeof g=="function"?g(w):g;return y.replace?{...w,data:v}:{...w,data:{...w.data,...v}}},y)},getNodesBounds:p=>{const{nodeLookup:g,nodeOrigin:y}=t.getState();return BQ(p,{nodeLookup:g,nodeOrigin:y})},getHandleConnections:({type:p,id:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}-${p}${g?`-${g}`:""}`)?.values()??[]),getNodeConnections:({type:p,handleId:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}${p?g?`-${p}-${g}`:`-${p}`:""}`)?.values()??[]),fitView:async p=>{const g=t.getState().fitViewResolver??XQ();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:g}),n.nodeQueue.push(y=>[...y]),g.promise}}},[]);return _.useMemo(()=>({...o,...e,viewportInitialized:r}),[r])}const dO=e=>e.selected,hee=typeof window<"u"?window:void 0;function pee({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Et(),{deleteElements:r}=ja(),o=Xo(e,{actInsideInputWithModifier:!1}),a=Xo(t,{target:hee});_.useEffect(()=>{if(o){const{edges:s,nodes:u}=n.getState();r({nodes:u.filter(dO),edges:s.filter(dO)}),n.setState({nodesSelectionActive:!1})}},[o]),_.useEffect(()=>{n.setState({multiSelectionActive:a})},[a])}function mee(e){const t=Et();_.useEffect(()=>{const n=()=>{if(!e.current)return!1;const r=Tv(e.current);(r.height===0||r.width===0)&&t.getState().onError?.("004",mo.error004()),t.setState({width:r.width||500,height:r.height||500})};if(e.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(e.current),()=>{window.removeEventListener("resize",n),r&&e.current&&r.unobserve(e.current)}}},[])}const sp={position:"absolute",width:"100%",height:"100%",top:0,left:0},gee=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib});function yee({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:o=.5,panOnScrollMode:a=Na.Free,zoomOnDoubleClick:s=!0,panOnDrag:u=!0,defaultViewport:c,translateExtent:f,minZoom:h,maxZoom:p,zoomActivationKeyCode:g,preventScrolling:y=!0,children:w,noWheelClassName:v,noPanClassName:S,onViewportChange:E,isControlledViewport:T,paneClickDistance:k}){const A=Et(),M=_.useRef(null),{userSelectionActive:N,lib:P}=Ze(gee,Tt),z=Xo(g),B=_.useRef();mee(M);const R=_.useCallback(F=>{E?.({x:F[0],y:F[1],zoom:F[2]}),T||A.setState({transform:F})},[E,T]);return _.useEffect(()=>{if(M.current){B.current=MJ({domNode:M.current,minZoom:h,maxZoom:p,translateExtent:f,viewport:c,paneClickDistance:k,onDraggingChange:j=>A.setState({paneDragging:j}),onPanZoomStart:(j,V)=>{const{onViewportChangeStart:I,onMoveStart:H}=A.getState();H?.(j,V),I?.(V)},onPanZoom:(j,V)=>{const{onViewportChange:I,onMove:H}=A.getState();H?.(j,V),I?.(V)},onPanZoomEnd:(j,V)=>{const{onViewportChangeEnd:I,onMoveEnd:H}=A.getState();H?.(j,V),I?.(V)}});const{x:F,y:U,zoom:W}=B.current.getViewport();return A.setState({panZoom:B.current,transform:[F,U,W],domNode:M.current.closest(".react-flow")}),()=>{B.current?.destroy()}}},[]),_.useEffect(()=>{B.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:o,panOnScrollMode:a,zoomOnDoubleClick:s,panOnDrag:u,zoomActivationKeyPressed:z,preventScrolling:y,noPanClassName:S,userSelectionActive:N,noWheelClassName:v,lib:P,onTransformChange:R})},[e,t,n,r,o,a,s,u,z,y,S,N,v,P,R]),x.jsx("div",{className:"react-flow__renderer",ref:M,style:sp,children:w})}const vee=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function bee(){const{userSelectionActive:e,userSelectionRect:t}=Ze(vee,Tt);return e&&t?x.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}const Bv=(e,t)=>n=>{n.target===t.current&&e?.(n)},xee=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function wee({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Yu.Full,panOnDrag:r,selectionOnDrag:o,onSelectionStart:a,onSelectionEnd:s,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:g,children:y}){const w=Et(),{userSelectionActive:v,elementsSelectable:S,dragging:E,connectionInProgress:T}=Ze(xee,Tt),k=S&&(e||v),A=_.useRef(null),M=_.useRef(),N=_.useRef(new Set),P=_.useRef(new Set),z=_.useRef(!1),B=_.useRef(!1),R=H=>{if(z.current||T){z.current=!1;return}u?.(H),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},F=H=>{if(Array.isArray(r)&&r?.includes(2)){H.preventDefault();return}c?.(H)},U=f?H=>f(H):void 0,W=H=>{const{resetSelectedElements:q,domNode:G}=w.getState();if(M.current=G?.getBoundingClientRect(),!S||!e||H.button!==0||H.target!==A.current||!M.current)return;H.target?.setPointerCapture?.(H.pointerId),B.current=!0,z.current=!1;const{x:O,y:Y}=go(H.nativeEvent,M.current);q(),w.setState({userSelectionRect:{width:0,height:0,startX:O,startY:Y,x:O,y:Y}}),a?.(H)},j=H=>{const{userSelectionRect:q,transform:G,nodeLookup:O,edgeLookup:Y,connectionLookup:Z,triggerNodeChanges:L,triggerEdgeChanges:te,defaultEdgeOptions:he}=w.getState();if(!M.current||!q)return;z.current=!0;const{x:oe,y:de}=go(H.nativeEvent,M.current),{startX:le,startY:ye}=q,je={startX:le,startY:ye,x:oe<le?oe:le,y:de<ye?de:ye,width:Math.abs(oe-le),height:Math.abs(de-ye)},Ne=N.current,we=P.current;N.current=new Set(Ev(O,je,G,n===Yu.Partial,!0).map(_e=>_e.id)),P.current=new Set;const Te=he?.selectable??!0;for(const _e of N.current){const Xe=Z.get(_e);if(Xe)for(const{edgeId:Ct}of Xe.values()){const ft=Y.get(Ct);ft&&(ft.selectable??Te)&&P.current.add(Ct)}}if(!vM(Ne,N.current)){const _e=el(O,N.current,!0);L(_e)}if(!vM(we,P.current)){const _e=el(Y,P.current);te(_e)}w.setState({userSelectionRect:je,userSelectionActive:!0,nodesSelectionActive:!1})},V=H=>{if(H.button!==0||!B.current)return;H.target?.releasePointerCapture?.(H.pointerId);const{userSelectionRect:q}=w.getState();!v&&q&&H.target===A.current&&R?.(H),w.setState({userSelectionActive:!1,userSelectionRect:null,nodesSelectionActive:N.current.size>0}),s?.(H),(t||o)&&(z.current=!1),B.current=!1},I=r===!0||Array.isArray(r)&&r.includes(0);return x.jsxs("div",{className:Vt(["react-flow__pane",{draggable:I,dragging:E,selection:e}]),onClick:k?void 0:Bv(R,A),onContextMenu:Bv(F,A),onWheel:Bv(U,A),onPointerEnter:k?void 0:h,onPointerDown:k?W:p,onPointerMove:k?j:p,onPointerUp:k?V:void 0,onPointerLeave:g,ref:A,style:sp,children:[y,x.jsx(bee,{})]})}function Hv({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:o,unselectNodesAndEdges:a,multiSelectionActive:s,nodeLookup:u,onError:c}=t.getState(),f=u.get(e);if(!f){c?.("012",mo.error012(e));return}t.setState({nodesSelectionActive:!1}),f.selected?(n||f.selected&&s)&&(a({nodes:[f],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):o([e])}function hO({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:a,nodeClickDistance:s}){const u=Et(),[c,f]=_.useState(!1),h=_.useRef();return _.useEffect(()=>{h.current=mJ({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{Hv({id:p,store:u,nodeRef:e})},onDragStart:()=>{f(!0)},onDragStop:()=>{f(!1)}})},[]),_.useEffect(()=>{if(t)h.current?.destroy();else if(e.current)return h.current?.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:o,nodeClickDistance:s}),()=>{h.current?.destroy()}},[n,r,t,a,e,o]),c}const _ee=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function pO(){const e=Et();return _.useCallback(n=>{const{nodeExtent:r,snapToGrid:o,snapGrid:a,nodesDraggable:s,onError:u,updateNodePositions:c,nodeLookup:f,nodeOrigin:h}=e.getState(),p=new Map,g=_ee(s),y=o?a[0]:5,w=o?a[1]:5,v=n.direction.x*y*n.factor,S=n.direction.y*w*n.factor;for(const[,E]of f){if(!g(E))continue;let T={x:E.internals.positionAbsolute.x+v,y:E.internals.positionAbsolute.y+S};o&&(T=Qh(T,a));const{position:k,positionAbsolute:A}=cM({nodeId:E.id,nextPosition:T,nodeLookup:f,nodeExtent:r,nodeOrigin:h,onError:u});E.position=k,E.internals.positionAbsolute=A,p.set(E.id,E)}c(p)},[])}const Vv=_.createContext(null),See=Vv.Provider;Vv.Consumer;const mO=()=>_.useContext(Vv),Eee=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Cee=(e,t,n)=>r=>{const{connectionClickStartHandle:o,connectionMode:a,connection:s}=r,{fromHandle:u,toHandle:c,isValid:f}=s,h=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:u?.nodeId===e&&u?.id===t&&u?.type===n,connectingTo:h,clickConnecting:o?.nodeId===e&&o?.id===t&&o?.type===n,isPossibleEndHandle:a===Ys.Strict?u?.type!==n:e!==u?.nodeId||t!==u?.id,connectionInProcess:!!u,clickConnectionInProcess:!!o,valid:h&&f}};function kee({type:e="source",position:t=ke.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:a=!0,id:s,onConnect:u,children:c,className:f,onMouseDown:h,onTouchStart:p,...g},y){const w=s||null,v=e==="target",S=Et(),E=mO(),{connectOnClick:T,noPanClassName:k,rfId:A}=Ze(Eee,Tt),{connectingFrom:M,connectingTo:N,clickConnecting:P,isPossibleEndHandle:z,connectionInProcess:B,clickConnectionInProcess:R,valid:F}=Ze(Cee(E,w,e),Tt);E||S.getState().onError?.("010",mo.error010());const U=V=>{const{defaultEdgeOptions:I,onConnect:H,hasDefaultEdges:q}=S.getState(),G={...I,...V};if(q){const{edges:O,setEdges:Y}=S.getState();Y(nJ(G,O))}H?.(G),u?.(G)},W=V=>{if(!E)return;const I=wM(V.nativeEvent);if(o&&(I&&V.button===0||!I)){const H=S.getState();zv.onPointerDown(V.nativeEvent,{autoPanOnConnect:H.autoPanOnConnect,connectionMode:H.connectionMode,connectionRadius:H.connectionRadius,domNode:H.domNode,nodeLookup:H.nodeLookup,lib:H.lib,isTarget:v,handleId:w,nodeId:E,flowId:H.rfId,panBy:H.panBy,cancelConnection:H.cancelConnection,onConnectStart:H.onConnectStart,onConnectEnd:H.onConnectEnd,updateConnection:H.updateConnection,onConnect:U,isValidConnection:n||H.isValidConnection,getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:H.autoPanSpeed,dragThreshold:H.connectionDragThreshold})}I?h?.(V):p?.(V)},j=V=>{const{onClickConnectStart:I,onClickConnectEnd:H,connectionClickStartHandle:q,connectionMode:G,isValidConnection:O,lib:Y,rfId:Z,nodeLookup:L,connection:te}=S.getState();if(!E||!q&&!o)return;if(!q){I?.(V.nativeEvent,{nodeId:E,handleId:w,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const he=bM(V.target),oe=n||O,{connection:de,isValid:le}=zv.isValid(V.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:G,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:oe,flowId:Z,doc:he,lib:Y,nodeLookup:L});le&&de&&U(de);const ye=structuredClone(te);delete ye.inProgress,ye.toPosition=ye.toHandle?ye.toHandle.position:null,H?.(V,ye),S.setState({connectionClickStartHandle:null})};return x.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":t,"data-id":`${A}-${E}-${w}-${e}`,className:Vt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",k,f,{source:!v,target:v,connectable:r,connectablestart:o,connectableend:a,clickconnecting:P,connectingfrom:M,connectingto:N,valid:F,connectionindicator:r&&(!B||z)&&(B||R?a:o)}]),onMouseDown:W,onTouchStart:W,onClick:T?j:void 0,ref:y,...g,children:c})}const ec=_.memo(uO(kee));function Tee({data:e,isConnectable:t,sourcePosition:n=ke.Bottom}){return x.jsxs(x.Fragment,{children:[e?.label,x.jsx(ec,{type:"source",position:n,isConnectable:t})]})}function Aee({data:e,isConnectable:t,targetPosition:n=ke.Top,sourcePosition:r=ke.Bottom}){return x.jsxs(x.Fragment,{children:[x.jsx(ec,{type:"target",position:n,isConnectable:t}),e?.label,x.jsx(ec,{type:"source",position:r,isConnectable:t})]})}function Ree(){return null}function Mee({data:e,isConnectable:t,targetPosition:n=ke.Top}){return x.jsxs(x.Fragment,{children:[x.jsx(ec,{type:"target",position:n,isConnectable:t}),e?.label]})}const lp={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},gO={input:Tee,default:Aee,output:Mee,group:Ree};function Oee(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const Nee=e=>{const{width:t,height:n,x:r,y:o}=Xu(e.nodeLookup,{filter:a=>!!a.selected});return{width:Fr(t)?t:null,height:Fr(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${o}px)`}};function Dee({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Et(),{width:o,height:a,transformString:s,userSelectionActive:u}=Ze(Nee,Tt),c=pO(),f=_.useRef(null);if(_.useEffect(()=>{n||f.current?.focus({preventScroll:!0})},[n]),hO({nodeRef:f}),u||!o||!a)return null;const h=e?g=>{const y=r.getState().nodes.filter(w=>w.selected);e(g,y)}:void 0,p=g=>{Object.prototype.hasOwnProperty.call(lp,g.key)&&(g.preventDefault(),c({direction:lp[g.key],factor:g.shiftKey?4:1}))};return x.jsx("div",{className:Vt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:x.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:p,style:{width:o,height:a}})})}const yO=typeof window<"u"?window:void 0,Pee=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function vO({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:a,onPaneScroll:s,paneClickDistance:u,deleteKeyCode:c,selectionKeyCode:f,selectionOnDrag:h,selectionMode:p,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:w,panActivationKeyCode:v,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:A,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:P,panOnDrag:z,defaultViewport:B,translateExtent:R,minZoom:F,maxZoom:U,preventScrolling:W,onSelectionContextMenu:j,noWheelClassName:V,noPanClassName:I,disableKeyboardA11y:H,onViewportChange:q,isControlledViewport:G}){const{nodesSelectionActive:O,userSelectionActive:Y}=Ze(Pee),Z=Xo(f,{target:yO}),L=Xo(v,{target:yO}),te=L||z,he=L||A,oe=h&&te!==!0,de=Z||Y||oe;return pee({deleteKeyCode:c,multiSelectionKeyCode:w}),x.jsx(yee,{onPaneContextMenu:a,elementsSelectable:E,zoomOnScroll:T,zoomOnPinch:k,panOnScroll:he,panOnScrollSpeed:M,panOnScrollMode:N,zoomOnDoubleClick:P,panOnDrag:!Z&&te,defaultViewport:B,translateExtent:R,minZoom:F,maxZoom:U,zoomActivationKeyCode:S,preventScrolling:W,noWheelClassName:V,noPanClassName:I,onViewportChange:q,isControlledViewport:G,paneClickDistance:u,children:x.jsxs(wee,{onSelectionStart:g,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:a,onPaneScroll:s,panOnDrag:te,isSelecting:!!de,selectionMode:p,selectionKeyPressed:Z,selectionOnDrag:oe,children:[e,O&&x.jsx(Dee,{onSelectionContextMenu:j,noPanClassName:I,disableKeyboardA11y:H})]})})}vO.displayName="FlowRenderer";const jee=_.memo(vO),Iee=e=>t=>e?Ev(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function zee(e){return Ze(_.useCallback(Iee(e),[e]),Tt)}const Lee=e=>e.updateNodeInternals;function Fee(){const e=Ze(Lee),[t]=_.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(o=>{const a=o.target.getAttribute("data-id");r.set(a,{id:a,nodeElement:o.target,force:!0})}),e(r)}));return _.useEffect(()=>()=>{t?.disconnect()},[t]),t}function $ee({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){const o=Et(),a=_.useRef(null),s=_.useRef(null),u=_.useRef(e.sourcePosition),c=_.useRef(e.targetPosition),f=_.useRef(t),h=n&&!!e.internals.handleBounds;return _.useEffect(()=>{a.current&&!e.hidden&&(!h||s.current!==a.current)&&(s.current&&r?.unobserve(s.current),r?.observe(a.current),s.current=a.current)},[h,e.hidden]),_.useEffect(()=>()=>{s.current&&(r?.unobserve(s.current),s.current=null)},[]),_.useEffect(()=>{if(a.current){const p=f.current!==t,g=u.current!==e.sourcePosition,y=c.current!==e.targetPosition;(p||g||y)&&(f.current=t,u.current=e.sourcePosition,c.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function Bee({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onContextMenu:a,onDoubleClick:s,nodesDraggable:u,elementsSelectable:c,nodesConnectable:f,nodesFocusable:h,resizeObserver:p,noDragClassName:g,noPanClassName:y,disableKeyboardA11y:w,rfId:v,nodeTypes:S,nodeClickDistance:E,onError:T}){const{node:k,internals:A,isParent:M}=Ze(le=>{const ye=le.nodeLookup.get(e),je=le.parentLookup.has(e);return{node:ye,internals:ye.internals,isParent:je}},Tt);let N=k.type||"default",P=S?.[N]||gO[N];P===void 0&&(T?.("003",mo.error003(N)),N="default",P=S?.default||gO.default);const z=!!(k.draggable||u&&typeof k.draggable>"u"),B=!!(k.selectable||c&&typeof k.selectable>"u"),R=!!(k.connectable||f&&typeof k.connectable>"u"),F=!!(k.focusable||h&&typeof k.focusable>"u"),U=Et(),W=gM(k),j=$ee({node:k,nodeType:N,hasDimensions:W,resizeObserver:p}),V=hO({nodeRef:j,disabled:k.hidden||!z,noDragClassName:g,handleSelector:k.dragHandle,nodeId:e,isSelectable:B,nodeClickDistance:E}),I=pO();if(k.hidden)return null;const H=Wo(k),q=Oee(k),G=B||z||t||n||r||o,O=n?le=>n(le,{...A.userNode}):void 0,Y=r?le=>r(le,{...A.userNode}):void 0,Z=o?le=>o(le,{...A.userNode}):void 0,L=a?le=>a(le,{...A.userNode}):void 0,te=s?le=>s(le,{...A.userNode}):void 0,he=le=>{const{selectNodesOnDrag:ye,nodeDragThreshold:je}=U.getState();B&&(!ye||!z||je>0)&&Hv({id:e,store:U,nodeRef:j}),t&&t(le,{...A.userNode})},oe=le=>{if(!(xM(le.nativeEvent)||w)){if(oM.includes(le.key)&&B){const ye=le.key==="Escape";Hv({id:e,store:U,unselect:ye,nodeRef:j})}else if(z&&k.selected&&Object.prototype.hasOwnProperty.call(lp,le.key)){le.preventDefault();const{ariaLabelConfig:ye}=U.getState();U.setState({ariaLiveMessage:ye["node.a11yDescription.ariaLiveMessage"]({direction:le.key.replace("Arrow","").toLowerCase(),x:~~A.positionAbsolute.x,y:~~A.positionAbsolute.y})}),I({direction:lp[le.key],factor:le.shiftKey?4:1})}}},de=()=>{if(w||!j.current?.matches(":focus-visible"))return;const{transform:le,width:ye,height:je,autoPanOnNodeFocus:Ne,setCenter:we}=U.getState();if(!Ne)return;Ev(new Map([[e,k]]),{x:0,y:0,width:ye,height:je},le,!0).length>0||we(k.position.x+H.width/2,k.position.y+H.height/2,{zoom:le[2]})};return x.jsx("div",{className:Vt(["react-flow__node",`react-flow__node-${N}`,{[y]:z},k.className,{selected:k.selected,selectable:B,parent:M,draggable:z,dragging:V}]),ref:j,style:{zIndex:A.z,transform:`translate(${A.positionAbsolute.x}px,${A.positionAbsolute.y}px)`,pointerEvents:G?"all":"none",visibility:W?"visible":"hidden",...k.style,...q},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:O,onMouseMove:Y,onMouseLeave:Z,onContextMenu:L,onClick:he,onDoubleClick:te,onKeyDown:F?oe:void 0,tabIndex:F?0:void 0,onFocus:F?de:void 0,role:k.ariaRole??(F?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${XM}-${v}`,"aria-label":k.ariaLabel,...k.domAttributes,children:x.jsx(See,{value:e,children:x.jsx(P,{id:e,data:k.data,type:N,positionAbsoluteX:A.positionAbsolute.x,positionAbsoluteY:A.positionAbsolute.y,selected:k.selected??!1,selectable:B,draggable:z,deletable:k.deletable??!0,isConnectable:R,sourcePosition:k.sourcePosition,targetPosition:k.targetPosition,dragging:V,dragHandle:k.dragHandle,zIndex:A.z,parentId:k.parentId,...H})})})}const Hee=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function bO(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:o,onError:a}=Ze(Hee,Tt),s=zee(e.onlyRenderVisibleElements),u=Fee();return x.jsx("div",{className:"react-flow__nodes",style:sp,children:s.map(c=>x.jsx(Bee,{id:c,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:u,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:a},c))})}bO.displayName="NodeRenderer";const Vee=_.memo(bO);function Uee(e){return Ze(_.useCallback(n=>{if(!e)return n.edges.map(o=>o.id);const r=[];if(n.width&&n.height)for(const o of n.edges){const a=n.nodeLookup.get(o.source),s=n.nodeLookup.get(o.target);a&&s&&JQ({sourceNode:a,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&r.push(o.id)}return r},[e]),Tt)}const qee=({color:e="none",strokeWidth:t=1})=>x.jsx("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),Gee=({color:e="none",strokeWidth:t=1})=>x.jsx("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),xO={[Wh.Arrow]:qee,[Wh.ArrowClosed]:Gee};function Yee(e){const t=Et();return _.useMemo(()=>Object.prototype.hasOwnProperty.call(xO,e)?xO[e]:(t.getState().onError?.("009",mo.error009(e)),null),[e])}const Wee=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:a="strokeWidth",strokeWidth:s,orient:u="auto-start-reverse"})=>{const c=Yee(t);return c?x.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:u,refX:"0",refY:"0",children:x.jsx(c,{color:n,strokeWidth:s})}):null},wO=({defaultColor:e,rfId:t})=>{const n=Ze(a=>a.edges),r=Ze(a=>a.defaultEdgeOptions),o=_.useMemo(()=>sJ(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return o.length?x.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:x.jsx("defs",{children:o.map(a=>x.jsx(Wee,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};wO.displayName="MarkerDefinitions";var Xee=_.memo(wO);function _O({x:e,y:t,label:n,labelStyle:r,labelShowBg:o=!0,labelBgStyle:a,labelBgPadding:s=[2,4],labelBgBorderRadius:u=2,children:c,className:f,...h}){const[p,g]=_.useState({x:1,y:0,width:0,height:0}),y=Vt(["react-flow__edge-textwrapper",f]),w=_.useRef(null);return _.useEffect(()=>{if(w.current){const v=w.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),n?x.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:y,visibility:p.width?"visible":"hidden",...h,children:[o&&x.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:a,rx:u,ry:u}),x.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:w,style:r,children:n}),c]}):null}_O.displayName="EdgeText";const Kee=_.memo(_O);function tc({path:e,labelX:t,labelY:n,label:r,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,interactionWidth:f=20,...h}){return x.jsxs(x.Fragment,{children:[x.jsx("path",{...h,d:e,fill:"none",className:Vt(["react-flow__edge-path",h.className])}),f&&x.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}),r&&Fr(t)&&Fr(n)?x.jsx(Kee,{x:t,y:n,label:r,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c}):null]})}function SO({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===ke.Left||e===ke.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function EO({sourceX:e,sourceY:t,sourcePosition:n=ke.Bottom,targetX:r,targetY:o,targetPosition:a=ke.Top}){const[s,u]=SO({pos:n,x1:e,y1:t,x2:r,y2:o}),[c,f]=SO({pos:a,x1:r,y1:o,x2:e,y2:t}),[h,p,g,y]=SM({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:u,targetControlX:c,targetControlY:f});return[`M${e},${t} C${s},${u} ${c},${f} ${r},${o}`,h,p,g,y]}function CO(e){return _.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:a,sourcePosition:s,targetPosition:u,label:c,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:w,markerEnd:v,markerStart:S,interactionWidth:E})=>{const[T,k,A]=EO({sourceX:n,sourceY:r,sourcePosition:s,targetX:o,targetY:a,targetPosition:u}),M=e.isInternal?void 0:t;return x.jsx(tc,{id:M,path:T,labelX:k,labelY:A,label:c,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:w,markerEnd:v,markerStart:S,interactionWidth:E})})}const Zee=CO({isInternal:!1}),kO=CO({isInternal:!0});Zee.displayName="SimpleBezierEdge",kO.displayName="SimpleBezierEdgeInternal";function TO(e){return _.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:a,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,sourcePosition:y=ke.Bottom,targetPosition:w=ke.Top,markerEnd:v,markerStart:S,pathOptions:E,interactionWidth:T})=>{const[k,A,M]=Rv({sourceX:n,sourceY:r,sourcePosition:y,targetX:o,targetY:a,targetPosition:w,borderRadius:E?.borderRadius,offset:E?.offset,stepPosition:E?.stepPosition}),N=e.isInternal?void 0:t;return x.jsx(tc,{id:N,path:k,labelX:A,labelY:M,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:v,markerStart:S,interactionWidth:T})})}const AO=TO({isInternal:!1}),RO=TO({isInternal:!0});AO.displayName="SmoothStepEdge",RO.displayName="SmoothStepEdgeInternal";function MO(e){return _.memo(({id:t,...n})=>{const r=e.isInternal?void 0:t;return x.jsx(AO,{...n,id:r,pathOptions:_.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const Qee=MO({isInternal:!1}),OO=MO({isInternal:!0});Qee.displayName="StepEdge",OO.displayName="StepEdgeInternal";function NO(e){return _.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:a,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:y,markerStart:w,interactionWidth:v})=>{const[S,E,T]=kM({sourceX:n,sourceY:r,targetX:o,targetY:a}),k=e.isInternal?void 0:t;return x.jsx(tc,{id:k,path:S,labelX:E,labelY:T,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:y,markerStart:w,interactionWidth:v})})}const Jee=NO({isInternal:!1}),DO=NO({isInternal:!0});Jee.displayName="StraightEdge",DO.displayName="StraightEdgeInternal";function PO(e){return _.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:a,sourcePosition:s=ke.Bottom,targetPosition:u=ke.Top,label:c,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:w,markerEnd:v,markerStart:S,pathOptions:E,interactionWidth:T})=>{const[k,A,M]=Av({sourceX:n,sourceY:r,sourcePosition:s,targetX:o,targetY:a,targetPosition:u,curvature:E?.curvature}),N=e.isInternal?void 0:t;return x.jsx(tc,{id:N,path:k,labelX:A,labelY:M,label:c,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:w,markerEnd:v,markerStart:S,interactionWidth:T})})}const ete=PO({isInternal:!1}),jO=PO({isInternal:!0});ete.displayName="BezierEdge",jO.displayName="BezierEdgeInternal";const IO={default:jO,straight:DO,step:OO,smoothstep:RO,simplebezier:kO},zO={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},tte=(e,t,n)=>n===ke.Left?e-t:n===ke.Right?e+t:e,nte=(e,t,n)=>n===ke.Top?e-t:n===ke.Bottom?e+t:e,LO="react-flow__edgeupdater";function FO({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:a,onMouseOut:s,type:u}){return x.jsx("circle",{onMouseDown:o,onMouseEnter:a,onMouseOut:s,className:Vt([LO,`${LO}-${u}`]),cx:tte(t,r,e),cy:nte(n,r,e),r,stroke:"transparent",fill:"transparent"})}function rte({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:o,targetX:a,targetY:s,sourcePosition:u,targetPosition:c,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,setReconnecting:g,setUpdateHover:y}){const w=Et(),v=(A,M)=>{if(A.button!==0)return;const{autoPanOnConnect:N,domNode:P,isValidConnection:z,connectionMode:B,connectionRadius:R,lib:F,onConnectStart:U,onConnectEnd:W,cancelConnection:j,nodeLookup:V,rfId:I,panBy:H,updateConnection:q}=w.getState(),G=M.type==="target",O=(L,te)=>{g(!1),p?.(L,n,M.type,te)},Y=L=>f?.(n,L),Z=(L,te)=>{g(!0),h?.(A,n,M.type),U?.(L,te)};zv.onPointerDown(A.nativeEvent,{autoPanOnConnect:N,connectionMode:B,connectionRadius:R,domNode:P,handleId:M.id,nodeId:M.nodeId,nodeLookup:V,isTarget:G,edgeUpdaterType:M.type,lib:F,flowId:I,cancelConnection:j,panBy:H,isValidConnection:z,onConnect:Y,onConnectStart:Z,onConnectEnd:W,onReconnectEnd:O,updateConnection:q,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold})},S=A=>v(A,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),E=A=>v(A,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),T=()=>y(!0),k=()=>y(!1);return x.jsxs(x.Fragment,{children:[(e===!0||e==="source")&&x.jsx(FO,{position:u,centerX:r,centerY:o,radius:t,onMouseDown:S,onMouseEnter:T,onMouseOut:k,type:"source"}),(e===!0||e==="target")&&x.jsx(FO,{position:c,centerX:a,centerY:s,radius:t,onMouseDown:E,onMouseEnter:T,onMouseOut:k,type:"target"})]})}function ote({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:o,onDoubleClick:a,onContextMenu:s,onMouseEnter:u,onMouseMove:c,onMouseLeave:f,reconnectRadius:h,onReconnect:p,onReconnectStart:g,onReconnectEnd:y,rfId:w,edgeTypes:v,noPanClassName:S,onError:E,disableKeyboardA11y:T}){let k=Ze(we=>we.edgeLookup.get(e));const A=Ze(we=>we.defaultEdgeOptions);k=A?{...A,...k}:k;let M=k.type||"default",N=v?.[M]||IO[M];N===void 0&&(E?.("011",mo.error011(M)),M="default",N=v?.default||IO.default);const P=!!(k.focusable||t&&typeof k.focusable>"u"),z=typeof p<"u"&&(k.reconnectable||n&&typeof k.reconnectable>"u"),B=!!(k.selectable||r&&typeof k.selectable>"u"),R=_.useRef(null),[F,U]=_.useState(!1),[W,j]=_.useState(!1),V=Et(),{zIndex:I,sourceX:H,sourceY:q,targetX:G,targetY:O,sourcePosition:Y,targetPosition:Z}=Ze(_.useCallback(we=>{const Te=we.nodeLookup.get(k.source),_e=we.nodeLookup.get(k.target);if(!Te||!_e)return{zIndex:k.zIndex,...zO};const Xe=aJ({id:e,sourceNode:Te,targetNode:_e,sourceHandle:k.sourceHandle||null,targetHandle:k.targetHandle||null,connectionMode:we.connectionMode,onError:E});return{zIndex:QQ({selected:k.selected,zIndex:k.zIndex,sourceNode:Te,targetNode:_e,elevateOnSelect:we.elevateEdgesOnSelect}),...Xe||zO}},[k.source,k.target,k.sourceHandle,k.targetHandle,k.selected,k.zIndex]),Tt),L=_.useMemo(()=>k.markerStart?`url('#${Mv(k.markerStart,w)}')`:void 0,[k.markerStart,w]),te=_.useMemo(()=>k.markerEnd?`url('#${Mv(k.markerEnd,w)}')`:void 0,[k.markerEnd,w]);if(k.hidden||H===null||q===null||G===null||O===null)return null;const he=we=>{const{addSelectedEdges:Te,unselectNodesAndEdges:_e,multiSelectionActive:Xe}=V.getState();B&&(V.setState({nodesSelectionActive:!1}),k.selected&&Xe?(_e({nodes:[],edges:[k]}),R.current?.blur()):Te([e])),o&&o(we,k)},oe=a?we=>{a(we,{...k})}:void 0,de=s?we=>{s(we,{...k})}:void 0,le=u?we=>{u(we,{...k})}:void 0,ye=c?we=>{c(we,{...k})}:void 0,je=f?we=>{f(we,{...k})}:void 0,Ne=we=>{if(!T&&oM.includes(we.key)&&B){const{unselectNodesAndEdges:Te,addSelectedEdges:_e}=V.getState();we.key==="Escape"?(R.current?.blur(),Te({edges:[k]})):_e([e])}};return x.jsx("svg",{style:{zIndex:I},children:x.jsxs("g",{className:Vt(["react-flow__edge",`react-flow__edge-${M}`,k.className,S,{selected:k.selected,animated:k.animated,inactive:!B&&!o,updating:F,selectable:B}]),onClick:he,onDoubleClick:oe,onContextMenu:de,onMouseEnter:le,onMouseMove:ye,onMouseLeave:je,onKeyDown:P?Ne:void 0,tabIndex:P?0:void 0,role:k.ariaRole??(P?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":k.ariaLabel===null?void 0:k.ariaLabel||`Edge from ${k.source} to ${k.target}`,"aria-describedby":P?`${KM}-${w}`:void 0,ref:R,...k.domAttributes,children:[!W&&x.jsx(N,{id:e,source:k.source,target:k.target,type:k.type,selected:k.selected,animated:k.animated,selectable:B,deletable:k.deletable??!0,label:k.label,labelStyle:k.labelStyle,labelShowBg:k.labelShowBg,labelBgStyle:k.labelBgStyle,labelBgPadding:k.labelBgPadding,labelBgBorderRadius:k.labelBgBorderRadius,sourceX:H,sourceY:q,targetX:G,targetY:O,sourcePosition:Y,targetPosition:Z,data:k.data,style:k.style,sourceHandleId:k.sourceHandle,targetHandleId:k.targetHandle,markerStart:L,markerEnd:te,pathOptions:"pathOptions"in k?k.pathOptions:void 0,interactionWidth:k.interactionWidth}),z&&x.jsx(rte,{edge:k,isReconnectable:z,reconnectRadius:h,onReconnect:p,onReconnectStart:g,onReconnectEnd:y,sourceX:H,sourceY:q,targetX:G,targetY:O,sourcePosition:Y,targetPosition:Z,setUpdateHover:U,setReconnecting:j})]})})}const ite=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function $O({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:o,onReconnect:a,onEdgeContextMenu:s,onEdgeMouseEnter:u,onEdgeMouseMove:c,onEdgeMouseLeave:f,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:g,onReconnectStart:y,onReconnectEnd:w,disableKeyboardA11y:v}){const{edgesFocusable:S,edgesReconnectable:E,elementsSelectable:T,onError:k}=Ze(ite,Tt),A=Uee(t);return x.jsxs("div",{className:"react-flow__edges",children:[x.jsx(Xee,{defaultColor:e,rfId:n}),A.map(M=>x.jsx(ote,{id:M,edgesFocusable:S,edgesReconnectable:E,elementsSelectable:T,noPanClassName:o,onReconnect:a,onContextMenu:s,onMouseEnter:u,onMouseMove:c,onMouseLeave:f,onClick:h,reconnectRadius:p,onDoubleClick:g,onReconnectStart:y,onReconnectEnd:w,rfId:n,onError:k,edgeTypes:r,disableKeyboardA11y:v},M))]})}$O.displayName="EdgeRenderer";const ate=_.memo($O),ste=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function lte({children:e}){const t=Ze(ste);return x.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function ute(e){const t=ja(),n=_.useRef(!1);_.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const cte=e=>e.panZoom?.syncViewport;function fte(e){const t=Ze(cte),n=Et();return _.useEffect(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function dte(e){return e.connection.inProgress?{...e.connection,to:Zu(e.connection.to,e.transform)}:{...e.connection}}function hte(e){return dte}function pte(e){const t=hte();return Ze(t,Tt)}const mte=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function gte({containerStyle:e,style:t,type:n,component:r}){const{nodesConnectable:o,width:a,height:s,isValid:u,inProgress:c}=Ze(mte,Tt);return!(a&&o&&c)?null:x.jsx("svg",{style:e,width:a,height:s,className:"react-flow__connectionline react-flow__container",children:x.jsx("g",{className:Vt(["react-flow__connection",lM(u)]),children:x.jsx(BO,{style:t,type:n,CustomComponent:r,isValid:u})})})}const BO=({style:e,type:t=Ni.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:o,from:a,fromNode:s,fromHandle:u,fromPosition:c,to:f,toNode:h,toHandle:p,toPosition:g}=pte();if(!o)return;if(n)return x.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:u,fromX:a.x,fromY:a.y,toX:f.x,toY:f.y,fromPosition:c,toPosition:g,connectionStatus:lM(r),toNode:h,toHandle:p});let y="";const w={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:f.x,targetY:f.y,targetPosition:g};switch(t){case Ni.Bezier:[y]=Av(w);break;case Ni.SimpleBezier:[y]=EO(w);break;case Ni.Step:[y]=Rv({...w,borderRadius:0});break;case Ni.SmoothStep:[y]=Rv(w);break;default:[y]=kM(w)}return x.jsx("path",{d:y,fill:"none",className:"react-flow__connection-path",style:e})};BO.displayName="ConnectionLine";const yte={};function HO(e=yte){_.useRef(e),Et(),_.useEffect(()=>{},[e])}function vte(){Et(),_.useRef(!1),_.useEffect(()=>{},[])}function VO({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:o,onNodeDoubleClick:a,onEdgeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:c,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:y,connectionLineType:w,connectionLineStyle:v,connectionLineComponent:S,connectionLineContainerStyle:E,selectionKeyCode:T,selectionOnDrag:k,selectionMode:A,multiSelectionKeyCode:M,panActivationKeyCode:N,zoomActivationKeyCode:P,deleteKeyCode:z,onlyRenderVisibleElements:B,elementsSelectable:R,defaultViewport:F,translateExtent:U,minZoom:W,maxZoom:j,preventScrolling:V,defaultMarkerColor:I,zoomOnScroll:H,zoomOnPinch:q,panOnScroll:G,panOnScrollSpeed:O,panOnScrollMode:Y,zoomOnDoubleClick:Z,panOnDrag:L,onPaneClick:te,onPaneMouseEnter:he,onPaneMouseMove:oe,onPaneMouseLeave:de,onPaneScroll:le,onPaneContextMenu:ye,paneClickDistance:je,nodeClickDistance:Ne,onEdgeContextMenu:we,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Xe,reconnectRadius:Ct,onReconnect:ft,onReconnectStart:yn,onReconnectEnd:br,noDragClassName:tr,noWheelClassName:nr,noPanClassName:ze,disableKeyboardA11y:xo,nodeExtent:Ha,rfId:Fi,viewport:ae,onViewportChange:pe}){return HO(e),HO(t),vte(),ute(n),fte(ae),x.jsx(jee,{onPaneClick:te,onPaneMouseEnter:he,onPaneMouseMove:oe,onPaneMouseLeave:de,onPaneContextMenu:ye,onPaneScroll:le,paneClickDistance:je,deleteKeyCode:z,selectionKeyCode:T,selectionOnDrag:k,selectionMode:A,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:M,panActivationKeyCode:N,zoomActivationKeyCode:P,elementsSelectable:R,zoomOnScroll:H,zoomOnPinch:q,zoomOnDoubleClick:Z,panOnScroll:G,panOnScrollSpeed:O,panOnScrollMode:Y,panOnDrag:L,defaultViewport:F,translateExtent:U,minZoom:W,maxZoom:j,onSelectionContextMenu:p,preventScrolling:V,noDragClassName:tr,noWheelClassName:nr,noPanClassName:ze,disableKeyboardA11y:xo,onViewportChange:pe,isControlledViewport:!!ae,children:x.jsxs(lte,{children:[x.jsx(ate,{edgeTypes:t,onEdgeClick:o,onEdgeDoubleClick:s,onReconnect:ft,onReconnectStart:yn,onReconnectEnd:br,onlyRenderVisibleElements:B,onEdgeContextMenu:we,onEdgeMouseEnter:Te,onEdgeMouseMove:_e,onEdgeMouseLeave:Xe,reconnectRadius:Ct,defaultMarkerColor:I,noPanClassName:ze,disableKeyboardA11y:xo,rfId:Fi}),x.jsx(gte,{style:v,type:w,component:S,containerStyle:E}),x.jsx("div",{className:"react-flow__edgelabel-renderer"}),x.jsx(Vee,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:c,onNodeMouseLeave:f,onNodeContextMenu:h,nodeClickDistance:Ne,onlyRenderVisibleElements:B,noPanClassName:ze,noDragClassName:tr,disableKeyboardA11y:xo,nodeExtent:Ha,rfId:Fi}),x.jsx("div",{className:"react-flow__viewport-portal"})]})})}VO.displayName="GraphView";const bte=_.memo(VO),UO=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:a,fitView:s,fitViewOptions:u,minZoom:c=.5,maxZoom:f=2,nodeOrigin:h,nodeExtent:p}={})=>{const g=new Map,y=new Map,w=new Map,v=new Map,S=r??t??[],E=n??e??[],T=h??[0,0],k=p??Gu;PM(w,v,S);const A=Dv(E,g,y,{nodeOrigin:T,nodeExtent:k,elevateNodesOnSelect:!1});let M=[0,0,1];if(s&&o&&a){const N=Xu(g,{filter:R=>!!((R.width||R.initialWidth)&&(R.height||R.initialHeight))}),{x:P,y:z,zoom:B}=kv(N,o,a,c,f,u?.padding??.1);M=[P,z,B]}return{rfId:"1",width:0,height:0,transform:M,nodes:E,nodesInitialized:A,nodeLookup:g,parentLookup:y,edges:S,edgeLookup:v,connectionLookup:w,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:f,translateExtent:Gu,nodeExtent:k,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ys.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:T,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:u,fitViewResolver:null,connection:{...aM},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:GQ,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:iM}},xte=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:a,fitView:s,fitViewOptions:u,minZoom:c,maxZoom:f,nodeOrigin:h,nodeExtent:p})=>BJ((g,y)=>{async function w(){const{nodeLookup:v,panZoom:S,fitViewOptions:E,fitViewResolver:T,width:k,height:A,minZoom:M,maxZoom:N}=y();S&&(await UQ({nodes:v,width:k,height:A,panZoom:S,minZoom:M,maxZoom:N},E),T?.resolve(!0),g({fitViewResolver:null}))}return{...UO({nodes:e,edges:t,width:o,height:a,fitView:s,fitViewOptions:u,minZoom:c,maxZoom:f,nodeOrigin:h,nodeExtent:p,defaultNodes:n,defaultEdges:r}),setNodes:v=>{const{nodeLookup:S,parentLookup:E,nodeOrigin:T,elevateNodesOnSelect:k,fitViewQueued:A}=y(),M=Dv(v,S,E,{nodeOrigin:T,nodeExtent:p,elevateNodesOnSelect:k,checkEquality:!0});A&&M?(w(),g({nodes:v,nodesInitialized:M,fitViewQueued:!1,fitViewOptions:void 0})):g({nodes:v,nodesInitialized:M})},setEdges:v=>{const{connectionLookup:S,edgeLookup:E}=y();PM(S,E,v),g({edges:v})},setDefaultNodesAndEdges:(v,S)=>{if(v){const{setNodes:E}=y();E(v),g({hasDefaultNodes:!0})}if(S){const{setEdges:E}=y();E(S),g({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:S,nodeLookup:E,parentLookup:T,domNode:k,nodeOrigin:A,nodeExtent:M,debug:N,fitViewQueued:P}=y(),{changes:z,updatedInternals:B}=dJ(v,E,T,k,A,M);B&&(uJ(E,T,{nodeOrigin:A,nodeExtent:M}),P?(w(),g({fitViewQueued:!1,fitViewOptions:void 0})):g({}),z?.length>0&&(N&&console.log("React Flow: trigger node changes",z),S?.(z)))},updateNodePositions:(v,S=!1)=>{const E=[],T=[],{nodeLookup:k,triggerNodeChanges:A}=y();for(const[M,N]of v){const P=k.get(M),z=!!(P?.expandParent&&P?.parentId&&N?.position),B={id:M,type:"position",position:z?{x:Math.max(0,N.position.x),y:Math.max(0,N.position.y)}:N.position,dragging:S};z&&P.parentId&&E.push({id:M,parentId:P.parentId,rect:{...N.internals.positionAbsolute,width:N.measured.width??0,height:N.measured.height??0}}),T.push(B)}if(E.length>0){const{parentLookup:M,nodeOrigin:N}=y(),P=jv(E,k,M,N);T.push(...P)}A(T)},triggerNodeChanges:v=>{const{onNodesChange:S,setNodes:E,nodes:T,hasDefaultNodes:k,debug:A}=y();if(v?.length){if(k){const M=$v(v,T);E(M)}A&&console.log("React Flow: trigger node changes",v),S?.(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:S,setEdges:E,edges:T,hasDefaultEdges:k,debug:A}=y();if(v?.length){if(k){const M=iO(v,T);E(M)}A&&console.log("React Flow: trigger edge changes",v),S?.(v)}},addSelectedNodes:v=>{const{multiSelectionActive:S,edgeLookup:E,nodeLookup:T,triggerNodeChanges:k,triggerEdgeChanges:A}=y();if(S){const M=v.map(N=>Pa(N,!0));k(M);return}k(el(T,new Set([...v]),!0)),A(el(E))},addSelectedEdges:v=>{const{multiSelectionActive:S,edgeLookup:E,nodeLookup:T,triggerNodeChanges:k,triggerEdgeChanges:A}=y();if(S){const M=v.map(N=>Pa(N,!0));A(M);return}A(el(E,new Set([...v]))),k(el(T,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:S}={})=>{const{edges:E,nodes:T,nodeLookup:k,triggerNodeChanges:A,triggerEdgeChanges:M}=y(),N=v||T,P=S||E,z=N.map(R=>{const F=k.get(R.id);return F&&(F.selected=!1),Pa(R.id,!1)}),B=P.map(R=>Pa(R.id,!1));A(z),M(B)},setMinZoom:v=>{const{panZoom:S,maxZoom:E}=y();S?.setScaleExtent([v,E]),g({minZoom:v})},setMaxZoom:v=>{const{panZoom:S,minZoom:E}=y();S?.setScaleExtent([E,v]),g({maxZoom:v})},setTranslateExtent:v=>{y().panZoom?.setTranslateExtent(v),g({translateExtent:v})},setPaneClickDistance:v=>{y().panZoom?.setClickDistance(v)},resetSelectedElements:()=>{const{edges:v,nodes:S,triggerNodeChanges:E,triggerEdgeChanges:T,elementsSelectable:k}=y();if(!k)return;const A=S.reduce((N,P)=>P.selected?[...N,Pa(P.id,!1)]:N,[]),M=v.reduce((N,P)=>P.selected?[...N,Pa(P.id,!1)]:N,[]);E(A),T(M)},setNodeExtent:v=>{const{nodes:S,nodeLookup:E,parentLookup:T,nodeOrigin:k,elevateNodesOnSelect:A,nodeExtent:M}=y();v[0][0]===M[0][0]&&v[0][1]===M[0][1]&&v[1][0]===M[1][0]&&v[1][1]===M[1][1]||(Dv(S,E,T,{nodeOrigin:k,nodeExtent:v,elevateNodesOnSelect:A,checkEquality:!1}),g({nodeExtent:v}))},panBy:v=>{const{transform:S,width:E,height:T,panZoom:k,translateExtent:A}=y();return hJ({delta:v,panZoom:k,transform:S,translateExtent:A,width:E,height:T})},setCenter:async(v,S,E)=>{const{width:T,height:k,maxZoom:A,panZoom:M}=y();if(!M)return Promise.resolve(!1);const N=typeof E?.zoom<"u"?E.zoom:A;return await M.setViewport({x:T/2-v*N,y:k/2-S*N,zoom:N},{duration:E?.duration,ease:E?.ease,interpolate:E?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{g({connection:{...aM}})},updateConnection:v=>{g({connection:v})},reset:()=>g({...UO()})}},Object.is);function wte({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:o,initialHeight:a,initialMinZoom:s,initialMaxZoom:u,initialFitViewOptions:c,fitView:f,nodeOrigin:h,nodeExtent:p,children:g}){const[y]=_.useState(()=>xte({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:a,fitView:f,minZoom:s,maxZoom:u,fitViewOptions:c,nodeOrigin:h,nodeExtent:p}));return x.jsx(HJ,{value:y,children:x.jsx(cee,{children:g})})}function _te({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:o,width:a,height:s,fitView:u,fitViewOptions:c,minZoom:f,maxZoom:h,nodeOrigin:p,nodeExtent:g}){return _.useContext(op)?x.jsx(x.Fragment,{children:e}):x.jsx(wte,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:o,initialWidth:a,initialHeight:s,fitView:u,initialFitViewOptions:c,initialMinZoom:f,initialMaxZoom:h,nodeOrigin:p,nodeExtent:g,children:e})}const Ste={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Ete({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:a,edgeTypes:s,onNodeClick:u,onEdgeClick:c,onInit:f,onMove:h,onMoveStart:p,onMoveEnd:g,onConnect:y,onConnectStart:w,onConnectEnd:v,onClickConnectStart:S,onClickConnectEnd:E,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:A,onNodeContextMenu:M,onNodeDoubleClick:N,onNodeDragStart:P,onNodeDrag:z,onNodeDragStop:B,onNodesDelete:R,onEdgesDelete:F,onDelete:U,onSelectionChange:W,onSelectionDragStart:j,onSelectionDrag:V,onSelectionDragStop:I,onSelectionContextMenu:H,onSelectionStart:q,onSelectionEnd:G,onBeforeDelete:O,connectionMode:Y,connectionLineType:Z=Ni.Bezier,connectionLineStyle:L,connectionLineComponent:te,connectionLineContainerStyle:he,deleteKeyCode:oe="Backspace",selectionKeyCode:de="Shift",selectionOnDrag:le=!1,selectionMode:ye=Yu.Full,panActivationKeyCode:je="Space",multiSelectionKeyCode:Ne=ep()?"Meta":"Control",zoomActivationKeyCode:we=ep()?"Meta":"Control",snapToGrid:Te,snapGrid:_e,onlyRenderVisibleElements:Xe=!1,selectNodesOnDrag:Ct,nodesDraggable:ft,autoPanOnNodeFocus:yn,nodesConnectable:br,nodesFocusable:tr,nodeOrigin:nr=ZM,edgesFocusable:ze,edgesReconnectable:xo,elementsSelectable:Ha=!0,defaultViewport:Fi=tee,minZoom:ae=.5,maxZoom:pe=2,translateExtent:Ae=Gu,preventScrolling:De=!0,nodeExtent:et,defaultMarkerColor:kn="#b1b1b7",zoomOnScroll:Br=!0,zoomOnPinch:vn=!0,panOnScroll:xr=!1,panOnScrollSpeed:Tn=.5,panOnScrollMode:qt=Na.Free,zoomOnDoubleClick:zn=!0,panOnDrag:rr=!0,onPaneClick:$p,onPaneMouseEnter:Bp,onPaneMouseMove:Ec,onPaneMouseLeave:Va,onPaneScroll:b1,onPaneContextMenu:Hp,paneClickDistance:Cc=0,nodeClickDistance:kc=0,children:Tc,onReconnect:Vp,onReconnectStart:x1,onReconnectEnd:wo,onEdgeContextMenu:en,onEdgeDoubleClick:bn,onEdgeMouseEnter:$i,onEdgeMouseMove:Ac,onEdgeMouseLeave:w1,reconnectRadius:_1=10,onNodesChange:Up,onEdgesChange:Ua,noDragClassName:Rc="nodrag",noWheelClassName:Bi="nowheel",noPanClassName:Jo="nopan",fitView:Hi,fitViewOptions:ei,connectOnClick:Gt,attributionPosition:qp,proOptions:Gp,defaultEdgeOptions:ti,elevateNodesOnSelect:Vi,elevateEdgesOnSelect:S1,disableKeyboardA11y:Mc=!1,autoPanOnConnect:Yp,autoPanOnNodeDrag:E1,autoPanSpeed:dl,connectionRadius:hl,isValidConnection:Hr,onError:Oc,style:Wp,id:ni,nodeDragThreshold:Nc,connectionDragThreshold:Dc,viewport:C1,onViewportChange:Xp,width:Ln,height:Kp,colorMode:k1="light",debug:pl,onScroll:Pc,ariaLabelConfig:ml,...T1},Fn){const qa=ni||"1",Zp=oee(k1),jc=_.useCallback(ri=>{ri.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Pc?.(ri)},[Pc]);return x.jsx("div",{"data-testid":"rf__wrapper",...T1,onScroll:jc,style:{...Wp,...Ste},ref:Fn,className:Vt(["react-flow",o,Zp]),id:ni,role:"application",children:x.jsxs(_te,{nodes:e,edges:t,width:Ln,height:Kp,fitView:Hi,fitViewOptions:ei,minZoom:ae,maxZoom:pe,nodeOrigin:nr,nodeExtent:et,children:[x.jsx(bte,{onInit:f,onNodeClick:u,onEdgeClick:c,onNodeMouseEnter:T,onNodeMouseMove:k,onNodeMouseLeave:A,onNodeContextMenu:M,onNodeDoubleClick:N,nodeTypes:a,edgeTypes:s,connectionLineType:Z,connectionLineStyle:L,connectionLineComponent:te,connectionLineContainerStyle:he,selectionKeyCode:de,selectionOnDrag:le,selectionMode:ye,deleteKeyCode:oe,multiSelectionKeyCode:Ne,panActivationKeyCode:je,zoomActivationKeyCode:we,onlyRenderVisibleElements:Xe,defaultViewport:Fi,translateExtent:Ae,minZoom:ae,maxZoom:pe,preventScrolling:De,zoomOnScroll:Br,zoomOnPinch:vn,zoomOnDoubleClick:zn,panOnScroll:xr,panOnScrollSpeed:Tn,panOnScrollMode:qt,panOnDrag:rr,onPaneClick:$p,onPaneMouseEnter:Bp,onPaneMouseMove:Ec,onPaneMouseLeave:Va,onPaneScroll:b1,onPaneContextMenu:Hp,paneClickDistance:Cc,nodeClickDistance:kc,onSelectionContextMenu:H,onSelectionStart:q,onSelectionEnd:G,onReconnect:Vp,onReconnectStart:x1,onReconnectEnd:wo,onEdgeContextMenu:en,onEdgeDoubleClick:bn,onEdgeMouseEnter:$i,onEdgeMouseMove:Ac,onEdgeMouseLeave:w1,reconnectRadius:_1,defaultMarkerColor:kn,noDragClassName:Rc,noWheelClassName:Bi,noPanClassName:Jo,rfId:qa,disableKeyboardA11y:Mc,nodeExtent:et,viewport:C1,onViewportChange:Xp}),x.jsx(ree,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:y,onConnectStart:w,onConnectEnd:v,onClickConnectStart:S,onClickConnectEnd:E,nodesDraggable:ft,autoPanOnNodeFocus:yn,nodesConnectable:br,nodesFocusable:tr,edgesFocusable:ze,edgesReconnectable:xo,elementsSelectable:Ha,elevateNodesOnSelect:Vi,elevateEdgesOnSelect:S1,minZoom:ae,maxZoom:pe,nodeExtent:et,onNodesChange:Up,onEdgesChange:Ua,snapToGrid:Te,snapGrid:_e,connectionMode:Y,translateExtent:Ae,connectOnClick:Gt,defaultEdgeOptions:ti,fitView:Hi,fitViewOptions:ei,onNodesDelete:R,onEdgesDelete:F,onDelete:U,onNodeDragStart:P,onNodeDrag:z,onNodeDragStop:B,onSelectionDrag:V,onSelectionDragStart:j,onSelectionDragStop:I,onMove:h,onMoveStart:p,onMoveEnd:g,noPanClassName:Jo,nodeOrigin:nr,rfId:qa,autoPanOnConnect:Yp,autoPanOnNodeDrag:E1,autoPanSpeed:dl,onError:Oc,connectionRadius:hl,isValidConnection:Hr,selectNodesOnDrag:Ct,nodeDragThreshold:Nc,connectionDragThreshold:Dc,onBeforeDelete:O,paneClickDistance:Cc,debug:pl,ariaLabelConfig:ml}),x.jsx(eee,{onSelectionChange:W}),Tc,x.jsx(XJ,{proOptions:Gp,position:qp}),x.jsx(WJ,{rfId:qa,disableKeyboardA11y:Mc})]})})}var Cte=uO(Ete);function kte({dimensions:e,lineWidth:t,variant:n,className:r}){return x.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Vt(["react-flow__background-pattern",n,r])})}function Tte({radius:e,className:t}){return x.jsx("circle",{cx:e,cy:e,r:e,className:Vt(["react-flow__background-pattern","dots",t])})}var Sn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Sn||(Sn={}));const Ate={[Sn.Dots]:1,[Sn.Lines]:1,[Sn.Cross]:6},Rte=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function qO({id:e,variant:t=Sn.Dots,gap:n=20,size:r,lineWidth:o=1,offset:a=0,color:s,bgColor:u,style:c,className:f,patternClassName:h}){const p=_.useRef(null),{transform:g,patternId:y}=Ze(Rte,Tt),w=r||Ate[t],v=t===Sn.Dots,S=t===Sn.Cross,E=Array.isArray(n)?n:[n,n],T=[E[0]*g[2]||1,E[1]*g[2]||1],k=w*g[2],A=Array.isArray(a)?a:[a,a],M=S?[k,k]:T,N=[A[0]*g[2]||1+M[0]/2,A[1]*g[2]||1+M[1]/2],P=`${y}${e||""}`;return x.jsxs("svg",{className:Vt(["react-flow__background",f]),style:{...c,...sp,"--xy-background-color-props":u,"--xy-background-pattern-color-props":s},ref:p,"data-testid":"rf__background",children:[x.jsx("pattern",{id:P,x:g[0]%T[0],y:g[1]%T[1],width:T[0],height:T[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${N[0]},-${N[1]})`,children:v?x.jsx(Tte,{radius:k/2,className:h}):x.jsx(kte,{dimensions:M,lineWidth:o,variant:t,className:h})}),x.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${P})`})]})}qO.displayName="Background";const Mte=_.memo(qO);function Ote(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:x.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Nte(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:x.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Dte(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:x.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 Pte(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.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 jte(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.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 up({children:e,className:t,...n}){return x.jsx("button",{type:"button",className:Vt(["react-flow__controls-button",t]),...n,children:e})}const Ite=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function GO({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:a,onZoomOut:s,onFitView:u,onInteractiveChange:c,className:f,children:h,position:p="bottom-left",orientation:g="vertical","aria-label":y}){const w=Et(),{isInteractive:v,minZoomReached:S,maxZoomReached:E,ariaLabelConfig:T}=Ze(Ite,Tt),{zoomIn:k,zoomOut:A,fitView:M}=ja(),N=()=>{k(),a?.()},P=()=>{A(),s?.()},z=()=>{M(o),u?.()},B=()=>{w.setState({nodesDraggable:!v,nodesConnectable:!v,elementsSelectable:!v}),c?.(!v)},R=g==="horizontal"?"horizontal":"vertical";return x.jsxs(ip,{className:Vt(["react-flow__controls",R,f]),position:p,style:e,"data-testid":"rf__controls","aria-label":y??T["controls.ariaLabel"],children:[t&&x.jsxs(x.Fragment,{children:[x.jsx(up,{onClick:N,className:"react-flow__controls-zoomin",title:T["controls.zoomIn.ariaLabel"],"aria-label":T["controls.zoomIn.ariaLabel"],disabled:E,children:x.jsx(Ote,{})}),x.jsx(up,{onClick:P,className:"react-flow__controls-zoomout",title:T["controls.zoomOut.ariaLabel"],"aria-label":T["controls.zoomOut.ariaLabel"],disabled:S,children:x.jsx(Nte,{})})]}),n&&x.jsx(up,{className:"react-flow__controls-fitview",onClick:z,title:T["controls.fitView.ariaLabel"],"aria-label":T["controls.fitView.ariaLabel"],children:x.jsx(Dte,{})}),r&&x.jsx(up,{className:"react-flow__controls-interactive",onClick:B,title:T["controls.interactive.ariaLabel"],"aria-label":T["controls.interactive.ariaLabel"],children:v?x.jsx(jte,{}):x.jsx(Pte,{})}),h]})}GO.displayName="Controls",_.memo(GO);function zte({id:e,x:t,y:n,width:r,height:o,style:a,color:s,strokeColor:u,strokeWidth:c,className:f,borderRadius:h,shapeRendering:p,selected:g,onClick:y}){const{background:w,backgroundColor:v}=a||{},S=s||w||v;return x.jsx("rect",{className:Vt(["react-flow__minimap-node",{selected:g},f]),x:t,y:n,rx:h,ry:h,width:r,height:o,style:{fill:S,stroke:u,strokeWidth:c},shapeRendering:p,onClick:y?E=>y(E,e):void 0})}const Lte=_.memo(zte),Fte=e=>e.nodes.map(t=>t.id),Uv=e=>e instanceof Function?e:()=>e;function $te({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o,nodeComponent:a=Lte,onClick:s}){const u=Ze(Fte,Tt),c=Uv(t),f=Uv(e),h=Uv(n),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return x.jsx(x.Fragment,{children:u.map(g=>x.jsx(Hte,{id:g,nodeColorFunc:c,nodeStrokeColorFunc:f,nodeClassNameFunc:h,nodeBorderRadius:r,nodeStrokeWidth:o,NodeComponent:a,onClick:s,shapeRendering:p},g))})}function Bte({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:o,nodeStrokeWidth:a,shapeRendering:s,NodeComponent:u,onClick:c}){const{node:f,x:h,y:p,width:g,height:y}=Ze(w=>{const{internals:v}=w.nodeLookup.get(e),S=v.userNode,{x:E,y:T}=v.positionAbsolute,{width:k,height:A}=Wo(S);return{node:S,x:E,y:T,width:k,height:A}},Tt);return!f||f.hidden||!gM(f)?null:x.jsx(u,{x:h,y:p,width:g,height:y,style:f.style,selected:!!f.selected,className:r(f),color:t(f),borderRadius:o,strokeColor:n(f),strokeWidth:a,shapeRendering:s,onClick:c,id:f.id})}const Hte=_.memo(Bte);var Vte=_.memo($te);const Ute=200,qte=150,Gte=e=>!e.hidden,Yte=e=>{const 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]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?pM(Xu(e.nodeLookup,{filter:Gte}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Wte="react-flow__minimap-desc";function YO({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:o="",nodeBorderRadius:a=5,nodeStrokeWidth:s,nodeComponent:u,bgColor:c,maskColor:f,maskStrokeColor:h,maskStrokeWidth:p,position:g="bottom-right",onClick:y,onNodeClick:w,pannable:v=!1,zoomable:S=!1,ariaLabel:E,inversePan:T,zoomStep:k=10,offsetScale:A=5}){const M=Et(),N=_.useRef(null),{boundingRect:P,viewBB:z,rfId:B,panZoom:R,translateExtent:F,flowWidth:U,flowHeight:W,ariaLabelConfig:j}=Ze(Yte,Tt),V=e?.width??Ute,I=e?.height??qte,H=P.width/V,q=P.height/I,G=Math.max(H,q),O=G*V,Y=G*I,Z=A*G,L=P.x-(O-P.width)/2-Z,te=P.y-(Y-P.height)/2-Z,he=O+Z*2,oe=Y+Z*2,de=`${Wte}-${B}`,le=_.useRef(0),ye=_.useRef();le.current=G,_.useEffect(()=>{if(N.current&&R)return ye.current=wJ({domNode:N.current,panZoom:R,getTransform:()=>M.getState().transform,getViewScale:()=>le.current}),()=>{ye.current?.destroy()}},[R]),_.useEffect(()=>{ye.current?.update({translateExtent:F,width:U,height:W,inversePan:T,pannable:v,zoomStep:k,zoomable:S})},[v,S,T,k,F,U,W]);const je=y?Te=>{const[_e,Xe]=ye.current?.pointer(Te)||[0,0];y(Te,{x:_e,y:Xe})}:void 0,Ne=w?_.useCallback((Te,_e)=>{const Xe=M.getState().nodeLookup.get(_e).internals.userNode;w(Te,Xe)},[]):void 0,we=E??j["minimap.ariaLabel"];return x.jsx(ip,{position:g,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*G: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 s=="number"?s:void 0},className:Vt(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:x.jsxs("svg",{width:V,height:I,viewBox:`${L} ${te} ${he} ${oe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":de,ref:N,onClick:je,children:[we&&x.jsx("title",{id:de,children:we}),x.jsx(Vte,{onClick:Ne,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:o,nodeStrokeWidth:s,nodeComponent:u}),x.jsx("path",{className:"react-flow__minimap-mask",d:`M${L-Z},${te-Z}h${he+Z*2}v${oe+Z*2}h${-he-Z*2}z
793
793
  M${z.x},${z.y}h${z.width}v${z.height}h${-z.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}YO.displayName="MiniMap";const Xte=_.memo(YO),Kte=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Zte={[Js.Line]:"right",[Js.Handle]:"bottom-right"};function Qte({nodeId:e,position:t,variant:n=Js.Handle,className:r,style:o=void 0,children:a,color:s,minWidth:u=10,minHeight:c=10,maxWidth:f=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:g,autoScale:y=!0,shouldResize:w,onResizeStart:v,onResize:S,onResizeEnd:E}){const T=mO(),k=typeof e=="string"?e:T,A=Et(),M=_.useRef(null),N=n===Js.Handle,P=Ze(_.useCallback(Kte(N&&y),[N,y]),Tt),z=_.useRef(null),B=t??Zte[n];_.useEffect(()=>{if(!(!M.current||!k))return z.current||(z.current=zJ({domNode:M.current,nodeId:k,getStoreItems:()=>{const{nodeLookup:F,transform:U,snapGrid:W,snapToGrid:j,nodeOrigin:V,domNode:I}=A.getState();return{nodeLookup:F,transform:U,snapGrid:W,snapToGrid:j,nodeOrigin:V,paneDomNode:I}},onChange:(F,U)=>{const{triggerNodeChanges:W,nodeLookup:j,parentLookup:V,nodeOrigin:I}=A.getState(),H=[],q={x:F.x,y:F.y},G=j.get(k);if(G&&G.expandParent&&G.parentId){const O=G.origin??I,Y=F.width??G.measured.width??0,Z=F.height??G.measured.height??0,L={id:G.id,parentId:G.parentId,rect:{width:Y,height:Z,...yM({x:F.x??G.position.x,y:F.y??G.position.y},{width:Y,height:Z},G.parentId,j,O)}},te=jv([L],j,V,I);H.push(...te),q.x=F.x?Math.max(O[0]*Y,F.x):void 0,q.y=F.y?Math.max(O[1]*Z,F.y):void 0}if(q.x!==void 0&&q.y!==void 0){const O={id:k,type:"position",position:{...q}};H.push(O)}if(F.width!==void 0&&F.height!==void 0){const Y={id:k,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:F.width,height:F.height}};H.push(Y)}for(const O of U){const Y={...O,type:"position"};H.push(Y)}W(H)},onEnd:({width:F,height:U})=>{const W={id:k,type:"dimensions",resizing:!1,dimensions:{width:F,height:U}};A.getState().triggerNodeChanges([W])}})),z.current.update({controlPosition:B,boundaries:{minWidth:u,minHeight:c,maxWidth:f,maxHeight:h},keepAspectRatio:p,resizeDirection:g,onResizeStart:v,onResize:S,onResizeEnd:E,shouldResize:w}),()=>{z.current?.destroy()}},[B,u,c,f,h,p,v,S,E,w]);const R=B.split("-");return x.jsx("div",{className:Vt(["react-flow__resize-control","nodrag",...R,n,r]),ref:M,style:{...o,scale:P,...s&&{[N?"backgroundColor":"borderColor"]:s}},children:a})}_.memo(Qte);function Jte(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,o]of e)if(!Object.is(o,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const{useRef:ene}=Qt;function qv(e){const t=ene();return n=>{const r=e(n);return Jte(t.current,r)?t.current:t.current=r}}const tne=()=>{const{group:e}=_n();return async(t,n)=>{if(e)return await e.group_nodes(t,n)}},nne=()=>{const{group:e}=_n();return async t=>{if(e)for(const n of t)await e.remove_group(n)}},rne=({data:e})=>{const t=e?.group?.id||e?.id,n=nne(),r=_.useCallback(o=>{o.stopPropagation(),t&&n([t])},[t,n]);return x.jsxs("div",{className:"fn-group",children:[x.jsx("button",{className:"fn-group-remove",title:"Remove group",onClick:r,children:x.jsx($d,{})}),"Group"]})},Gv=_.memo(({value:e})=>{const t=e?.toString()??"",n=Math.round(3*t.length/4);return x.jsx("div",{children:x.jsxs("pre",{children:["Bytes(",n,")"]})})}),WO=_.memo(({value:e})=>typeof e!="string"?x.jsx("div",{children:"Invalid SVG"}):x.jsx(NG,{value:e})),XO=({value:e,preValue:t,onLoaded:n})=>{const[r,o]=_.useState(t?.toString()||e?.toString());return _.useEffect(()=>{if(e===t||e==null)return;const s=new Image,u=e.toString();return s.onload=()=>{n?.(),o(u)},s.src=u,()=>{s.onload=null}},[e,t,n]),r===void 0?x.jsx(x.Fragment,{}):typeof r!="string"?(console.error("ImageRenderer: value is not a string",r),x.jsx(x.Fragment,{})):r.startsWith("data:")||r.startsWith("blob:")?x.jsx(DG,{src:r}):x.jsx(OG,{value:r,format:"jpeg"})},one=_.memo(({value:e})=>{let t="";try{t=JSON.stringify(e)}catch{}return x.jsx("div",{children:x.jsx("pre",{children:t})})}),cp=({value:e})=>x.jsx(mG,{data:e}),KO=_.memo(({value:e})=>{if(typeof e!="object"||e==null)return x.jsx("div",{children:"Invalid Table"});if(!("columns"in e&&"index"in e&&"data"in e))return x.jsx("div",{children:"Invalid Table"});if(!Array.isArray(e.columns)||!Array.isArray(e.index)||!Array.isArray(e.data)||!e.data.every(n=>Array.isArray(n)))return x.jsx("div",{children:"Invalid Table"});const t={columns:e.columns||[],index:e.index||[],data:e.data||[]};return x.jsx(fS,{tabledata:t})}),fp=e=>x.jsx(one,{...e}),dp=cp,Yv={string:fp,str:fp,table:KO,image:XO,svg:WO,dict:cp,bytes:Gv},ine={bytes:()=>{const e=At(),{full:t,preview:n}=e.valuestore(),r=JSON.stringify(t?.value||n?.value)||"";return`Bytes(${Math.round(3*r.length/4)})`}},hp=e=>({value:t,preValue:n,onLoaded:r})=>x.jsx(e,{value:t,preValue:n,onLoaded:r}),Pn=(e,t=void 0,n={})=>({})=>{const r=At(),{full:o,preview:a}=r.valuestore(),u=(o===void 0?a:o)?.value||t;return x.jsx(e,{value:u,...n})},ZO=e=>({})=>x.jsx(e,{}),QO=(e,t=void 0)=>({})=>{const n=At(),{full:r,preview:o}=n.valuestore(),s=(r===void 0?o:r)?.value||t;return x.jsx(e,{value:s})},ane={...Object.fromEntries(Object.entries(Yv).map(([e,t])=>[e,t?hp(t):void 0]))},JO=hp(cp),eN={...Object.fromEntries(Object.entries(Yv).map(([e,t])=>[e,t?Pn(t):void 0])),string:Pn(fp),str:Pn(fp),table:Pn(KO,void 0,{pageSize:10}),image:Pn(XO),svg:Pn(WO,""),dict:Pn(cp,"{}"),bytes:Pn(Gv,"")},sne={...Object.fromEntries(Object.entries(eN).map(([e,t])=>[e,t?ZO(t):void 0]))},lne=()=>{const e=At(),{preview:t,full:n}=e.valuestore();let r=(JSON.stringify(n||t)||"").replace(/\\n/g,`
794
794
  `);return r.length>63&&(r=r.slice(0,60)+"..."),x.jsx("div",{children:r})},une={},cne=({inputconverter:e})=>{const t=At(),{preview:n}=t.valuestore(),r=t.use(),o=n?.value===void 0,a=_.useRef(null),s=nl(r);_.useEffect(()=>{a.current&&(a.current.indeterminate=o)},[a,o]);const u=_.useCallback(c=>{let f=c.target.checked;try{f=e[0](c.target.checked)}catch{}s(f)},[s,e]);return x.jsx("input",{ref:a,type:"checkbox",className:"styledcheckbox booleaninput",checked:!!e[1](n?.value),onChange:u,disabled:r.connected})},fne=({})=>{const e=At(),t=tt(),n=e.use(),{preview:r,full:o}=e.valuestore(),a=o===void 0?r?.value:o.value,s=nl(n),u=typeof a=="string"||Array.isArray(a)&&a.every(g=>typeof g=="number")?a:void 0,c=n.value_options?.colorspace||"hex",f=_.useCallback(g=>{let y="<NoValue>";g&&(g[c]?y=g[c]():y=g.hex()),g===null&&(y=null);try{y=y}catch{}s(y)},[s,c]);let h=!1;typeof n.type!="string"&&"anyOf"in n.type&&n.type.anyOf!==void 0&&(h=n.type.anyOf.some(g=>g==="None"));const p=t.local_state(()=>t.reactflowRef);return x.jsx(vV,{onChange:f,inicolordata:u,allow_null:h,inicolorspace:c,portalContainer:p})};function tN(e,[t,n]){return Math.min(n,Math.max(t,e))}var dne=_.createContext(void 0);function pp(e){const t=_.useContext(dne);return e||t||"ltr"}function hne(e){const t=_.useRef({value:e,previous:e});return _.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var nN=["PageUp","PageDown"],rN=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],oN={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tl="Slider",[Wv,pne,mne]=fh(tl),[iN,Jpe]=Jr(tl,[mne]),[gne,mp]=iN(tl),aN=_.forwardRef((e,t)=>{const{name:n,min:r=0,max:o=100,step:a=1,orientation:s="horizontal",disabled:u=!1,minStepsBetweenThumbs:c=0,defaultValue:f=[r],value:h,onValueChange:p=()=>{},onValueCommit:g=()=>{},inverted:y=!1,form:w,...v}=e,S=_.useRef(new Set),E=_.useRef(0),k=s==="horizontal"?yne:vne,[A=[],M]=wi({prop:h,defaultProp:f,onChange:F=>{[...S.current][E.current]?.focus(),p(F)}}),N=_.useRef(A);function P(F){const U=Sne(A,F);R(F,U)}function z(F){R(F,E.current)}function B(){const F=N.current[E.current];A[E.current]!==F&&g(A)}function R(F,U,{commit:W}={commit:!1}){const j=Tne(a),V=Ane(Math.round((F-r)/a)*a+r,j),I=tN(V,[r,o]);M((H=[])=>{const q=wne(H,I,U);if(kne(q,c*a)){E.current=q.indexOf(I);const G=String(q)!==String(H);return G&&W&&g(q),G?q:H}else return H})}return x.jsx(gne,{scope:e.__scopeSlider,name:n,disabled:u,min:r,max:o,valueIndexToChangeRef:E,thumbs:S.current,values:A,orientation:s,form:w,children:x.jsx(Wv.Provider,{scope:e.__scopeSlider,children:x.jsx(Wv.Slot,{scope:e.__scopeSlider,children:x.jsx(k,{"aria-disabled":u,"data-disabled":u?"":void 0,...v,ref:t,onPointerDown:xe(v.onPointerDown,()=>{u||(N.current=A)}),min:r,max:o,inverted:y,onSlideStart:u?void 0:P,onSlideMove:u?void 0:z,onSlideEnd:u?void 0:B,onHomeKeyDown:()=>!u&&R(r,0,{commit:!0}),onEndKeyDown:()=>!u&&R(o,A.length-1,{commit:!0}),onStepKeyDown:({event:F,direction:U})=>{if(!u){const V=nN.includes(F.key)||F.shiftKey&&rN.includes(F.key)?10:1,I=E.current,H=A[I],q=a*V*U;R(H+q,I,{commit:!0})}}})})})})});aN.displayName=tl;var[sN,lN]=iN(tl,{startEdge:"left",endEdge:"right",size:"width",direction:1}),yne=_.forwardRef((e,t)=>{const{min:n,max:r,dir:o,inverted:a,onSlideStart:s,onSlideMove:u,onSlideEnd:c,onStepKeyDown:f,...h}=e,[p,g]=_.useState(null),y=yt(t,k=>g(k)),w=_.useRef(void 0),v=pp(o),S=v==="ltr",E=S&&!a||!S&&a;function T(k){const A=w.current||p.getBoundingClientRect(),M=[0,A.width],P=Zv(M,E?[n,r]:[r,n]);return w.current=A,P(k-A.left)}return x.jsx(sN,{scope:e.__scopeSlider,startEdge:E?"left":"right",endEdge:E?"right":"left",direction:E?1:-1,size:"width",children:x.jsx(uN,{dir:v,"data-orientation":"horizontal",...h,ref:y,style:{...h.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:k=>{const A=T(k.clientX);s?.(A)},onSlideMove:k=>{const A=T(k.clientX);u?.(A)},onSlideEnd:()=>{w.current=void 0,c?.()},onStepKeyDown:k=>{const M=oN[E?"from-left":"from-right"].includes(k.key);f?.({event:k,direction:M?-1:1})}})})}),vne=_.forwardRef((e,t)=>{const{min:n,max:r,inverted:o,onSlideStart:a,onSlideMove:s,onSlideEnd:u,onStepKeyDown:c,...f}=e,h=_.useRef(null),p=yt(t,h),g=_.useRef(void 0),y=!o;function w(v){const S=g.current||h.current.getBoundingClientRect(),E=[0,S.height],k=Zv(E,y?[r,n]:[n,r]);return g.current=S,k(v-S.top)}return x.jsx(sN,{scope:e.__scopeSlider,startEdge:y?"bottom":"top",endEdge:y?"top":"bottom",size:"height",direction:y?1:-1,children:x.jsx(uN,{"data-orientation":"vertical",...f,ref:p,style:{...f.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:v=>{const S=w(v.clientY);a?.(S)},onSlideMove:v=>{const S=w(v.clientY);s?.(S)},onSlideEnd:()=>{g.current=void 0,u?.()},onStepKeyDown:v=>{const E=oN[y?"from-bottom":"from-top"].includes(v.key);c?.({event:v,direction:E?-1:1})}})})}),uN=_.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:a,onHomeKeyDown:s,onEndKeyDown:u,onStepKeyDown:c,...f}=e,h=mp(tl,n);return x.jsx(Ue.span,{...f,ref:t,onKeyDown:xe(e.onKeyDown,p=>{p.key==="Home"?(s(p),p.preventDefault()):p.key==="End"?(u(p),p.preventDefault()):nN.concat(rN).includes(p.key)&&(c(p),p.preventDefault())}),onPointerDown:xe(e.onPointerDown,p=>{const g=p.target;g.setPointerCapture(p.pointerId),p.preventDefault(),h.thumbs.has(g)?g.focus():r(p)}),onPointerMove:xe(e.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&o(p)}),onPointerUp:xe(e.onPointerUp,p=>{const g=p.target;g.hasPointerCapture(p.pointerId)&&(g.releasePointerCapture(p.pointerId),a(p))})})}),cN="SliderTrack",fN=_.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=mp(cN,n);return x.jsx(Ue.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:t})});fN.displayName=cN;var Xv="SliderRange",dN=_.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=mp(Xv,n),a=lN(Xv,n),s=_.useRef(null),u=yt(t,s),c=o.values.length,f=o.values.map(g=>mN(g,o.min,o.max)),h=c>1?Math.min(...f):0,p=100-Math.max(...f);return x.jsx(Ue.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...r,ref:u,style:{...e.style,[a.startEdge]:h+"%",[a.endEdge]:p+"%"}})});dN.displayName=Xv;var Kv="SliderThumb",hN=_.forwardRef((e,t)=>{const n=pne(e.__scopeSlider),[r,o]=_.useState(null),a=yt(t,u=>o(u)),s=_.useMemo(()=>r?n().findIndex(u=>u.ref.current===r):-1,[n,r]);return x.jsx(bne,{...e,ref:a,index:s})}),bne=_.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:o,...a}=e,s=mp(Kv,n),u=lN(Kv,n),[c,f]=_.useState(null),h=yt(t,T=>f(T)),p=c?s.form||!!c.closest("form"):!0,g=hk(c),y=s.values[r],w=y===void 0?0:mN(y,s.min,s.max),v=_ne(r,s.values.length),S=g?.[u.size],E=S?Ene(S,w,u.direction):0;return _.useEffect(()=>{if(c)return s.thumbs.add(c),()=>{s.thumbs.delete(c)}},[c,s.thumbs]),x.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[u.startEdge]:`calc(${w}% + ${E}px)`},children:[x.jsx(Wv.ItemSlot,{scope:e.__scopeSlider,children:x.jsx(Ue.span,{role:"slider","aria-label":e["aria-label"]||v,"aria-valuemin":s.min,"aria-valuenow":y,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...a,ref:h,style:y===void 0?{display:"none"}:e.style,onFocus:xe(e.onFocus,()=>{s.valueIndexToChangeRef.current=r})})}),p&&x.jsx(pN,{name:o??(s.name?s.name+(s.values.length>1?"[]":""):void 0),form:s.form,value:y},r)]})});hN.displayName=Kv;var xne="RadioBubbleInput",pN=_.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const o=_.useRef(null),a=yt(o,r),s=hne(t);return _.useEffect(()=>{const u=o.current;if(!u)return;const c=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==t&&h){const p=new Event("input",{bubbles:!0});h.call(u,t),u.dispatchEvent(p)}},[s,t]),x.jsx(Ue.input,{style:{display:"none"},...n,ref:a,defaultValue:t})});pN.displayName=xne;function wne(e=[],t,n){const r=[...e];return r[n]=t,r.sort((o,a)=>o-a)}function mN(e,t,n){const a=100/(n-t)*(e-t);return tN(a,[0,100])}function _ne(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Sne(e,t){if(e.length===1)return 0;const n=e.map(o=>Math.abs(o-t)),r=Math.min(...n);return n.indexOf(r)}function Ene(e,t,n){const r=e/2,a=Zv([0,50],[0,r]);return(r-a(t)*n)*n}function Cne(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function kne(e,t){if(t>0){const n=Cne(e);return Math.min(...n)>=t}return!0}function Zv(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Tne(e){return(String(e).split(".")[1]||"").length}function Ane(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var Rne=aN,Mne=fN,One=dN,Nne=hN;function Dne(e){return e===0?0:Math.abs(e)<1e-12?e:Number(e.toPrecision(12))}const gN=({inputconverter:e,parser:t=n=>parseFloat(n)})=>{const n=At(),{preview:r}=n.valuestore(),o=n.use(),a=nl(o),[s,u]=_.useState(e[1](r?.value));_.useEffect(()=>{u(e[1](r?.value))},[r]);const c=_.useCallback(y=>{y=t(parseFloat(y.toString()).toString()),isNaN(y)?(y="<NoValue>",u("")):(o.value_options?.min!==void 0&&y<o.value_options.min&&(y=o.value_options.min),o.value_options?.max!==void 0&&y>o.value_options.max&&(y=o.value_options.max),y=Dne(y),u(y.toString()));try{y=e[0](y)}catch{}y!==r?.value&&a(y)},[o,e,a]),f=_.useCallback(y=>{c(y.target.value)},[c]);let h=o.connected?e[1](r?.value):s;h===void 0&&(h=o.value_options?.min),h===void 0&&(h=o.value_options?.max),h===void 0&&(h=""),h===null&&(h="");let p=null,g=1;return o.value_options?.step!==void 0?g=o.value_options.step:o.value_options?.max!==void 0&&o.value_options?.min!==void 0&&(g=(o.value_options?.max-o.value_options?.min)/1e3),o.value_options?.max!==void 0&&o.value_options?.min!==void 0&&!o.connected&&(p=x.jsx("div",{style:{minWidth:"6.25rem"},className:"SliderContainer",children:x.jsxs(Rne,{className:"SliderRoot",value:[h===void 0?o.value_options?.min:h],min:o.value_options?.min,max:o.value_options?.max,step:g,disabled:o.connected,onValueCommit:y=>{isNaN(y[0])||c(y[0])},onValueChange:y=>{isNaN(y[0])||u(y[0].toString())},onKeyDown:y=>{["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(y.key)&&y.stopPropagation()},children:[x.jsx(Mne,{className:"SliderTrack",children:x.jsx(One,{className:"SliderRange"})}),x.jsx(Nne,{className:"SliderThumb"})]})})),x.jsxs(x.Fragment,{children:[p,x.jsx("input",{type:"text",className:"nodedatainput styledinput numberinput",value:h,onChange:y=>u(y.target.value),onBlur:f,step:g,onKeyDown:y=>{if(!(y.ctrlKey||y.metaKey)){if(y.key==="ArrowUp"){y.shiftKey&&(g*=10);let w=(parseFloat(h)||0)+g;c(w);return}if(y.key==="ArrowDown"){y.shiftKey&&(g*=10);let w=(parseFloat(h)||0)-g;c(w);return}!/^[0-9.eE+-]$/.test(y.key)&&!["Backspace","ArrowLeft","ArrowRight","Delete","Tab"].includes(y.key)&&y.preventDefault()}},disabled:o.connected,min:o.value_options?.min,max:o.value_options?.max})]})},Pne=({inputconverter:e})=>gN({inputconverter:e,parser:parseFloat}),jne=({inputconverter:e})=>gN({inputconverter:e,parser:parseInt}),Ine=e=>e,zne=e=>parseFloat(e),Lne=e=>!!e,Fne=e=>e==="null"?null:e,$ne=e=>e==="nuinputconvertermber"?zne:e==="boolean"?Lne:e==="undefined"?Fne:Ine,nc=({inputconverter:e,parser:t})=>{const n=At(),r=n.use(),{preview:o,full:a}=n.valuestore(),s=a===void 0?o?.value:a.value,u=nl(r);let c=r.value_options?.options||[];Array.isArray(c)&&(c={type:"enum",values:c,keys:c.map(v=>v===null?"None":v.toString()),nullable:!1}),c.type!=="enum"&&(c={type:"enum",values:Object.values(c),keys:Object.keys(c),nullable:!1}),c=c,c.nullable&&!c.values.includes(null)&&!c.keys.includes("None")&&(c.values.unshift(null),c.keys.unshift("None"));const f=[];for(let v=0;v<c.values.length;v++){const S=c.values[v]===null||c.values[v]===void 0?"undefined":typeof c.values[v];let E=c.values[v];E===null&&(E="null"),E===void 0&&(E="undefined"),f.push([c.keys[v],E.toString(),S])}const h=_.useCallback(({value:v,datatype:S})=>{let T=(t||$ne(S))(v);try{T=e[0](v)}catch{}u(T)},[r,e,u]);let p=s;p===null&&(p="null"),p===void 0&&(p="undefined");const g=f.find(v=>v[1]===p.toString());let y;g!==void 0&&(y={value:g[1],label:g[0],datatype:g[2]});const w=f.map(v=>({value:v[1],label:v[0],datatype:v[2]}));return x.jsx(Zq,{className:"nodedatainput styleddropdown",options:w,defaultValue:y,onChange:v=>{if(v===null){h({value:"<NoValue>",datatype:"string"});return}h(v)}})},yN=({inputconverter:e})=>{const t=At(),{preview:n,full:r}=t.valuestore(),o=t.use(),a=r===void 0?n?.value:r?.value,s=nl(o),[u,c]=_.useState(e[1](a));_.useEffect(()=>{c(e[1](a))},[a]);const f=_.useCallback(y=>{let w=y.target.value;w||(w="<NoValue>");try{w=e[0](w)}catch{}w!==a&&s(w)},[s,e,a]);let h=o.connected?e[1](a):u;h==null&&(h=""),h=h.toString();const p=(h.toString().match(/\n/g)||[]).length,g=Math.max(...h.split(`
795
- `).map(y=>y.length),0);return x.jsx("textarea",{className:"nodedatainput styledinput stringinput",value:h,onChange:y=>c(y.target.value),onBlur:y=>{f(y)},disabled:o.connected,rows:p+1,cols:g+1})},yo={Inputrenderer:{float:Pne,int:jne,bool:cne,string:yN,str:yN,color:fne,select:nc,enum:nc,bytes:QO(Gv,"")},Outputrenderer:une,HandlePreviewRenderer:sne,DataOverlayRenderer:ane,DataPreviewViewRenderer:eN,DataViewRenderer:Yv,InLineRenderer:ine,NodeRenderer:{},NodeHooks:{}},Bne=(e,t)=>{const n=t.options||{},r=n.overwrite===void 0?!0:n.overwrite;switch(t.type){case"EXTEND_INPUT_RENDER":return!r&&e.Inputrenderer[t.payload.type]?e:{...e,Inputrenderer:{...e.Inputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_FROM_PLUGIN":{let s=!1;const u=[[t.payload.plugin.input_renderers||{},e.Inputrenderer],[t.payload.plugin.output_renderers||{},e.Outputrenderer],[t.payload.plugin.handle_preview_renderers||{},e.HandlePreviewRenderer],[t.payload.plugin.data_overlay_renderers||{},e.DataOverlayRenderer],[t.payload.plugin.data_preview_renderers||{},e.DataPreviewViewRenderer],[t.payload.plugin.data_view_renderers||{},e.DataViewRenderer],[t.payload.plugin.node_renderers||{},e.NodeRenderer],[t.payload.plugin.node_hooks||{},e.NodeHooks]];for(const[f,h]of u){if(Object.keys(f).length>0){if(r)s=!0;else for(const p in f)if(!h[p]){s=!0;break}}if(s)break}if(!s)return e;const c={...e};return u.forEach(([f,h])=>{Object.assign(h,f)}),c}default:const a={EXTEND_OUTPUT_RENDER:"Outputrenderer",EXTEND_HANDLE_PREVIEW_RENDER:"HandlePreviewRenderer",EXTEND_DATA_OVERLAY_RENDER:"DataOverlayRenderer",EXTEND_DATA_PREVIEW_RENDER:"DataPreviewViewRenderer",EXTEND_DATA_VIEW_RENDER:"DataViewRenderer",EXTEND_NODE_CONTEXT_EXTENDER:"NodeContextExtenders",EXTEND_NODE_RENDERER:"NodeRenderer",EXTEND_NODE_HOOKS:"NodeHooks"}[t.type];if(a){const s=e[a];return!r&&s[t.payload.type]?e:{...e,[a]:{...s,[t.payload.type]:t.payload.component}}}return e}},Hne=({children:e,plugins:t,fnrf_zst:n})=>{const[r,o]=_.useReducer(Bne,yo),a=(w,v,S)=>{o({type:"EXTEND_INPUT_RENDER",payload:{type:w,component:v},options:S})},s=(w,v,S)=>{o({type:"EXTEND_OUTPUT_RENDER",payload:{type:w,component:v},options:S})},u=(w,v,S)=>{o({type:"EXTEND_HANDLE_PREVIEW_RENDER",payload:{type:w,component:v},options:S})},c=(w,v,S)=>{o({type:"EXTEND_DATA_OVERLAY_RENDER",payload:{type:w,component:v},options:S})},f=(w,v,S)=>{o({type:"EXTEND_DATA_PREVIEW_RENDER",payload:{type:w,component:v},options:S})},h=(w,v,S)=>{o({type:"EXTEND_DATA_VIEW_RENDER",payload:{type:w,component:v},options:S})},p=(w,v,S)=>{o({type:"EXTEND_NODE_RENDERER",payload:{type:w,component:v},options:S})},g=(w,v,S)=>{o({type:"EXTEND_NODE_HOOKS",payload:{type:w,component:v},options:S})},y=(w,v)=>{o({type:"EXTEND_FROM_PLUGIN",payload:{plugin:w},options:v})};return _.useEffect(()=>{for(const w in t){const v=t[w];if(!v)continue;const S=v.renderpluginfactory;S&&y(S({React:ls,fnrf_zst:n,NodeContext:gp}))}},[t]),x.jsx(Ko.Provider,{value:{Inputrenderer:r.Inputrenderer,Outputrenderer:r.Outputrenderer,HandlePreviewRenderer:r.HandlePreviewRenderer,DataOverlayRenderer:r.DataOverlayRenderer,DataPreviewViewRenderer:r.DataPreviewViewRenderer,DataViewRenderer:r.DataViewRenderer,InLineRenderer:r.InLineRenderer,NodeRenderer:r.NodeRenderer,NodeHooks:r.NodeHooks,extendNodeRenderer:p,extendInputRenderMapping:a,extendOutputRenderMapping:s,extendHandlePreviewRenderMapping:u,extendDataOverlayRenderMapping:c,extendDataPreviewRenderMapping:f,extendDataViewRenderMapping:h,extendNodeHooks:g,extendFromPlugin:y},children:e})},Ko=_.createContext({Inputrenderer:yo.Inputrenderer,Outputrenderer:yo.Outputrenderer,HandlePreviewRenderer:yo.HandlePreviewRenderer,DataOverlayRenderer:yo.DataOverlayRenderer,DataPreviewViewRenderer:yo.DataPreviewViewRenderer,DataViewRenderer:yo.DataViewRenderer,InLineRenderer:yo.InLineRenderer,NodeRenderer:yo.NodeRenderer,NodeHooks:yo.NodeHooks,extendInputRenderMapping:(e,t,n)=>{},extendOutputRenderMapping:(e,t,n)=>{},extendHandlePreviewRenderMapping:(e,t,n)=>{},extendDataOverlayRenderMapping:(e,t,n)=>{},extendDataPreviewRenderMapping:(e,t,n)=>{},extendDataViewRenderMapping:(e,t,n)=>{},extendNodeRenderer:(e,t,n)=>{},extendNodeHooks:(e,t,n)=>{},extendFromPlugin:(e,t)=>{}}),vN=e=>{const t=tt(),{DataOverlayRenderer:n,DataViewRenderer:r}=_.useContext(Ko);if(e===void 0)return;const o=t.render_options(),[a]=Ia(e,o.typemap||{});return a?n[a]?n[a]:r[a]?hp(r[a]):JO:JO},Vne=e=>{const t=tt(),n=vN(e),{DataPreviewViewRenderer:r,DataViewRenderer:o}=_.useContext(Ko),a=t.render_options();if(e===void 0)return[void 0,n];const[s]=Ia(e,a.typemap||{});return s?r[s]?[r[s],n]:o[s]?[Pn(o[s]),n]:[Pn(dp),n]:[Pn(dp),n]},Une=e=>{const n=tt().render_options(),{HandlePreviewRenderer:r,DataPreviewViewRenderer:o}=_.useContext(Ko),a=vN(e);let s;if(e){const[u]=Ia(e,n.typemap||{});u?r[u]?s=r[u]:o[u]?s=o[u]:s=Pn(dp):s=Pn(dp)}return[s,a]},qne=e=>{const[t,n]=_.useState(!1),r=e.use(o=>o.in_trigger);return _.useEffect(()=>{let o;return r&&!t?n(!0):t&&(o=setTimeout(()=>n(!1),200)),()=>clearTimeout(o)},[r,t]),{visualTrigger:t,nodestore:e}},gp=_.createContext({}),Qn=()=>_.useContext(gp),ji=_.createContext(void 0);function At(e){if(e)return Qn().io_stores.get(e);{const t=_.useContext(ji);if(!t)throw new Error("IOContext not set");return t}}function nl(e){const{node:t}=_n();if(e||(e=At().use()),typeof e=="string"&&(e=At(e)?.use(),!e))throw new Error(`No IO found for ${e}`);if(!e)throw new Error("No IO found");return _.useCallback((r,o)=>{console.log("io value set",r),t?.set_io_value({nid:e.node,ioid:e.id,value:r,set_default:o??e.render_options.set_default})},[e,t])}function Gne(e){const{node:t}=_n();let n,r;if(!e){const s=At().useShallow(u=>({io_id:u.id,node_id:u.node}));n=s.io_id,r=s.node_id}if(typeof e=="string"){const a=At(e);if(!a)throw new Error(`No IO found for ${e}`);const s=a.useShallow(u=>({io_id:u.id,node_id:u.node}));n=s.io_id,r=s.node_id}else{if(!e)throw new Error("No IO found");n=e.id,r=e.node}return _.useCallback(a=>{t?.set_io_value_options({nid:r,ioid:n,values:a.values??a.keys,keys:a.keys,nullable:a.nullable??!1})},[t,n,r])}function Yne(e){return At(e)?.valuestore()}function yp(e){const t=At(e);if(!t)return;const{node:n,id:r}=t.useShallow(s=>({node:s.node,id:s.id})),{node:o}=_n();return _.useCallback(()=>o?.get_io_full_value({nid:n,ioid:r}),[o,n,r])}function Qv(e){const t=At(e);if(!t)return;const{node:n,id:r}=t.useShallow(s=>({node:s.node,id:s.id})),{node:o}=_n();return _.useCallback(s=>{o?.update_io_options({nid:n,ioid:r,options:{hidden:s}})},[o,n,r])}const bN=({iostore:e,Component:t})=>{const[n,r]=_.useState(void 0),[o,a]=_.useState(void 0),{full:s}=e.valuestore(),u=yp();_.useEffect(()=>{s===void 0?u?.():a(s.value)},[s,u]);const c=()=>{o!==void 0&&r(o)};return x.jsx(t,{value:o,preValue:n,onLoaded:c})},xN=({Component:e})=>x.jsx(e,{}),Ia=(e,t)=>wN(e.render_options?.type??"any",t),wN=(e,t)=>{if(typeof e=="string")return e in t?[t[e],e]:[e,e];if("allOf"in e&&e.allOf!==void 0)return[void 0,void 0];if("anyOf"in e&&e.anyOf!==void 0){const n=e.anyOf.map(r=>wN(r||"any",t));for(const r of n)switch(r[0]){case"bool":return["bool",r[1]];case"enum":return["enum",r[1]];case"float":return["float",r[1]];case"int":return["int",r[1]];case"string":return["string",r[1]];case"str":return["string",r[1]]}return[void 0,void 0]}return!("type"in e)||e.type===void 0?[void 0,void 0]:e.type==="enum"?["enum","enum"]:[void 0,void 0]},Jv=({typestring:e,preview:t,...n})=>{const[r,o]=_.useState(!1),[a,s]=_.useState(!1),u=tt(),c=At(),f=c.use(),h=yp(),[p,g]=Une(f),y=u.local_state(()=>u.reactflowRef);return x.jsxs(Ik,{open:r||a,onOpenChange:s,children:[x.jsx(zk,{asChild:!0,children:x.jsx(ec,{id:f.id,"data-type":e,...n})}),x.jsx(Lk,{container:y,children:x.jsxs(Fk,{className:"iotooltipcontent",sideOffset:5,avoidCollisions:!0,collisionBoundary:y,collisionPadding:10,onOpenAutoFocus:w=>w.preventDefault(),onCloseAutoFocus:w=>w.preventDefault(),children:[x.jsxs("div",{className:"iotooltip_container",children:[x.jsxs("div",{className:"iotooltip_header",children:[r?x.jsx(CB,{onClick:()=>o(!1)}):x.jsx(EB,{onClick:()=>o(!0)}),g&&x.jsx(Lo,{title:f.full_id,trigger:x.jsx(LC,{}),onOpenChange:w=>{w&&h?.(),o(w)},children:x.jsx(bN,{Component:g,iostore:c})})]}),p?x.jsx(xN,{Component:p}):`no preview available for "${e}"`]}),x.jsx(aV,{className:"iotooltipcontentarrow"})]})})]})},rl={"":[e=>e,e=>e],str_to_json:[e=>JSON.parse(e),e=>typeof e=="string"?e:JSON.stringify(e)],str_to_list:[e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch{try{return JSON.parse("["+e+"]")}catch{}}throw new Error("Invalid list")},e=>JSON.stringify(e)]},Wne=({setNodeSettingsPath:e,setShowSettings:t})=>{const r=tt().render_options(),a=At().use(),[s,u]=Ia(a,r.typemap||{}),{Inputrenderer:c}=_.useContext(Ko),f=s?a.value_options?.options?nc:c[s]:void 0,h=rl[(u&&r.inputconverter?.[u])??""]||rl[""],{keys:p}=J0(),g=y=>{p.has("s")&&(e&&e("inputs/"+a.id),t&&t(!0),y.stopPropagation())};return a.hidden?null:x.jsxs("div",{className:"nodeinput","data-type":s,onClick:g,children:[x.jsx(Jv,{typestring:s,position:ke.Left,type:"target"}),x.jsxs("div",{className:"inner_nodeio",children:[f&&x.jsx("div",{className:"iovaluefield nodrag","data-type":s,children:x.jsx(f,{inputconverter:h})}),x.jsx("div",{className:"ioname",children:a.name})]}),x.jsx(Jv,{typestring:s,position:ke.Right,type:"source"})]})},Xne=({setNodeSettingsPath:e,setShowSettings:t})=>{const r=tt().render_options(),a=At().use(),[s]=Ia(a,r.typemap||{}),{Outputrenderer:u}=_.useContext(Ko),{keys:c}=J0(),f=s?u[s]:void 0,h=p=>{c.has("s")&&(e&&e("outputs/"+a.id),t&&t(!0),p.stopPropagation())};return a.hidden?null:x.jsxs("div",{className:"nodeoutput","data-type":s,onClick:h,children:[x.jsx(Jv,{typestring:s,position:ke.Right,type:"source"}),x.jsxs("div",{className:"inner_nodeio",children:[x.jsx("div",{className:"ioname",children:a.name}),f?x.jsx("div",{className:"iovaluefield nodrag",children:x.jsx(f,{})}):x.jsx("div",{className:"iovaluefield",children:x.jsx(lne,{})})]})]})},Kne=()=>{const t=tt().render_options(),r=At().use(),o=Qv(),[a,s]=Ia(r,t.typemap||{}),{Inputrenderer:u}=_.useContext(Ko),c=a?r.value_options?.options?nc:u[a]:void 0,f=rl[(s&&t.inputconverter?.[s])??""]||rl[""];return x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:r.name}),c&&x.jsx(c,{inputconverter:f}),x.jsx("div",{children:x.jsxs("label",{children:["hidden:",x.jsx("input",{className:"styledcheckbox",type:"checkbox",disabled:r.connected,onChange:h=>{o?.(h.target.checked)},checked:r.hidden})]})})]})},Zne=()=>{const t=At().use(),n=Qv();return x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:t.name}),x.jsx("div",{children:x.jsxs("label",{children:["hidden:",x.jsx("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:r=>{n?.(r.target.checked)},checked:t.hidden})]})})]})},_N=({})=>{const e=tt(),{node:t}=_n(),r=At().use(),o=e.render_options(),a=Qv(),[s,u]=_.useState(r.name);_.useEffect(()=>u(r.name),[r.name]);const c=_.useCallback(v=>u(v.target.value),[]),f=_.useCallback(()=>{s!==r.name&&t?.update_io_options({nid:r.node,ioid:r.id,options:{name:s}})},[r,t,s]),[h,p]=Ia(r,o.typemap||{}),g=rl[(p&&o.inputconverter?.[p])??""]||rl[""],{Inputrenderer:y}=_.useContext(Ko),w=h?r.value_options?.options?nc:y[h]:void 0;return x.jsxs("div",{className:"nodesettings-io-entry funcnodes-control-group",children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`io-name-${r.id}`,children:"Name:"}),x.jsx("input",{id:`io-name-${r.id}`,type:"text",value:s,onChange:c,onBlur:f,className:"styledinput"})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"ID:"}),x.jsx("span",{children:r.id})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Value:"}),w&&x.jsx(w,{inputconverter:g})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Type:"}),x.jsx("pre",{children:JSON.stringify(r.type,null,2)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`io-hidden-${r.id}`,children:"Hidden:"}),x.jsx("input",{id:`io-hidden-${r.id}`,type:"checkbox",checked:r.hidden,onChange:v=>a?.(v.target.checked),className:"styledcheckbox",disabled:r.connected&&r.is_input})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Value Options:"}),x.jsx("pre",{children:JSON.stringify(r.value_options,null,2)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Render Options:"}),x.jsx("pre",{className:"code-display",children:JSON.stringify(r.render_options,null,2)})]}),r.is_input&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Does Trigger:"}),x.jsx("span",{children:String(r.does_trigger)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Required:"}),x.jsx("span",{children:String(r.required)})]})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Emit Value Set:"}),x.jsx("span",{children:String(r.emit_value_set)})]}),x.jsx("hr",{})]})},eb={xxs:0,xs:320,s:480,m:768,l:960,xl:1280,xxl:1920},Qne=Object.entries(eb).sort(([,e],[,t])=>t-e),SN=_.createContext(void 0),Jne=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}},ere=e=>{for(const[t,n]of Qne)if(e>=n)return t;return"xxs"},EN=_.memo(_.forwardRef((e,t)=>{const{className:n,children:r,...o}=e,[a,s]=_.useState({wKey:"m",w:0,h:0}),u=_.useRef(null);_.useImperativeHandle(t,()=>u.current,[]);const c=_.useCallback(h=>{const p=h.width,g=h.height,y=ere(p);s(w=>w.wKey===y&&w.w===p&&w.h===g?w:{wKey:y,w:p,h:g})},[]),f=_.useMemo(()=>Jne(c,16),[c]);return _.useEffect(()=>{const h=u.current;if(!h)return;const p=new ResizeObserver(g=>{const y=g[0];y&&f(y.contentRect)});return c(h.getBoundingClientRect()),p.observe(h),()=>{p.disconnect()}},[c,f]),x.jsx(SN.Provider,{value:a,children:x.jsx("div",{ref:u,className:`size-context w-${a.wKey} ${n||""}`.trim(),...o,children:r})})}));EN.displayName="SizeContextContainer";const tre=()=>{const e=_.useContext(SN);if(!e)throw new Error("useSizeContext must be used within a SizeContextContainerContext");return e},nre=(e,t)=>e===t?!1:e===""?!0:eb[e]<eb[t],rre=e=>{const{wKey:t}=tre();return nre(t,e)},CN=(e,t,n="",r="")=>{const o=[];return typeof e=="string"?o.push(`${t}-${e}`):typeof e=="boolean"?o.push(e?n:r):e&&typeof e=="object"&&Object.entries(e).forEach(([a,s])=>{if(typeof s=="string")o.push(a===""?`${t}-${s}`:`${a}-${t}-${s}`);else if(typeof s=="boolean"){const u=s?n:r;u&&o.push(a===""?u:`${a}-${u}`)}}),o.filter(Boolean).join(" ")},Ii=_.memo(({direction:e,className:t="",children:n,wrap:r=!1,grow:o=!1,...a})=>{const s="float-container",u=CN(e,"direction"),c=CN(o,"","grow","no-grow"),h=[s,u,c,typeof r=="boolean"&&r?"flex-wrap":"",t].filter(Boolean).join(" ");return x.jsx("div",{className:h,...a,children:n})});Ii.displayName="FloatContainer";const ore={up:e=>x.jsx(x.Fragment,{children:"▲"}),down:e=>x.jsx(x.Fragment,{children:"▼"}),left:e=>x.jsx(x.Fragment,{children:"◀"}),right:e=>x.jsx(x.Fragment,{children:"▶"})},ire={up:e=>x.jsx(x.Fragment,{children:"▲"}),down:e=>x.jsx(x.Fragment,{children:"▼"}),left:e=>x.jsx(x.Fragment,{children:"▶"}),right:e=>x.jsx(x.Fragment,{children:"◀"})},tb=_.memo(({direction:e,expanded:t=!0,children:n,className:r,maxSize:o="18.75rem",expanderSize:a="2rem",containerStyle:s,style:u,containerClassName:c,expandIcons:f,collapseIcons:h,onExpandChange:p,...g})=>{const[y,w]=_.useState(t);_.useEffect(()=>{w(t)},[t]);const v=_.useCallback(()=>{w(R=>{const F=!R;return p?.(F),F})},[p]),S=_.useCallback(R=>{(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),v())},[v]),E=e==="right"||e==="left",T=e==="left"||e==="up",k=y?h?.[e]||ire[e]:f?.[e]||ore[e],A=`${e} ${y?"expanded":"collapsed"}`,M=_.useMemo(()=>({[E?"width":"height"]:y?o:a}),[E,y,o,a]),N=_.useMemo(()=>({[E?"width":"height"]:y?o:0}),[E,y,o]),P=_.useMemo(()=>({[E?"width":"height"]:a}),[E,a]),z=x.jsx("div",{className:`expanding_container_content ${A} ${r||""}`.trim(),style:{...u,...N},...g,children:n}),B=x.jsx("div",{className:`expanding_container_expander ${A}`,onClick:v,onKeyDown:S,style:P,role:"button",tabIndex:0,"aria-label":`${y?"Collapse":"Expand"} ${e}`,children:x.jsx(k,{})});return x.jsxs("div",{className:`expanding_container ${A} ${c||""}`,style:{...s,...M},children:[T?B:z,T?z:B]})});tb.displayName="ExpandingContainer";const are=({nodestore:e})=>{const t=e.use();return x.jsx(gp.Provider,{value:e,children:x.jsxs("div",{className:"nodesettings_content",children:[x.jsx("div",{className:"nodesettings_section",children:x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:"Name"}),x.jsx("div",{children:x.jsx(sb,{})})]})}),x.jsxs("div",{className:"nodesettings_section",children:[x.jsx("div",{children:"Inputs"}),t.inputs.map(n=>{const r=e.io_stores.get(n);if(r)return x.jsx(ji.Provider,{value:r,children:x.jsx(Kne,{})},n)})]}),x.jsxs("div",{className:"nodesettings_section",children:[x.jsx("div",{children:"Outputs"}),t.outputs.map(n=>{const r=e.io_stores.get(n);if(r)return x.jsx(ji.Provider,{value:r,children:x.jsx(Zne,{})},n)})]})]})})},sre=()=>{const e=tt(),t=e.local_state(r=>r.selected_nodes);if(t.length===0)return x.jsx("div",{children:"Node Settings"});if(t.length>1)return x.jsx("div",{children:"Multiple Nodes Selected"});const n=e.nodespace.get_node(t[0]);return n?x.jsx(are,{nodestore:n}):x.jsx("div",{children:"Node not found"})},lre=()=>{const e=tt(),t=e.local_settings(r=>r.view_settings.expand_node_props),n=r=>{e.update_view_settings({expand_node_props:r})};return x.jsx(tb,{direction:"left",expanded:t===void 0?!1:t,containerClassName:"pos-right pos-top bg1 h-12",className:"nodesettings_content",onExpandChange:n,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsx(sre,{})})};var nb="rovingFocusGroup.onEntryFocus",ure={bubbles:!1,cancelable:!0},rc="RovingFocusGroup",[rb,kN,cre]=fh(rc),[fre,vp]=Jr(rc,[cre]),[dre,hre]=fre(rc),TN=_.forwardRef((e,t)=>x.jsx(rb.Provider,{scope:e.__scopeRovingFocusGroup,children:x.jsx(rb.Slot,{scope:e.__scopeRovingFocusGroup,children:x.jsx(pre,{...e,ref:t})})}));TN.displayName=rc;var pre=_.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:f,preventScrollOnEntryFocus:h=!1,...p}=e,g=_.useRef(null),y=yt(t,g),w=pp(a),[v,S]=wi({prop:s,defaultProp:u??null,onChange:c,caller:rc}),[E,T]=_.useState(!1),k=Mn(f),A=kN(n),M=_.useRef(!1),[N,P]=_.useState(0);return _.useEffect(()=>{const z=g.current;if(z)return z.addEventListener(nb,k),()=>z.removeEventListener(nb,k)},[k]),x.jsx(dre,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:v,onItemFocus:_.useCallback(z=>S(z),[S]),onItemShiftTab:_.useCallback(()=>T(!0),[]),onFocusableItemAdd:_.useCallback(()=>P(z=>z+1),[]),onFocusableItemRemove:_.useCallback(()=>P(z=>z-1),[]),children:x.jsx(Ue.div,{tabIndex:E||N===0?-1:0,"data-orientation":r,...p,ref:y,style:{outline:"none",...e.style},onMouseDown:xe(e.onMouseDown,()=>{M.current=!0}),onFocus:xe(e.onFocus,z=>{const B=!M.current;if(z.target===z.currentTarget&&B&&!E){const R=new CustomEvent(nb,ure);if(z.currentTarget.dispatchEvent(R),!R.defaultPrevented){const F=A().filter(I=>I.focusable),U=F.find(I=>I.active),W=F.find(I=>I.id===v),V=[U,W,...F].filter(Boolean).map(I=>I.ref.current);MN(V,h)}}M.current=!1}),onBlur:xe(e.onBlur,()=>T(!1))})})}),AN="RovingFocusGroupItem",RN=_.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:s,...u}=e,c=eo(),f=a||c,h=hre(AN,n),p=h.currentTabStopId===f,g=kN(n),{onFocusableItemAdd:y,onFocusableItemRemove:w,currentTabStopId:v}=h;return _.useEffect(()=>{if(r)return y(),()=>w()},[r,y,w]),x.jsx(rb.ItemSlot,{scope:n,id:f,focusable:r,active:o,children:x.jsx(Ue.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...u,ref:t,onMouseDown:xe(e.onMouseDown,S=>{r?h.onItemFocus(f):S.preventDefault()}),onFocus:xe(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:xe(e.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){h.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const E=yre(S,h.orientation,h.dir);if(E!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let k=g().filter(A=>A.focusable).map(A=>A.ref.current);if(E==="last")k.reverse();else if(E==="prev"||E==="next"){E==="prev"&&k.reverse();const A=k.indexOf(S.currentTarget);k=h.loop?vre(k,A+1):k.slice(A+1)}setTimeout(()=>MN(k))}}),children:typeof s=="function"?s({isCurrentTabStop:p,hasTabStop:v!=null}):s})})});RN.displayName=AN;var mre={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function gre(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function yre(e,t,n){const r=gre(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return mre[r]}function MN(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function vre(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ON=TN,NN=RN,bp="Tabs",[bre,rme]=Jr(bp,[vp]),DN=vp(),[xre,ob]=bre(bp),PN=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:s="horizontal",dir:u,activationMode:c="automatic",...f}=e,h=pp(u),[p,g]=wi({prop:r,onChange:o,defaultProp:a??"",caller:bp});return x.jsx(xre,{scope:n,baseId:eo(),value:p,onValueChange:g,orientation:s,dir:h,activationMode:c,children:x.jsx(Ue.div,{dir:h,"data-orientation":s,...f,ref:t})})});PN.displayName=bp;var jN="TabsList",IN=_.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,a=ob(jN,n),s=DN(n);return x.jsx(ON,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:r,children:x.jsx(Ue.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});IN.displayName=jN;var zN="TabsTrigger",LN=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,s=ob(zN,n),u=DN(n),c=BN(s.baseId,r),f=HN(s.baseId,r),h=r===s.value;return x.jsx(NN,{asChild:!0,...u,focusable:!o,active:h,children:x.jsx(Ue.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":f,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...a,ref:t,onMouseDown:xe(e.onMouseDown,p=>{!o&&p.button===0&&p.ctrlKey===!1?s.onValueChange(r):p.preventDefault()}),onKeyDown:xe(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&s.onValueChange(r)}),onFocus:xe(e.onFocus,()=>{const p=s.activationMode!=="manual";!h&&!o&&p&&s.onValueChange(r)})})})});LN.displayName=zN;var FN="TabsContent",$N=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:a,...s}=e,u=ob(FN,n),c=BN(u.baseId,r),f=HN(u.baseId,r),h=r===u.value,p=_.useRef(h);return _.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),x.jsx(Rr,{present:o||h,children:({present:g})=>x.jsx(Ue.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!g,id:f,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&a})})});$N.displayName=FN;function BN(e,t){return`${e}-trigger-${t}`}function HN(e,t){return`${e}-content-${t}`}var ib=PN,ab=IN,oc=LN,ic=$N;const wre=({})=>{const e=tt(),t=Qn(),{description:n,id:r,node_id:o,node_name:a,reset_inputs_on_trigger:s}=t.useShallow(p=>({description:p.description,id:p.id,node_id:p.node_id,node_name:p.node_name,reset_inputs_on_trigger:p.reset_inputs_on_trigger})),[u,c]=_.useState(n||"");_.useEffect(()=>c(n||""),[n]);const f=p=>c(p.target.value),h=()=>{u!==(n||"")&&e.on_node_action({type:"update",from_remote:!1,id:r,node:{description:u}})};return x.jsxs("div",{className:"nodesettings-section funcnodes-control-group",children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`node-name-${r}`,children:"Name:"}),x.jsx(sb,{})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Instance ID:"}),x.jsx("span",{children:r})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Node Type ID:"}),x.jsx("span",{children:o})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Node Type Name:"}),x.jsx("span",{children:a})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`node-desc-${r}`,children:"Description:"}),x.jsx("textarea",{id:`node-desc-${r}`,value:u,onChange:f,onBlur:h,className:"styledinput",rows:3})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Reset Inputs on Trigger:"}),x.jsx("input",{type:"checkbox",checked:s,onChange:p=>{e.on_node_action({type:"update",from_remote:!1,id:r,node:{reset_inputs_on_trigger:p.target.checked}})},className:"styledcheckbox"})]})]})},_re=({splitnodesettingsPath:e=[]})=>{const t=Qn(),n=t.use(r=>r.inputs);return x.jsxs(ib,{defaultValue:e[0]||n[0],className:"nodesettings-tabs funcnodes-control-root",children:[x.jsx(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node inputs",children:n.map(r=>x.jsx(oc,{value:r,className:"nodesettings-tabs-trigger",children:r},r))}),n.map(r=>{const o=t.io_stores.get(r);return x.jsx(ic,{value:r,className:"nodesettings-tabs-content nodesettings-io-list",children:o&&x.jsx(ji.Provider,{value:o,children:x.jsx(_N,{})})},r)})]})},Sre=({splitnodesettingsPath:e=[]})=>{const t=Qn(),n=t.use(r=>r.outputs);return x.jsxs(ib,{defaultValue:e[0]||n[0],className:"nodesettings-tabs funcnodes-control-root",children:[x.jsx(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node outputs",children:n.map(r=>x.jsx(oc,{value:r,className:"nodesettings-tabs-trigger",children:r},r))}),n.map(r=>{const o=t.io_stores.get(r);return x.jsx(ic,{value:r,className:"nodesettings-tabs-content nodesettings-io-list",children:o&&x.jsx(ji.Provider,{value:o,children:x.jsx(_N,{})})},r)})]})},Ere=({nodeSettingsPath:e})=>{const t=e.split("/")||["general"];return x.jsxs(ib,{defaultValue:t[0]||"general",className:"nodesettings-tabs funcnodes-control-root",children:[x.jsxs(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node settings",children:[x.jsx(oc,{value:"general",className:"nodesettings-tabs-trigger",children:"General"}),x.jsx(oc,{value:"inputs",className:"nodesettings-tabs-trigger",children:"Inputs"}),x.jsx(oc,{value:"outputs",className:"nodesettings-tabs-trigger",children:"Outputs"})]}),x.jsx(ic,{value:"general",className:"nodesettings-tabs-content",children:x.jsx(wre,{})}),x.jsx(ic,{value:"inputs",className:"nodesettings-tabs-content nodesettings-io-list",children:x.jsx(_re,{splitnodesettingsPath:t.slice(1)})}),x.jsx(ic,{value:"outputs",className:"nodesettings-tabs-content nodesettings-io-list",children:x.jsx(Sre,{splitnodesettingsPath:t.slice(1)})})]})},Cre=_.memo(({isOpen:e,onOpenChange:t,nodeSettingsPath:n})=>{const o=Qn().use(a=>a.id);return x.jsx(Lo,{title:`Node Settings: ${o}`,open:e,onOpenChange:t,dialogClassName:"nodesettings-dialog",children:x.jsx(Ere,{nodeSettingsPath:n})})}),kre=_.memo(({toogleShowSettings:e})=>{const t=tt(),{node:n}=_n(),r=Qn(),{id:o,description:a,node_name:s}=r.useShallow(c=>({id:c.id,description:c.description,node_name:c.node_name})),u=_.useCallback(()=>{t.on_node_action({type:"trigger",from_remote:!1,id:o})},[t,o]);return x.jsxs("div",{className:"nodeheader",title:a||s,children:[x.jsxs("div",{className:"nodeheader_element",children:[x.jsx(TB,{fontSize:"inherit",className:"triggerbutton nodeheaderbutton ",onClick:u}),x.jsx(kB,{fontSize:"inherit",className:"nodestatusbutton nodeheaderbutton",onClick:async()=>{n&&console.log("nodestatus",await n.get_node_status(o))}}),x.jsx(RB,{fontSize:"inherit",className:"nodesettingsbutton nodeheaderbutton",onClick:()=>{e?.()}})]}),x.jsx("div",{className:"nodeheader_element nodeheader_title",children:x.jsx("div",{className:"nodeheader_title_text",children:s})}),x.jsx("div",{className:"nodeheader_element",children:x.jsx(xu,{fontSize:"inherit"})})]})}),Tre=_.memo(({iostore:e})=>{const t=e.use(),r=Qn().use(u=>u.render_options),o=yp(t.id),[a,s]=Vne(t);return x.jsx("div",{className:"nodrag nodedatabody","data-src":r?.data?.src||"",children:a&&t&&x.jsx(ji.Provider,{value:e,children:x.jsx(Lo,{title:t.full_id,trigger:x.jsx("div",{className:"nodedatabutton",children:x.jsx(xN,{Component:a})}),onOpenChange:u=>{u&&o?.()},children:s&&x.jsx(bN,{Component:s,iostore:e})})})})}),Are=_.memo(({setShowSettings:e,setNodeSettingsPath:t})=>{const n=Qn(),{render_options:r,outputs:o,inputs:a}=n.useShallow(u=>({render_options:u.render_options,outputs:u.outputs,inputs:u.inputs})),s=r?.data?.src?n.io_stores.get(r?.data?.src):void 0;return x.jsxs("div",{className:"nodebody nowheel ",children:[o.map(u=>{const c=n.io_stores.get(u);if(c)return x.jsx(ji.Provider,{value:c,children:x.jsx(Xne,{setNodeSettingsPath:t,setShowSettings:e})},u)}),s&&x.jsx(Tre,{iostore:s}),a.map(u=>{const c=n.io_stores.get(u);if(c)return x.jsx(ji.Provider,{value:c,children:x.jsx(Wne,{setNodeSettingsPath:t,setShowSettings:e})},u)})]})}),sb=()=>{const e=Qn(),{original_name:t,id:n}=e.useShallow(c=>({original_name:c.name,id:c.id})),[r,o]=_.useState(t);_.useEffect(()=>{o(t)},[t]);const a=tt(),s=c=>{o(c.target.value)},u=c=>{const f=c.target.value;f!==t&&a.on_node_action({type:"update",from_remote:!1,id:n,node:{name:f}})};return x.jsx("input",{className:"nodename_input",value:r,onChange:s,onBlur:u})},Rre=()=>{const t=Qn().use(n=>n.progress);return t?x.jsx(vG,{state:t,className:"nodeprogress"}):null},Mre=_.memo(()=>{const t=Qn().use(n=>n.error);return x.jsxs("div",{className:"nodefooter",children:[t&&x.jsx("div",{className:"nodeerror",children:t}),x.jsx(Rre,{})]})}),Ore=()=>{const e=Qn(),{collapsed:t,error:n,node_id:r}=e.useShallow(w=>({collapsed:w.properties["frontend:collapsed"]||!1,error:w.error,node_id:w.node_id})),{visualTrigger:o}=qne(e),[a,s]=_.useState(!1),[u,c]=_.useState(""),{keys:f}=J0(),p=_.useContext(Ko).NodeHooks[r]??[],g=_.useCallback(()=>{s(w=>!w)},[]),y=w=>{f.has("s")&&!a&&(c(""),s(!0),w.stopPropagation())};return x.jsxs("div",{className:"innernode"+(o?" intrigger":"")+(n?" error":""),onClick:y,children:[x.jsx(kre,{toogleShowSettings:g}),x.jsx(sb,{}),t?null:x.jsx(Are,{setNodeSettingsPath:c,setShowSettings:s}),x.jsx(Mre,{}),x.jsx(Cre,{isOpen:a,onOpenChange:s,nodeSettingsPath:u}),p.map((w,v)=>x.jsx(_.Fragment,{children:x.jsx(w,{})},v))]})},Nre=_.memo(({data:e})=>x.jsx(gp.Provider,{value:e.nodestore,children:x.jsx(Ore,{})}),(e,t)=>e.data.nodestore===t.data.nodestore),Dre=({id:e,sourceX:t,sourceY:n,targetX:r,targetY:o,sourcePosition:a,targetPosition:s,data:u,...c})=>{const[f]=Av({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:o,targetPosition:s});return x.jsx(x.Fragment,{children:x.jsx(tc,{id:e,path:f,...c})})},Pre={default:Nre,group:rne},jre={default:Dre},Ire=e=>({nodes:e.getNodes(),edges:e.getEdges(),onNodesChange:e.onNodesChange,onEdgesChange:e.onEdgesChange,onConnect:e.onConnect}),lb=e=>{const t=new Set,n=e.filter(o=>o.type==="group");n.forEach(o=>{t.add(o.id)});const r=e.filter(o=>!t.has(o.id));return{group_nodes:n,default_nodes:r}};function ub(e){const t=new Map(e.map(s=>[s.id,s])),n=new Map,r=[];for(const s of e)if(n.has(s.id)||n.set(s.id,[]),s.parentId&&t.has(s.parentId)){const u=t.get(s.parentId);if(u){const c=n.get(u.id)||[];c.push(s),n.set(u.id,c)}else r.push(s)}else r.push(s);const o=[];function a(s){o.push(s);const u=n.get(s.id)||[];for(const c of u)a(c)}for(const s of r)a(s);if(o.length!==e.length){console.warn("Sorting mismatch: Not all nodes could be placed. Check for circular dependencies or missing parents.");const s=new Set(o.map(u=>u.id));e.forEach(u=>{s.has(u.id)||o.push(u)})}return o}const VN=()=>{const{getNodes:e}=ja();return{getNodes:e,getSelectedNodes:o=>(o===void 0&&(o=e()),o.filter(a=>a.selected)),getSplitNodes:o=>{o===void 0&&(o=e());const{group_nodes:a,default_nodes:s}=lb(o);return{group_nodes:a,default_nodes:s}},getSortedNodes:o=>(o===void 0&&(o=e()),ub(o))}},UN=(e,t)=>{const n=e.getState(),{new_obj:r,change:o}=ha(n,t);o&&e.setState(r)},qN=e=>gr(e);function GN(e){return e!=null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}const YN=e=>{let t=e.io??{},n=e.io_order,r=[];const o={};if(n===void 0)if(Array.isArray(t)){const a=t.filter(GN);r=a.map(s=>s.id);for(const s of a)o[s.id]=s}else{r=Object.keys(t);for(const a in t)t[a]!==void 0&&(o[a]=t[a])}else if(r=n,Array.isArray(t)){const a=t.filter(GN);for(const s of a)o[s.id]=s,r.includes(s.id)||r.push(s.id)}else for(const a in t)t[a]!==void 0&&(o[a]=t[a]),r.includes(a)||r.push(a);return{...e,io_order:r,io:o}},zre={id:"dummy",node_id:"dummy",node_name:"dummy",properties:{"frontend:size":[200,100],"frontend:pos":[NaN,NaN],"frontend:collapsed":!1},io:{},io_order:[],name:"dummy",in_trigger:!1,reset_inputs_on_trigger:!1,progress:{ascii:!1,elapsed:0,initial:0,n:0,prefix:"idle",unit:"it",unit_divisor:1e3,unit_scale:!1}},Lre={id:"dummy",name:"dummy",node:"dummy",full_id:"dummy",type:"any",value:void 0,is_input:!1,connected:!1,does_trigger:!0,fullvalue:void 0,render_options:{set_default:!0,type:"any"},hidden:!1,emit_value_set:!0,required:!1},Fre=pg(zre),$re=pg(Lre),Bre=e=>{const t=e.io_order;if(t===void 0)throw new Error("Node must have io_order");return{...e,inputs:Object.keys(e.io).filter(r=>e.io[r].is_input),outputs:Object.keys(e.io).filter(r=>!e.io[r].is_input),io_order:t}},Hre=e=>(e.value==="<NoValue>"&&(e.value=void 0),e.fullvalue==="<NoValue>"&&(e.fullvalue=void 0),e.hidden===void 0&&(e.hidden=!1),[{...e},e.value,e.fullvalue]),Vre=e=>{if(!e.id)throw new Error("Node must have an id");const t=Fre(e);return Bre(t)},Ure=(e,t)=>{const n=e.getState(),r={},o=YN(t),a=Object.keys(o);for(const s of a)switch(s){case"id":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"node_id":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"node_name":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"name":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"in_trigger":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"error":{o[s]!==n[s]&&(r[s]=o[s]);break}case"render_options":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"io_order":{const[u,c]=((f,h)=>h===void 0?[f,!1]:[h,!hg(f,h)])(n[s],o[s]);c&&(r[s]=u.filter(f=>f!==void 0));break}case"io":{const u=o[s];if(u===void 0)break;for(const c in u){const f=e.io_stores.get(c);if(!f){console.error("io key not found in oldvalue:",c);continue}f.update(u[c])}break}case"progress":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"description":{r[s]=o[s];break}case"properties":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"status":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"reset_inputs_on_trigger":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}default:try{Uw(s,o[s])}catch(u){console.error(u)}}Object.keys(r).length>0&&e.setState(r)},qre=(e,t)=>{const n=e.getState(),r={},o={},a=Object.keys(t);for(const s of a)switch(s){case"name":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"id":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"connected":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"does_trigger":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"hidden":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"full_id":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"is_input":break;case"node":break;case"type":break;case"value":{o.preview=t[s];break}case"fullvalue":{o.full=t[s];break}case"render_options":{const[u,c]=us(n[s],t[s]);c&&(r[s]=u);break}case"value_options":{const[u,c]=us(n[s],t[s]);c&&(r[s]=u);break}case"valuepreview_type":{r[s]=t[s];break}case"emit_value_set":{r[s]=t[s];break}case"default":{r[s]=t[s];break}case"required":{r[s]=t[s];break}default:try{Uw(s,t[s])}catch(u){console.error(u)}}Object.keys(o).length>0&&e.updateValueStore(o),Object.keys(r).length>0&&e.setState(r)},Gre=e=>{if(!e.id)throw new Error("IO must have an id but is missing for "+JSON.stringify(e));e.name===void 0&&(e.name=e.id);const t=$re(e);return(t.render_options.type==="any"||t.render_options.type===void 0)&&(t.render_options.type=t.type),Hre(t)},Yre=(e,t)=>{let n;const[r,o,a]=Gre(t);return n={io_state:qN((s,u)=>r),use:s=>s?n.io_state(s):n.io_state(),useShallow:s=>n.io_state(qv(s)),getState:()=>n.io_state.getState(),setState:s=>{n.io_state.setState(s)},update:s=>{qre(n,s)},valuestore:gr((s,u)=>{let c=o;c==="<NoValue>"&&(c=void 0),!(c instanceof uo)&&c!==void 0&&(c=Oi.fromObject(c));let f=a;return f==="<NoValue>"&&(f=void 0),!(f instanceof uo)&&f!==void 0&&(f=Oi.fromObject(f)),{preview:c,full:f}}),updateValueStore:s=>{n.valuestore.setState(u=>(u.preview&&typeof u.preview.dispose=="function"&&u.preview.dispose(),u.full&&typeof u.full.dispose=="function"&&u.full.dispose(),s.preview!==void 0&&s.full===void 0&&(s.full=void 0,u.full=void 0),s.preview!==void 0&&!(s.preview instanceof uo)&&(s.preview=Oi.fromObject(s.preview)),s.full!==void 0&&!(s.full instanceof uo)&&(s.full=Oi.fromObject(s.full)),{...u,...s}))},node:e,serialize:()=>{const s=n.io_state.getState(),u=n.valuestore.getState();return{...s,value:u.preview,fullvalue:u.full,render_options:s.render_options,valuepreview_type:s.valuepreview_type,emit_value_set:s.emit_value_set}}},n},Wre=e=>{const t={use:a=>a?r.node_state(a):r.node_state(),useShallow:a=>r.node_state(qv(a)),io_stores:new Map,getState:()=>r.node_state.getState(),setState:a=>{r.node_state.setState(a)},update:a=>{Ure(r,a)},serialize:()=>({...r.node_state.getState(),io:Object.fromEntries(Array.from(r.io_stores.entries()).map(([u,c])=>[u,c.serialize()]))})},n=YN(e),r={...t,node_state:qN((a,s)=>Vre(n))},o=n.io;return Object.entries(o).forEach(([a,s])=>{s!==void 0&&r.io_stores.set(a,Yre(n.id,s))}),r},Xre=()=>{const e=tt();return{onSelectionChange:_.useCallback(({nodes:n,edges:r})=>{const{group_nodes:o,default_nodes:a}=lb(n),s=e.local_state.getState();e.local_state.setState({...s,selected_nodes:a.map(u=>u.id),selected_edges:r.map(u=>u.id),selected_groups:o.map(u=>u.id)})},[e])}},Kre=()=>{const e=ja(),t=tt();return t.rf_instance=e,x.jsx(x.Fragment,{})},Zre=()=>{const e=tt(),{getEdges:t}=ja(),{getSelectedNodes:n}=VN();return{copySelectedNodes:_.useCallback(()=>{const o=t(),a=n();if(a.length===0)return;const s={nodes:[],edges:[]};for(const f of a){const h=e.nodespace.get_node(f.id,!1);h&&s.nodes.push(h.serialize())}const u=new Set(a.map(f=>f.id)),c=o.filter(f=>u.has(f.source)&&u.has(f.target));for(const f of c)!f.sourceHandle||!f.targetHandle||s.edges.push({src_nid:f.source,src_ioid:f.sourceHandle,trg_nid:f.target,trg_ioid:f.targetHandle});navigator.clipboard.writeText(JSON.stringify(s))},[n,t,e])}},Qre=()=>{const e=Xo("Delete"),t=Xo(["Meta+c","Control+c","Strg+c"]),n=Xo(["Control+g","Meta+g"]),r=Xo(["Control+Alt+g","Meta+Alt+g"]),o=tne(),{getEdges:a}=ja(),{getNodes:s,getSelectedNodes:u,getSplitNodes:c}=VN(),{copySelectedNodes:f}=Zre(),{node:h,group:p,edge:g}=_n();return _.useEffect(()=>{if(e){const y=a().filter(E=>E.selected);for(const E of y)!E.source||!E.target||!E.sourceHandle||!E.targetHandle||g?.remove_edge({src_nid:E.source,src_ioid:E.sourceHandle,trg_nid:E.target,trg_ioid:E.targetHandle});const w=u(),{group_nodes:v,default_nodes:S}=c(w);for(const E of S)h?.remove_node(E.id);for(const E of v)p?.remove_group(E.id)}},[e,s,a,h,p,g]),_.useEffect(()=>{t&&f()},[t,f]),_.useEffect(()=>{if(n){const y=u(),{group_nodes:w,default_nodes:v}=c(y);y.length>0&&o(v.map(S=>S.id),w.map(S=>S.id))}},[n,s]),_.useEffect(()=>{if(r){console.log("ungroupPressed");const y=u(),{group_nodes:w}=c(y);w.forEach(v=>{p?.remove_group(v.id)})}},[r,s]),x.jsx(x.Fragment,{})},Jre=()=>{const{node:e,edge:t}=_n(),n=tt();return _.useCallback(async(o,a)=>{try{if(!o||!e||!t)return;const s=JSON.parse(o);if(!s||!n.worker||!s.nodes)return;const u=[0,0];for(const f of s.nodes)u[0]+=f.properties["frontend:pos"][0],u[1]+=f.properties["frontend:pos"][1];u[0]/=s.nodes.length,u[1]/=s.nodes.length;const c=[];for(const f of s.nodes){const h={id:f.node_id,src_id:f.id,position:[f.properties["frontend:pos"][0]-u[0],f.properties["frontend:pos"][1]-u[1]]};c.push(h)}for(const f of c){const h=await e.add_node(f.id);!h||!n.nodespace.get_node(h.id,!1)||(f.new_id=h.id,a([{id:h.id,type:"position",position:{x:f.position[0]+h.properties["frontend:pos"][0],y:f.position[1]+h.properties["frontend:pos"][1]}}]))}for(const f of s.edges){const h=c.find(g=>g.src_id===f.src_nid),p=c.find(g=>g.src_id===f.trg_nid);!h||!p||!h.new_id||!p.new_id||t.add_edge({src_nid:h.new_id,src_ioid:f.src_ioid,trg_nid:p.new_id,trg_ioid:f.trg_ioid})}}catch(s){console.error("Failed to process pasted data:",s)}},[e,t,n])},eoe=(e,t)=>{const n=e.properties||{};n["frontend:size"]||(n["frontend:size"]=[200,100]);const r=n["frontend:pos"];if(!r||r.length!==2||isNaN(r[0])||r[0]===null||isNaN(r[1])||r[1]===null)if(!t||!t.rf_instance||t.reactflowRef===null)n["frontend:pos"]=[0,0];else{const a=t.reactflowRef.getBoundingClientRect(),s=a.left+a.width/2,u=a.top+a.height/2,c=t.rf_instance.screenToFlowPosition({x:s,y:u});n["frontend:pos"]=[c.x-n["frontend:size"][0]/2,c.y-n["frontend:size"][0]/2]}n["frontend:collapsed"]||(n["frontend:collapsed"]=!1),e.properties=n},toe=(e,t)=>{const n=e.getState();if(eoe(n,t),n.id===void 0)throw new Error("Node must have an id");const r={nodestore:e};return{position:{x:n.properties["frontend:pos"][0],y:n.properties["frontend:pos"][1]},data:r,type:"default",zIndex:1003,...n}},WN={default:Sn.Dots,metal:Sn.Cross,light:Sn.Dots,solarized:Sn.Dots,midnight:Sn.Dots,forest:Sn.Dots,scientific:Sn.Lines},noe=e=>{const t=tt(),n=_.useRef(null),{colorTheme:r}=HC(),{onSelectionChange:o}=Xre(),a=fY();_.useEffect(()=>{t.getStateManager().toaster=a},[]),_.useEffect(()=>{t.reactflowRef=n.current},[n]);const{nodes:s,edges:u,onNodesChange:c,onEdgesChange:f,onConnect:h}=t.useReactFlowStore(qv(Ire)),p=Jre(),g=_.useCallback(y=>{const w=n.current;if(!w)return;let v=y.target,S=0;for(;v&&v.parentElement&&v!==w;)S++,v=v.parentElement;t.logger.debug(`onPasteCapture: ${S} steps to reactflow`),S<=2&&p(y.clipboardData.getData("text/plain"),c)},[p,c,t.logger]);return x.jsx("div",{className:"reactflowlayer",children:x.jsxs(Cte,{onPasteCapture:g,nodes:s,edges:u,onNodesChange:c,onEdgesChange:f,onConnect:h,nodeTypes:Pre,edgeTypes:jre,minZoom:e.minZoom,maxZoom:e.maxZoom,fitView:!0,onSelectionChange:o,ref:n,panOnDrag:!e.static,children:[x.jsx(Kre,{}),x.jsx(Qre,{}),x.jsx(Mte,{color:"#888",gap:24,size:2,variant:WN[r]||WN.default,patternClassName:"fn-background-pattern"}),e.minimap&&x.jsx(Xte,{nodeStrokeWidth:3,pannable:!e.static,zoomable:!e.static,zoomStep:3})]})})},roe=({on_node_change:e,on_edge_change:t,on_connect:n})=>{const r=e||(u=>{}),o=t||(u=>{}),a=n||(u=>{});return gr((u,c)=>({_nodes:[],_edges:[],_nodes_map:new Map,update_nodes:f=>{f=ub(f),u({_nodes:f,_nodes_map:new Map(f.map(h=>[h.id,h]))})},partial_update_nodes:f=>{const h=c(),p=h._nodes,g=new Map(p.map(y=>[y.id,y]));for(const y of f)g.set(y.id,y);h.update_nodes(Array.from(g.values()))},update_edges:f=>{u({_edges:f})},onNodesChange:f=>{const h=c();h.update_nodes($v(f,h._nodes)),r(f)},onEdgesChange:f=>{u({_edges:iO(f,c()._edges)}),o(f)},onConnect:f=>{f.source==null||f.target==null||a(f)},getNode:f=>c()._nodes_map.get(f),getNodes:()=>c()._nodes,getEdges:()=>c()._edges}))},ooe=()=>{const t=tt().progress_state();return x.jsxs("div",{className:"statusbar",children:[x.jsx("span",{className:"statusbar-progressbar",style:{width:Math.min(100,100*t.progress)+"%"}}),x.jsx("span",{className:"statusbar-message",children:t.message})]})},xp=!1;var cb=["Enter"," "],ioe=["ArrowDown","PageUp","Home"],XN=["ArrowUp","PageDown","End"],aoe=[...ioe,...XN],soe={ltr:[...cb,"ArrowRight"],rtl:[...cb,"ArrowLeft"]},loe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ac="Menu",[sc,uoe,coe]=fh(ac),[za,KN]=Jr(ac,[coe,Kd,vp]),lc=Kd(),ZN=vp(),[QN,La]=za(ac),[foe,uc]=za(ac),JN=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:s=!0}=e,u=lc(t),[c,f]=_.useState(null),h=_.useRef(!1),p=Mn(a),g=pp(o);return _.useEffect(()=>{const y=()=>{h.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>h.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),x.jsx(py,{...u,children:x.jsx(QN,{scope:t,open:n,onOpenChange:p,content:c,onContentChange:f,children:x.jsx(foe,{scope:t,onClose:_.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:h,dir:g,modal:s,children:r})})})};JN.displayName=ac;var doe="MenuAnchor",fb=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=lc(n);return x.jsx(my,{...o,...r,ref:t})});fb.displayName=doe;var hoe="MenuPortal",[ome,e2]=za(hoe,{forceMount:void 0}),yr="MenuContent",[poe,db]=za(yr),t2=_.forwardRef((e,t)=>{const n=e2(yr,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=La(yr,e.__scopeMenu),s=uc(yr,e.__scopeMenu);return x.jsx(sc.Provider,{scope:e.__scopeMenu,children:x.jsx(Rr,{present:r||a.open,children:x.jsx(sc.Slot,{scope:e.__scopeMenu,children:s.modal?x.jsx(moe,{...o,ref:t}):x.jsx(goe,{...o,ref:t})})})})}),moe=_.forwardRef((e,t)=>{const n=La(yr,e.__scopeMenu),r=_.useRef(null),o=yt(t,r);return _.useEffect(()=>{const a=r.current;if(a)return c0(a)},[]),x.jsx(hb,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:xe(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),goe=_.forwardRef((e,t)=>{const n=La(yr,e.__scopeMenu);return x.jsx(hb,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),yoe=_s("MenuContent.ScrollLock"),hb=_.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:u,onEntryFocus:c,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:y,disableOutsideScroll:w,...v}=e,S=La(yr,n),E=uc(yr,n),T=lc(n),k=ZN(n),A=uoe(n),[M,N]=_.useState(null),P=_.useRef(null),z=yt(t,P,S.onContentChange),B=_.useRef(0),R=_.useRef(""),F=_.useRef(0),U=_.useRef(null),W=_.useRef("right"),j=_.useRef(0),V=w?bd:_.Fragment,I=w?{as:yoe,allowPinchZoom:!0}:void 0,H=G=>{const O=R.current+G,Y=A().filter(de=>!de.disabled),Z=document.activeElement,L=Y.find(de=>de.ref.current===Z)?.textValue,te=Y.map(de=>de.textValue),he=Roe(te,O,L),oe=Y.find(de=>de.textValue===he)?.ref.current;(function de(le){R.current=le,window.clearTimeout(B.current),le!==""&&(B.current=window.setTimeout(()=>de(""),1e3))})(O),oe&&setTimeout(()=>oe.focus())};_.useEffect(()=>()=>window.clearTimeout(B.current),[]),o0();const q=_.useCallback(G=>W.current===U.current?.side&&Ooe(G,U.current?.area),[]);return x.jsx(poe,{scope:n,searchRef:R,onItemEnter:_.useCallback(G=>{q(G)&&G.preventDefault()},[q]),onItemLeave:_.useCallback(G=>{q(G)||(P.current?.focus(),N(null))},[q]),onTriggerLeave:_.useCallback(G=>{q(G)&&G.preventDefault()},[q]),pointerGraceTimerRef:F,onPointerGraceIntentChange:_.useCallback(G=>{U.current=G},[]),children:x.jsx(V,{...I,children:x.jsx(cd,{asChild:!0,trapped:o,onMountAutoFocus:xe(a,G=>{G.preventDefault(),P.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:x.jsx(cu,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:y,children:x.jsx(ON,{asChild:!0,...k,dir:E.dir,orientation:"vertical",loop:r,currentTabStopId:M,onCurrentTabStopIdChange:N,onEntryFocus:xe(c,G=>{E.isUsingKeyboardRef.current||G.preventDefault()}),preventScrollOnEntryFocus:!0,children:x.jsx(Sk,{role:"menu","aria-orientation":"vertical","data-state":b2(S.open),"data-radix-menu-content":"",dir:E.dir,...T,...v,ref:z,style:{outline:"none",...v.style},onKeyDown:xe(v.onKeyDown,G=>{const Y=G.target.closest("[data-radix-menu-content]")===G.currentTarget,Z=G.ctrlKey||G.altKey||G.metaKey,L=G.key.length===1;Y&&(G.key==="Tab"&&G.preventDefault(),!Z&&L&&H(G.key));const te=P.current;if(G.target!==te||!aoe.includes(G.key))return;G.preventDefault();const oe=A().filter(de=>!de.disabled).map(de=>de.ref.current);XN.includes(G.key)&&oe.reverse(),Toe(oe)}),onBlur:xe(e.onBlur,G=>{G.currentTarget.contains(G.target)||(window.clearTimeout(B.current),R.current="")}),onPointerMove:xe(e.onPointerMove,fc(G=>{const O=G.target,Y=j.current!==G.clientX;if(G.currentTarget.contains(O)&&Y){const Z=G.clientX>j.current?"right":"left";W.current=Z,j.current=G.clientX}}))})})})})})})});t2.displayName=yr;var voe="MenuGroup",pb=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{role:"group",...r,ref:t})});pb.displayName=voe;var boe="MenuLabel",n2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});n2.displayName=boe;var wp="MenuItem",r2="menu.itemSelect",_p=_.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,a=_.useRef(null),s=uc(wp,e.__scopeMenu),u=db(wp,e.__scopeMenu),c=yt(t,a),f=_.useRef(!1),h=()=>{const p=a.current;if(!n&&p){const g=new CustomEvent(r2,{bubbles:!0,cancelable:!0});p.addEventListener(r2,y=>r?.(y),{once:!0}),Jg(p,g),g.defaultPrevented?f.current=!1:s.onClose()}};return x.jsx(o2,{...o,ref:c,disabled:n,onClick:xe(e.onClick,h),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:xe(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:xe(e.onKeyDown,p=>{const g=u.searchRef.current!=="";n||g&&p.key===" "||cb.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});_p.displayName=wp;var o2=_.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,s=db(wp,n),u=ZN(n),c=_.useRef(null),f=yt(t,c),[h,p]=_.useState(!1),[g,y]=_.useState("");return _.useEffect(()=>{const w=c.current;w&&y((w.textContent??"").trim())},[a.children]),x.jsx(sc.ItemSlot,{scope:n,disabled:r,textValue:o??g,children:x.jsx(NN,{asChild:!0,...u,focusable:!r,children:x.jsx(Ue.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:f,onPointerMove:xe(e.onPointerMove,fc(w=>{r?s.onItemLeave(w):(s.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:xe(e.onPointerLeave,fc(w=>s.onItemLeave(w))),onFocus:xe(e.onFocus,()=>p(!0)),onBlur:xe(e.onBlur,()=>p(!1))})})})}),xoe="MenuCheckboxItem",i2=_.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return x.jsx(c2,{scope:e.__scopeMenu,checked:n,children:x.jsx(_p,{role:"menuitemcheckbox","aria-checked":Sp(n)?"mixed":n,...o,ref:t,"data-state":yb(n),onSelect:xe(o.onSelect,()=>r?.(Sp(n)?!0:!n),{checkForDefaultPrevented:!1})})})});i2.displayName=xoe;var a2="MenuRadioGroup",[woe,_oe]=za(a2,{value:void 0,onValueChange:()=>{}}),s2=_.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,a=Mn(r);return x.jsx(woe,{scope:e.__scopeMenu,value:n,onValueChange:a,children:x.jsx(pb,{...o,ref:t})})});s2.displayName=a2;var l2="MenuRadioItem",u2=_.forwardRef((e,t)=>{const{value:n,...r}=e,o=_oe(l2,e.__scopeMenu),a=n===o.value;return x.jsx(c2,{scope:e.__scopeMenu,checked:a,children:x.jsx(_p,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":yb(a),onSelect:xe(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});u2.displayName=l2;var mb="MenuItemIndicator",[c2,Soe]=za(mb,{checked:!1}),f2=_.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,a=Soe(mb,n);return x.jsx(Rr,{present:r||Sp(a.checked)||a.checked===!0,children:x.jsx(Ue.span,{...o,ref:t,"data-state":yb(a.checked)})})});f2.displayName=mb;var Eoe="MenuSeparator",d2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});d2.displayName=Eoe;var Coe="MenuArrow",h2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=lc(n);return x.jsx(Ek,{...o,...r,ref:t})});h2.displayName=Coe;var gb="MenuSub",[koe,p2]=za(gb),m2=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:o}=e,a=La(gb,t),s=lc(t),[u,c]=_.useState(null),[f,h]=_.useState(null),p=Mn(o);return _.useEffect(()=>(a.open===!1&&p(!1),()=>p(!1)),[a.open,p]),x.jsx(py,{...s,children:x.jsx(QN,{scope:t,open:r,onOpenChange:p,content:f,onContentChange:h,children:x.jsx(koe,{scope:t,contentId:eo(),triggerId:eo(),trigger:u,onTriggerChange:c,children:n})})})};m2.displayName=gb;var cc="MenuSubTrigger",g2=_.forwardRef((e,t)=>{const n=La(cc,e.__scopeMenu),r=uc(cc,e.__scopeMenu),o=p2(cc,e.__scopeMenu),a=db(cc,e.__scopeMenu),s=_.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:c}=a,f={__scopeMenu:e.__scopeMenu},h=_.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return _.useEffect(()=>h,[h]),_.useEffect(()=>{const p=u.current;return()=>{window.clearTimeout(p),c(null)}},[u,c]),x.jsx(fb,{asChild:!0,...f,children:x.jsx(o2,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":b2(n.open),...e,ref:ud(t,o.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:xe(e.onPointerMove,fc(p=>{a.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),h()},100))})),onPointerLeave:xe(e.onPointerLeave,fc(p=>{h();const g=n.content?.getBoundingClientRect();if(g){const y=n.content?.dataset.side,w=y==="right",v=w?-5:5,S=g[w?"left":"right"],E=g[w?"right":"left"];a.onPointerGraceIntentChange({area:[{x:p.clientX+v,y:p.clientY},{x:S,y:g.top},{x:E,y:g.top},{x:E,y:g.bottom},{x:S,y:g.bottom}],side:y}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(p),p.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:xe(e.onKeyDown,p=>{const g=a.searchRef.current!=="";e.disabled||g&&p.key===" "||soe[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});g2.displayName=cc;var y2="MenuSubContent",v2=_.forwardRef((e,t)=>{const n=e2(yr,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=La(yr,e.__scopeMenu),s=uc(yr,e.__scopeMenu),u=p2(y2,e.__scopeMenu),c=_.useRef(null),f=yt(t,c);return x.jsx(sc.Provider,{scope:e.__scopeMenu,children:x.jsx(Rr,{present:r||a.open,children:x.jsx(sc.Slot,{scope:e.__scopeMenu,children:x.jsx(hb,{id:u.contentId,"aria-labelledby":u.triggerId,...o,ref:f,align:"start",side:s.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:h=>{s.isUsingKeyboardRef.current&&c.current?.focus(),h.preventDefault()},onCloseAutoFocus:h=>h.preventDefault(),onFocusOutside:xe(e.onFocusOutside,h=>{h.target!==u.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:xe(e.onEscapeKeyDown,h=>{s.onClose(),h.preventDefault()}),onKeyDown:xe(e.onKeyDown,h=>{const p=h.currentTarget.contains(h.target),g=loe[s.dir].includes(h.key);p&&g&&(a.onOpenChange(!1),u.trigger?.focus(),h.preventDefault())})})})})})});v2.displayName=y2;function b2(e){return e?"open":"closed"}function Sp(e){return e==="indeterminate"}function yb(e){return Sp(e)?"indeterminate":e?"checked":"unchecked"}function Toe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Aoe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Roe(e,t,n){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=Aoe(e,Math.max(a,0));o.length===1&&(s=s.filter(f=>f!==n));const c=s.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return c!==n?c:void 0}function Moe(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const u=t[a],c=t[s],f=u.x,h=u.y,p=c.x,g=c.y;h>r!=g>r&&n<(p-f)*(r-h)/(g-h)+f&&(o=!o)}return o}function Ooe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Moe(n,t)}function fc(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Noe=JN,Doe=fb,Poe=t2,joe=pb,Ioe=n2,zoe=_p,Loe=i2,Foe=s2,$oe=u2,Boe=f2,Hoe=d2,Voe=h2,Uoe=m2,qoe=g2,Goe=v2,Ep="DropdownMenu",[Yoe,ime]=Jr(Ep,[KN]),En=KN(),[Woe,x2]=Yoe(Ep),w2=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:s,modal:u=!0}=e,c=En(t),f=_.useRef(null),[h,p]=wi({prop:o,defaultProp:a??!1,onChange:s,caller:Ep});return x.jsx(Woe,{scope:t,triggerId:eo(),triggerRef:f,contentId:eo(),open:h,onOpenChange:p,onOpenToggle:_.useCallback(()=>p(g=>!g),[p]),modal:u,children:x.jsx(Noe,{...c,open:h,onOpenChange:p,dir:r,modal:u,children:n})})};w2.displayName=Ep;var _2="DropdownMenuTrigger",S2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=x2(_2,n),s=En(n);return x.jsx(Doe,{asChild:!0,...s,children:x.jsx(Ue.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:ud(t,a.triggerRef),onPointerDown:xe(e.onPointerDown,u=>{!r&&u.button===0&&u.ctrlKey===!1&&(a.onOpenToggle(),a.open||u.preventDefault())}),onKeyDown:xe(e.onKeyDown,u=>{r||(["Enter"," "].includes(u.key)&&a.onOpenToggle(),u.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});S2.displayName=_2;var E2="DropdownMenuContent",C2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=x2(E2,n),a=En(n),s=_.useRef(!1);return x.jsx(Poe,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:xe(e.onCloseAutoFocus,u=>{s.current||o.triggerRef.current?.focus(),s.current=!1,u.preventDefault()}),onInteractOutside:xe(e.onInteractOutside,u=>{const c=u.detail.originalEvent,f=c.button===0&&c.ctrlKey===!0,h=c.button===2||f;(!o.modal||h)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});C2.displayName=E2;var Xoe="DropdownMenuGroup",k2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(joe,{...o,...r,ref:t})});k2.displayName=Xoe;var Koe="DropdownMenuLabel",Zoe=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Ioe,{...o,...r,ref:t})});Zoe.displayName=Koe;var Qoe="DropdownMenuItem",T2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(zoe,{...o,...r,ref:t})});T2.displayName=Qoe;var Joe="DropdownMenuCheckboxItem",eie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Loe,{...o,...r,ref:t})});eie.displayName=Joe;var tie="DropdownMenuRadioGroup",A2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Foe,{...o,...r,ref:t})});A2.displayName=tie;var nie="DropdownMenuRadioItem",R2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx($oe,{...o,...r,ref:t})});R2.displayName=nie;var rie="DropdownMenuItemIndicator",oie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Boe,{...o,...r,ref:t})});oie.displayName=rie;var iie="DropdownMenuSeparator",aie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Hoe,{...o,...r,ref:t})});aie.displayName=iie;var sie="DropdownMenuArrow",lie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Voe,{...o,...r,ref:t})});lie.displayName=sie;var uie=e=>{const{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:o,defaultOpen:a}=e,s=En(t),[u,c]=wi({prop:r,defaultProp:a??!1,onChange:o,caller:"DropdownMenuSub"});return x.jsx(Uoe,{...s,open:u,onOpenChange:c,children:n})},cie="DropdownMenuSubTrigger",M2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(qoe,{...o,...r,ref:t})});M2.displayName=cie;var fie="DropdownMenuSubContent",O2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Goe,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});O2.displayName=fie;var vb=w2,bb=S2,xb=C2,wb=k2,Zo=T2,die=A2,hie=R2,pie=uie,mie=M2,gie=O2;const yie=({trigger:e,setOpen:t,open:n})=>{const[r,o]=_.useState(""),[a,s]=_.useState(!0),u=tt();return u.options.useWorkerManager?x.jsxs(Lo,{setOpen:t,open:n,trigger:e,title:"New Worker",description:"Create a new worker",children:[x.jsxs("div",{children:["Name:",x.jsx("br",{}),x.jsx("input",{className:"styledinput",onChange:c=>{o(c.currentTarget.value)},value:r}),x.jsxs("div",{style:{marginTop:8},children:[x.jsx("input",{type:"checkbox",id:"inVenvCheckbox",checked:a,onChange:c=>s(c.currentTarget.checked)}),x.jsx("label",{htmlFor:"inVenvCheckbox",style:{marginLeft:4},children:"Create in new virtual environment"})]})]}),x.jsx("div",{children:r&&x.jsx("div",{children:x.jsx("button",{className:"styledbtn",onClick:()=>{u.workermanager?.new_worker({name:r,in_venv:a}),t(!1)},children:"Create"})})})]}):null},vie=({trigger:e,setOpen:t,open:n})=>{const r=tt(),[o,a]=_.useState(!1),s=r.workers(),u=r.worker?.uuid,c=(u?s[u]?.name:void 0)||u||"worker",f=async()=>{if(!r.worker)return;const h=await r.worker.export({withFiles:o});Sj(h,c+".fnw","application/zip"),t(!1)};return x.jsx(Lo,{setOpen:t,open:n,trigger:e,title:"Export Worker",description:"Export the worker as a .fnw file",children:x.jsxs("div",{children:[x.jsxs("div",{children:[x.jsx("input",{type:"checkbox",className:"styledcheckbox",checked:o,onChange:h=>{a(h.currentTarget.checked)}}),"Include Files"]}),x.jsx("button",{className:"styledbtn",onClick:f,children:"Export"})]})})},bie=()=>{const e=tt(),t=e.workers(),[n,r]=_.useState(!1),[o,a]=_.useState(!1),s=y=>{y!=="__select__"&&e.workers&&e.workermanager&&t[y]&&(!t[y].active&&!window.confirm("this is an inactive worker, selecting it will start it, continue?")||e.workermanager.set_active(y))},u=async()=>{if(!e.worker||!window.confirm("Updateing the worker might replace the current nodespace, continue?"))return;const w=await kj(".fnw");e.worker.update_from_export(w)},c=e.options.useWorkerManager&&e.workermanager&&e.workermanager.open||xp,f=c&&Object.keys(t).length>0,h=e.worker&&e.worker.is_open,p=h&&c;return c||h?x.jsxs(x.Fragment,{children:[x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Worker ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsxs(wb,{children:[f&&x.jsxs(pie,{children:[x.jsx(mie,{className:"headermenuitem submenuitem",children:x.jsxs(Ii,{direction:"row",children:["Select",x.jsx(vu,{})]})}),x.jsx(gie,{className:"headermenucontent funcnodescontainer",sideOffset:2,alignOffset:-5,children:x.jsx(die,{value:e.worker?.uuid,onValueChange:y=>{s(y)},children:Object.keys(t).sort((y,w)=>{if(t[y].active&&!t[w].active)return-1;if(!t[y].active&&t[w].active)return 1;const v=t[y].name||y,S=t[w].name||w;return v.localeCompare(S)}).map(y=>x.jsx(hie,{className:"headermenuitem workerselectoption"+(t[y]?.active?" active":" inactive")+" headermenuitem",value:y,disabled:y===e.worker?.uuid,children:t[y]?.name||y},y))})})]}),h&&x.jsxs(x.Fragment,{children:[p&&x.jsx(Zo,{className:"headermenuitem",onClick:()=>{if(e.worker){if(!e.workermanager)return e.logger.error("no workermanager");e.workermanager?.restart_worker(e.worker.uuid)}},children:"Restart"}),x.jsx(Zo,{className:"headermenuitem",onClick:()=>{e.worker&&e.worker.stop()},children:"Stop"}),x.jsx(Zo,{className:"headermenuitem",onClick:()=>a(!0),children:"Export"}),x.jsx(Zo,{className:"headermenuitem",onClick:u,children:"Update"})]}),c&&x.jsx(x.Fragment,{children:x.jsx(Zo,{className:"headermenuitem",onClick:()=>r(!0),children:"New"})})]})})]}),x.jsx(yie,{open:n,setOpen:r}),x.jsx(vie,{open:o,setOpen:a})]}):null},xie=()=>{const e=tt(),t=()=>{window.confirm("Are you sure you want to start a new flow?")&&e.worker?.clear()},n=async()=>{const o=await e.worker?.save();if(!o)return;const a=new Blob([JSON.stringify(o)],{type:"application/json"}),s=URL.createObjectURL(a),u=document.createElement("a");u.href=s,u.download="flow.json",u.click(),URL.revokeObjectURL(s),u.remove()},r=async()=>{const o=document.createElement("input");o.type="file",o.accept=".json",o.onchange=async a=>{const s=a.target.files?.[0];if(!s)return;const u=new FileReader;u.onload=async c=>{const f=c.target?.result;if(!f)return;const h=JSON.parse(f);await e.worker?.load(h)},u.readAsText(s)},o.click()};return x.jsx(x.Fragment,{children:x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Nodespace ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsxs(wb,{children:[x.jsx(Zo,{className:"headermenuitem",onClick:t,children:"New"}),x.jsx(Zo,{className:"headermenuitem",onClick:n,children:"Save"}),x.jsx(Zo,{className:"headermenuitem",onClick:r,children:"Load"})]})})]})})},wie=({theme:e,selected:t})=>x.jsxs("div",{style:{width:80,height:54,borderRadius:"var(--fn-border-radius-s, 8px)",border:t?"2.5px solid #1976d2":"1.5px solid #bbb",boxShadow:t?"0 0 0 2px #1976d2":"0 1px 4px #0002",background:"var(--fn-app-background)",display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:"flex-start",position:"relative",overflow:"hidden",transition:"border 0.2s, box-shadow 0.2s"},"fn-data-color-theme":e,children:[x.jsx("div",{style:{height:10,background:"var(--fn-primary-color)",borderBottom:"1px solid var(--fn-neutral-element-border)"}}),x.jsxs("div",{style:{display:"flex",flex:1},children:[x.jsx("div",{style:{width:12,background:"var(--fn-surface-elevation-low, var(--fn-container-background))",borderRight:"1px solid var(--fn-neutral-element-border)"}}),x.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--fn-container-background)"},children:x.jsxs("div",{style:{width:22,height:14,borderRadius:"var(--fn-border-radius-xs, 4px)",background:"var(--fn-node-background)",border:"1px solid var(--fn-node-header-color)",boxShadow:"0 1px 2px #0002",display:"flex",flexDirection:"column"},children:[x.jsx("div",{style:{height:5,background:"var(--fn-node-header-color)",borderTopLeftRadius:"var(--fn-border-radius-xs, 4px)",borderTopRightRadius:"var(--fn-border-radius-xs, 4px)"}}),x.jsx("div",{style:{flex:1,background:"transparent"}})]})})]}),x.jsx("span",{style:{position:"absolute",bottom:2,right:4,fontSize:9,color:"var(--fn-text-color-neutral)",opacity:.7,textTransform:"capitalize",fontWeight:600,pointerEvents:"none"},children:e}),t&&x.jsx("span",{style:{position:"absolute",top:2,left:6,fontSize:14,color:"#1976d2",fontWeight:900,pointerEvents:"none"},"aria-label":"Selected",children:"✓"})]}),_ie=()=>{const{colorTheme:e,setColorTheme:t}=HC(),[n,r]=_.useState(null),[o,a]=_.useState(null),s=c=>{c!==e&&(a(e),t(c),r(c))},u=c=>{n===c&&o&&o!==c&&t(o),r(null),a(null)};return x.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[x.jsx("div",{style:{marginBottom:8,fontWeight:500},children:"Theme:"}),x.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(80px, 1fr))",gap:16,justifyItems:"center"},children:cR.map(c=>x.jsx("button",{onClick:()=>{t(c),r(null),a(null)},onMouseEnter:()=>s(c),onMouseLeave:()=>u(c),style:{background:"none",border:"none",padding:0,cursor:"pointer",outline:"none",borderRadius:8},"aria-label":`Select ${c} theme`,children:x.jsx(wie,{theme:c,selected:e===c})},c))})]})},Sie=()=>{const[e,t]=_.useState(!1),n=()=>{t(!0)};return x.jsxs(x.Fragment,{children:[x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Settings ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsx(wb,{children:x.jsx(Zo,{className:"headermenuitem",onClick:n,children:"Appearance"})})})]}),x.jsx(Lo,{open:e,setOpen:t,title:"Appearance",description:"Change the color theme.",closebutton:!0,children:x.jsx(_ie,{})})]})},Eie=({...e})=>{const t=tt(),n=t.workerstate();return Object.keys(e).length>0&&t.logger.debug("headerprops",e),x.jsxs(Ii,{className:"funcnodesreactflowheader",direction:"row",wrap:!0,children:[x.jsx(Ii,{className:"headerelement m-w-6",grow:{"":!0,m:!1},children:x.jsx(ooe,{})}),(e.showmenu||xp)&&x.jsxs(Ii,{direction:"row",wrap:!0,children:[x.jsx("div",{className:"headerelement",children:x.jsx(bie,{})}),(t.worker&&n.is_open||xp)&&x.jsx("div",{className:"headerelement",children:x.jsx(xie,{})}),x.jsx("div",{className:"headerelement",children:x.jsx(Sie,{})})]})]})},N2=({item:e})=>{const{node:t}=_n(),n=_.useCallback(()=>{t?.add_node(e.node_id)},[e.node_id,t]),r=_.useCallback(o=>{o.detail===2&&n()},[n]);return x.jsx("div",{className:"libnodeentry",onClick:r,title:e.description,children:e.node_name||e.node_id})},D2=(e,t)=>{const n=e.nodes?.some(o=>o.node_id.toLowerCase().includes(t.toLowerCase()))??!1,r=e.subshelves?.some(o=>D2(o,t))??!1;return n||r},_b=({item:e,filter:t,parentkey:n})=>{const[r,o]=_.useState(!1),a=()=>o(!r),s=e.nodes?.filter(c=>c.node_id.toLowerCase().includes(t.toLowerCase())),u=r||t.length>0;return D2(e,t)?x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:a,style:{cursor:"pointer"},title:e.description,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(u?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(u?"open":"close"),children:x.jsxs("div",{className:"libnodecontainer_inner",children:[s&&x.jsx(x.Fragment,{children:s.map(c=>x.jsx(N2,{item:c},c.node_id))}),e.subshelves&&x.jsx(x.Fragment,{children:e.subshelves.map(c=>x.jsx(_b,{item:c,filter:t,parentkey:n+c.name},n+c.name))})]})}),x.jsx("hr",{})]}):x.jsx(x.Fragment,{})},Cie=({filter:e,setFilter:t})=>x.jsxs("div",{className:"libfilter",children:[x.jsx(AB,{fontSize:"inherit"}),x.jsx("input",{type:"text",placeholder:"Filter",value:e,onChange:n=>{t(n.target.value)}}),e&&x.jsx($d,{fontSize:"inherit",onClick:()=>{t("")}})]}),kie=({children:e})=>{const[t,n]=_.useState(""),r=tt(),[o,a]=_.useState(!0),[s,u]=_.useState(!0),[c,f]=_.useState(!0),[h,p]=_.useState({installed:[],available:[],active:[]}),[g,y]=_.useState(!1),{lib:w}=_n(),v=z=>{z&&(r.worker===void 0||!r.worker.is_open||w?.get_available_modules().then(B=>{p(B)}))};if(!r.worker)return x.jsx(x.Fragment,{});const S=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),E=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),T=_.useCallback(z=>{y(!1),w?.remove_lib(z.name)},[w]),k=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),A=_.useCallback(z=>z.filter(B=>B.name.toLowerCase().includes(t.toLowerCase())||B.description.toLowerCase().includes(t.toLowerCase())),[t]),M=A(h.available),N=A(h.installed),P=A(h.active);return x.jsxs(Lo,{title:"Manage Library",trigger:e,description:"Add or remove libraries to the current worker.",onOpenChange:v,open:g,setOpen:y,children:[x.jsx("input",{className:"filter-input styledinput",type:"text",placeholder:"Filter modules...",value:t,onChange:z=>n(z.target.value)}),x.jsxs("div",{className:"packagelist",style:{maxHeight:"70%",overflow:"auto"},children:[N.length>0&&x.jsx("h3",{onClick:()=>{f(!c)},children:"Installed"}),c&&N.map(z=>x.jsx(Vfe,{availableModule:z,on_add:S},z.name+z.source)),M.length>0&&x.jsx("h3",{onClick:()=>{u(!s)},children:"Available"}),s&&M.map(z=>x.jsx(Ufe,{availableModule:z,on_add:E},z.name+z.source)),P.length>0&&x.jsx("h3",{onClick:()=>{a(!o)},children:"Active"}),o&&P.map(z=>x.jsx(Hfe,{availableModule:z,on_remove:T,on_update:k},z.name+z.source))]})]})},Sb=({availableModule:e})=>x.jsxs("div",{className:"module-links",children:[e.homepage&&x.jsx(x.Fragment,{children:x.jsx("a",{href:e.homepage,target:"_blank",rel:"noopener noreferrer",children:"Homepage"})}),e.source&&e.homepage&&" | ",e.source&&x.jsx(x.Fragment,{children:x.jsx("a",{href:e.source,target:"_blank",rel:"noopener noreferrer",children:"Source"})})]});function ame(){}function sme(){}function Tie(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Aie=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Rie=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Mie={};function P2(e,t){return(Mie.jsx?Rie:Aie).test(e)}const Oie=/[ \t\n\f\r]/g;function Nie(e){return typeof e=="object"?e.type==="text"?j2(e.value):!1:j2(e)}function j2(e){return e.replace(Oie,"")===""}class dc{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}dc.prototype.normal={},dc.prototype.property={},dc.prototype.space=void 0;function I2(e,t){const n={},r={};for(const o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new dc(n,r,t)}function Eb(e){return e.toLowerCase()}class jn{constructor(t,n){this.attribute=n,this.property=t}}jn.prototype.attribute="",jn.prototype.booleanish=!1,jn.prototype.boolean=!1,jn.prototype.commaOrSpaceSeparated=!1,jn.prototype.commaSeparated=!1,jn.prototype.defined=!1,jn.prototype.mustUseProperty=!1,jn.prototype.number=!1,jn.prototype.overloadedBoolean=!1,jn.prototype.property="",jn.prototype.spaceSeparated=!1,jn.prototype.space=void 0;let Die=0;const Be=Fa(),Ut=Fa(),Cb=Fa(),me=Fa(),xt=Fa(),ol=Fa(),Jn=Fa();function Fa(){return 2**++Die}const kb=Object.freeze(Object.defineProperty({__proto__:null,boolean:Be,booleanish:Ut,commaOrSpaceSeparated:Jn,commaSeparated:ol,number:me,overloadedBoolean:Cb,spaceSeparated:xt},Symbol.toStringTag,{value:"Module"})),Tb=Object.keys(kb);class Ab extends jn{constructor(t,n,r,o){let a=-1;if(super(t,n),z2(this,"space",o),typeof r=="number")for(;++a<Tb.length;){const s=Tb[a];z2(this,Tb[a],(r&kb[s])===kb[s])}}}Ab.prototype.defined=!0;function z2(e,t,n){n&&(e[t]=n)}function il(e){const t={},n={};for(const[r,o]of Object.entries(e.properties)){const a=new Ab(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Eb(r)]=r,n[Eb(a.attribute)]=r}return new dc(t,n,e.space)}const L2=il({properties:{ariaActiveDescendant:null,ariaAtomic:Ut,ariaAutoComplete:null,ariaBusy:Ut,ariaChecked:Ut,ariaColCount:me,ariaColIndex:me,ariaColSpan:me,ariaControls:xt,ariaCurrent:null,ariaDescribedBy:xt,ariaDetails:null,ariaDisabled:Ut,ariaDropEffect:xt,ariaErrorMessage:null,ariaExpanded:Ut,ariaFlowTo:xt,ariaGrabbed:Ut,ariaHasPopup:null,ariaHidden:Ut,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:xt,ariaLevel:me,ariaLive:null,ariaModal:Ut,ariaMultiLine:Ut,ariaMultiSelectable:Ut,ariaOrientation:null,ariaOwns:xt,ariaPlaceholder:null,ariaPosInSet:me,ariaPressed:Ut,ariaReadOnly:Ut,ariaRelevant:null,ariaRequired:Ut,ariaRoleDescription:xt,ariaRowCount:me,ariaRowIndex:me,ariaRowSpan:me,ariaSelected:Ut,ariaSetSize:me,ariaSort:null,ariaValueMax:me,ariaValueMin:me,ariaValueNow:me,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function F2(e,t){return t in e?e[t]:t}function $2(e,t){return F2(e,t.toLowerCase())}const Pie=il({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ol,acceptCharset:xt,accessKey:xt,action:null,allow:null,allowFullScreen:Be,allowPaymentRequest:Be,allowUserMedia:Be,alt:null,as:null,async:Be,autoCapitalize:null,autoComplete:xt,autoFocus:Be,autoPlay:Be,blocking:xt,capture:null,charSet:null,checked:Be,cite:null,className:xt,cols:me,colSpan:null,content:null,contentEditable:Ut,controls:Be,controlsList:xt,coords:me|ol,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Be,defer:Be,dir:null,dirName:null,disabled:Be,download:Cb,draggable:Ut,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Be,formTarget:null,headers:xt,height:me,hidden:Cb,high:me,href:null,hrefLang:null,htmlFor:xt,httpEquiv:xt,id:null,imageSizes:null,imageSrcSet:null,inert:Be,inputMode:null,integrity:null,is:null,isMap:Be,itemId:null,itemProp:xt,itemRef:xt,itemScope:Be,itemType:xt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Be,low:me,manifest:null,max:null,maxLength:me,media:null,method:null,min:null,minLength:me,multiple:Be,muted:Be,name:null,nonce:null,noModule:Be,noValidate:Be,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Be,optimum:me,pattern:null,ping:xt,placeholder:null,playsInline:Be,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Be,referrerPolicy:null,rel:xt,required:Be,reversed:Be,rows:me,rowSpan:me,sandbox:xt,scope:null,scoped:Be,seamless:Be,selected:Be,shadowRootClonable:Be,shadowRootDelegatesFocus:Be,shadowRootMode:null,shape:null,size:me,sizes:null,slot:null,span:me,spellCheck:Ut,src:null,srcDoc:null,srcLang:null,srcSet:null,start:me,step:null,style:null,tabIndex:me,target:null,title:null,translate:null,type:null,typeMustMatch:Be,useMap:null,value:Ut,width:me,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:xt,axis:null,background:null,bgColor:null,border:me,borderColor:null,bottomMargin:me,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Be,declare:Be,event:null,face:null,frame:null,frameBorder:null,hSpace:me,leftMargin:me,link:null,longDesc:null,lowSrc:null,marginHeight:me,marginWidth:me,noResize:Be,noHref:Be,noShade:Be,noWrap:Be,object:null,profile:null,prompt:null,rev:null,rightMargin:me,rules:null,scheme:null,scrolling:Ut,standby:null,summary:null,text:null,topMargin:me,valueType:null,version:null,vAlign:null,vLink:null,vSpace:me,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Be,disableRemotePlayback:Be,prefix:null,property:null,results:me,security:null,unselectable:null},space:"html",transform:$2}),jie=il({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Jn,accentHeight:me,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:me,amplitude:me,arabicForm:null,ascent:me,attributeName:null,attributeType:null,azimuth:me,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:me,by:null,calcMode:null,capHeight:me,className:xt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:me,diffuseConstant:me,direction:null,display:null,dur:null,divisor:me,dominantBaseline:null,download:Be,dx:null,dy:null,edgeMode:null,editable:null,elevation:me,enableBackground:null,end:null,event:null,exponent:me,externalResourcesRequired:null,fill:null,fillOpacity:me,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ol,g2:ol,glyphName:ol,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:me,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:me,horizOriginX:me,horizOriginY:me,id:null,ideographic:me,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:me,k:me,k1:me,k2:me,k3:me,k4:me,kernelMatrix:Jn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:me,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:me,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:me,overlineThickness:me,paintOrder:null,panose1:null,path:null,pathLength:me,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:xt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:me,pointsAtY:me,pointsAtZ:me,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Jn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Jn,rev:Jn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Jn,requiredFeatures:Jn,requiredFonts:Jn,requiredFormats:Jn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:me,specularExponent:me,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:me,strikethroughThickness:me,string:null,stroke:null,strokeDashArray:Jn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:me,strokeOpacity:me,strokeWidth:null,style:null,surfaceScale:me,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Jn,tabIndex:me,tableValues:null,target:null,targetX:me,targetY:me,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Jn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:me,underlineThickness:me,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:me,values:null,vAlphabetic:me,vMathematical:me,vectorEffect:null,vHanging:me,vIdeographic:me,version:null,vertAdvY:me,vertOriginX:me,vertOriginY:me,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:me,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:F2}),B2=il({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),H2=il({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:$2}),V2=il({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Iie={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},zie=/[A-Z]/g,U2=/-[a-z]/g,Lie=/^data[-\w.:]+$/i;function Fie(e,t){const n=Eb(t);let r=t,o=jn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Lie.test(t)){if(t.charAt(4)==="-"){const a=t.slice(5).replace(U2,Bie);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=t.slice(4);if(!U2.test(a)){let s=a.replace(zie,$ie);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}o=Ab}return new o(r,t)}function $ie(e){return"-"+e.toLowerCase()}function Bie(e){return e.charAt(1).toUpperCase()}const Hie=I2([L2,Pie,B2,H2,V2],"html"),Rb=I2([L2,jie,B2,H2,V2],"svg");function Vie(e){return e.join(" ").trim()}var al={},Mb,q2;function Uie(){if(q2)return Mb;q2=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,u=/^\s+|\s+$/g,c=`
795
+ `).map(y=>y.length),0);return x.jsx("textarea",{className:"nodedatainput styledinput stringinput",value:h,onChange:y=>c(y.target.value),onBlur:y=>{f(y)},disabled:o.connected,rows:p+1,cols:g+1})},yo={Inputrenderer:{float:Pne,int:jne,bool:cne,string:yN,str:yN,color:fne,select:nc,enum:nc,bytes:QO(Gv,"")},Outputrenderer:une,HandlePreviewRenderer:sne,DataOverlayRenderer:ane,DataPreviewViewRenderer:eN,DataViewRenderer:Yv,InLineRenderer:ine,NodeRenderer:{},NodeHooks:{}},Bne=(e,t)=>{const n=t.options||{},r=n.overwrite===void 0?!0:n.overwrite;switch(t.type){case"EXTEND_INPUT_RENDER":return!r&&e.Inputrenderer[t.payload.type]?e:{...e,Inputrenderer:{...e.Inputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_FROM_PLUGIN":{let s=!1;const u=[[t.payload.plugin.input_renderers||{},e.Inputrenderer],[t.payload.plugin.output_renderers||{},e.Outputrenderer],[t.payload.plugin.handle_preview_renderers||{},e.HandlePreviewRenderer],[t.payload.plugin.data_overlay_renderers||{},e.DataOverlayRenderer],[t.payload.plugin.data_preview_renderers||{},e.DataPreviewViewRenderer],[t.payload.plugin.data_view_renderers||{},e.DataViewRenderer],[t.payload.plugin.node_renderers||{},e.NodeRenderer],[t.payload.plugin.node_hooks||{},e.NodeHooks]];for(const[f,h]of u){if(Object.keys(f).length>0){if(r)s=!0;else for(const p in f)if(!h[p]){s=!0;break}}if(s)break}if(!s)return e;const c={...e};return u.forEach(([f,h])=>{Object.assign(h,f)}),c}default:const a={EXTEND_OUTPUT_RENDER:"Outputrenderer",EXTEND_HANDLE_PREVIEW_RENDER:"HandlePreviewRenderer",EXTEND_DATA_OVERLAY_RENDER:"DataOverlayRenderer",EXTEND_DATA_PREVIEW_RENDER:"DataPreviewViewRenderer",EXTEND_DATA_VIEW_RENDER:"DataViewRenderer",EXTEND_NODE_CONTEXT_EXTENDER:"NodeContextExtenders",EXTEND_NODE_RENDERER:"NodeRenderer",EXTEND_NODE_HOOKS:"NodeHooks"}[t.type];if(a){const s=e[a];return!r&&s[t.payload.type]?e:{...e,[a]:{...s,[t.payload.type]:t.payload.component}}}return e}},Hne=({children:e,plugins:t,fnrf_zst:n})=>{const[r,o]=_.useReducer(Bne,yo),a=(w,v,S)=>{o({type:"EXTEND_INPUT_RENDER",payload:{type:w,component:v},options:S})},s=(w,v,S)=>{o({type:"EXTEND_OUTPUT_RENDER",payload:{type:w,component:v},options:S})},u=(w,v,S)=>{o({type:"EXTEND_HANDLE_PREVIEW_RENDER",payload:{type:w,component:v},options:S})},c=(w,v,S)=>{o({type:"EXTEND_DATA_OVERLAY_RENDER",payload:{type:w,component:v},options:S})},f=(w,v,S)=>{o({type:"EXTEND_DATA_PREVIEW_RENDER",payload:{type:w,component:v},options:S})},h=(w,v,S)=>{o({type:"EXTEND_DATA_VIEW_RENDER",payload:{type:w,component:v},options:S})},p=(w,v,S)=>{o({type:"EXTEND_NODE_RENDERER",payload:{type:w,component:v},options:S})},g=(w,v,S)=>{o({type:"EXTEND_NODE_HOOKS",payload:{type:w,component:v},options:S})},y=(w,v)=>{o({type:"EXTEND_FROM_PLUGIN",payload:{plugin:w},options:v})};return _.useEffect(()=>{for(const w in t){const v=t[w];if(!v)continue;const S=v.renderpluginfactory;S&&y(S({React:ls,fnrf_zst:n,NodeContext:gp}))}},[t]),x.jsx(Ko.Provider,{value:{Inputrenderer:r.Inputrenderer,Outputrenderer:r.Outputrenderer,HandlePreviewRenderer:r.HandlePreviewRenderer,DataOverlayRenderer:r.DataOverlayRenderer,DataPreviewViewRenderer:r.DataPreviewViewRenderer,DataViewRenderer:r.DataViewRenderer,InLineRenderer:r.InLineRenderer,NodeRenderer:r.NodeRenderer,NodeHooks:r.NodeHooks,extendNodeRenderer:p,extendInputRenderMapping:a,extendOutputRenderMapping:s,extendHandlePreviewRenderMapping:u,extendDataOverlayRenderMapping:c,extendDataPreviewRenderMapping:f,extendDataViewRenderMapping:h,extendNodeHooks:g,extendFromPlugin:y},children:e})},Ko=_.createContext({Inputrenderer:yo.Inputrenderer,Outputrenderer:yo.Outputrenderer,HandlePreviewRenderer:yo.HandlePreviewRenderer,DataOverlayRenderer:yo.DataOverlayRenderer,DataPreviewViewRenderer:yo.DataPreviewViewRenderer,DataViewRenderer:yo.DataViewRenderer,InLineRenderer:yo.InLineRenderer,NodeRenderer:yo.NodeRenderer,NodeHooks:yo.NodeHooks,extendInputRenderMapping:(e,t,n)=>{},extendOutputRenderMapping:(e,t,n)=>{},extendHandlePreviewRenderMapping:(e,t,n)=>{},extendDataOverlayRenderMapping:(e,t,n)=>{},extendDataPreviewRenderMapping:(e,t,n)=>{},extendDataViewRenderMapping:(e,t,n)=>{},extendNodeRenderer:(e,t,n)=>{},extendNodeHooks:(e,t,n)=>{},extendFromPlugin:(e,t)=>{}}),vN=e=>{const t=tt(),{DataOverlayRenderer:n,DataViewRenderer:r}=_.useContext(Ko);if(e===void 0)return;const o=t.render_options(),[a]=Ia(e,o.typemap||{});return a?n[a]?n[a]:r[a]?hp(r[a]):JO:JO},Vne=e=>{const t=tt(),n=vN(e),{DataPreviewViewRenderer:r,DataViewRenderer:o}=_.useContext(Ko),a=t.render_options();if(e===void 0)return[void 0,n];const[s]=Ia(e,a.typemap||{});return s?r[s]?[r[s],n]:o[s]?[Pn(o[s]),n]:[Pn(dp),n]:[Pn(dp),n]},Une=e=>{const n=tt().render_options(),{HandlePreviewRenderer:r,DataPreviewViewRenderer:o}=_.useContext(Ko),a=vN(e);let s;if(e){const[u]=Ia(e,n.typemap||{});u?r[u]?s=r[u]:o[u]?s=o[u]:s=Pn(dp):s=Pn(dp)}return[s,a]},qne=e=>{const[t,n]=_.useState(!1),r=e.use(o=>o.in_trigger);return _.useEffect(()=>{let o;return r&&!t?n(!0):t&&(o=setTimeout(()=>n(!1),200)),()=>clearTimeout(o)},[r,t]),{visualTrigger:t,nodestore:e}},gp=_.createContext({}),Qn=()=>_.useContext(gp),ji=_.createContext(void 0);function At(e){if(e)return Qn().io_stores.get(e);{const t=_.useContext(ji);if(!t)throw new Error("IOContext not set");return t}}function nl(e){const{node:t}=_n();if(e||(e=At().use()),typeof e=="string"&&(e=At(e)?.use(),!e))throw new Error(`No IO found for ${e}`);if(!e)throw new Error("No IO found");return _.useCallback((r,o)=>{t?.set_io_value({nid:e.node,ioid:e.id,value:r,set_default:o??e.render_options.set_default})},[e,t])}function Gne(e){const{node:t}=_n();let n,r;if(!e){const s=At().useShallow(u=>({io_id:u.id,node_id:u.node}));n=s.io_id,r=s.node_id}if(typeof e=="string"){const a=At(e);if(!a)throw new Error(`No IO found for ${e}`);const s=a.useShallow(u=>({io_id:u.id,node_id:u.node}));n=s.io_id,r=s.node_id}else{if(!e)throw new Error("No IO found");n=e.id,r=e.node}return _.useCallback(a=>{t?.set_io_value_options({nid:r,ioid:n,values:a.values??a.keys,keys:a.keys,nullable:a.nullable??!1})},[t,n,r])}function Yne(e){return At(e)?.valuestore()}function yp(e){const t=At(e);if(!t)return;const{node:n,id:r}=t.useShallow(s=>({node:s.node,id:s.id})),{node:o}=_n();return _.useCallback(()=>o?.get_io_full_value({nid:n,ioid:r}),[o,n,r])}function Qv(e){const t=At(e);if(!t)return;const{node:n,id:r}=t.useShallow(s=>({node:s.node,id:s.id})),{node:o}=_n();return _.useCallback(s=>{o?.update_io_options({nid:n,ioid:r,options:{hidden:s}})},[o,n,r])}const bN=({iostore:e,Component:t})=>{const[n,r]=_.useState(void 0),[o,a]=_.useState(void 0),{full:s}=e.valuestore(),u=yp();_.useEffect(()=>{s===void 0?u?.():a(s.value)},[s,u]);const c=()=>{o!==void 0&&r(o)};return x.jsx(t,{value:o,preValue:n,onLoaded:c})},xN=({Component:e})=>x.jsx(e,{}),Ia=(e,t)=>wN(e.render_options?.type??"any",t),wN=(e,t)=>{if(typeof e=="string")return e in t?[t[e],e]:[e,e];if("allOf"in e&&e.allOf!==void 0)return[void 0,void 0];if("anyOf"in e&&e.anyOf!==void 0){const n=e.anyOf.map(r=>wN(r||"any",t));for(const r of n)switch(r[0]){case"bool":return["bool",r[1]];case"enum":return["enum",r[1]];case"float":return["float",r[1]];case"int":return["int",r[1]];case"string":return["string",r[1]];case"str":return["string",r[1]]}return[void 0,void 0]}return!("type"in e)||e.type===void 0?[void 0,void 0]:e.type==="enum"?["enum","enum"]:[void 0,void 0]},Jv=({typestring:e,preview:t,...n})=>{const[r,o]=_.useState(!1),[a,s]=_.useState(!1),u=tt(),c=At(),f=c.use(),h=yp(),[p,g]=Une(f),y=u.local_state(()=>u.reactflowRef);return x.jsxs(Ik,{open:r||a,onOpenChange:s,children:[x.jsx(zk,{asChild:!0,children:x.jsx(ec,{id:f.id,"data-type":e,...n})}),x.jsx(Lk,{container:y,children:x.jsxs(Fk,{className:"iotooltipcontent",sideOffset:5,avoidCollisions:!0,collisionBoundary:y,collisionPadding:10,onOpenAutoFocus:w=>w.preventDefault(),onCloseAutoFocus:w=>w.preventDefault(),children:[x.jsxs("div",{className:"iotooltip_container",children:[x.jsxs("div",{className:"iotooltip_header",children:[r?x.jsx(CB,{onClick:()=>o(!1)}):x.jsx(EB,{onClick:()=>o(!0)}),g&&x.jsx(Lo,{title:f.full_id,trigger:x.jsx(LC,{}),onOpenChange:w=>{w&&h?.(),o(w)},children:x.jsx(bN,{Component:g,iostore:c})})]}),p?x.jsx(xN,{Component:p}):`no preview available for "${e}"`]}),x.jsx(aV,{className:"iotooltipcontentarrow"})]})})]})},rl={"":[e=>e,e=>e],str_to_json:[e=>JSON.parse(e),e=>typeof e=="string"?e:JSON.stringify(e)],str_to_list:[e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch{try{return JSON.parse("["+e+"]")}catch{}}throw new Error("Invalid list")},e=>JSON.stringify(e)]},Wne=({setNodeSettingsPath:e,setShowSettings:t})=>{const r=tt().render_options(),a=At().use(),[s,u]=Ia(a,r.typemap||{}),{Inputrenderer:c}=_.useContext(Ko),f=s?a.value_options?.options?nc:c[s]:void 0,h=rl[(u&&r.inputconverter?.[u])??""]||rl[""],{keys:p}=J0(),g=y=>{p.has("s")&&(e&&e("inputs/"+a.id),t&&t(!0),y.stopPropagation())};return a.hidden?null:x.jsxs("div",{className:"nodeinput","data-type":s,onClick:g,children:[x.jsx(Jv,{typestring:s,position:ke.Left,type:"target"}),x.jsxs("div",{className:"inner_nodeio",children:[f&&x.jsx("div",{className:"iovaluefield nodrag","data-type":s,children:x.jsx(f,{inputconverter:h})}),x.jsx("div",{className:"ioname",children:a.name})]}),x.jsx(Jv,{typestring:s,position:ke.Right,type:"source"})]})},Xne=({setNodeSettingsPath:e,setShowSettings:t})=>{const r=tt().render_options(),a=At().use(),[s]=Ia(a,r.typemap||{}),{Outputrenderer:u}=_.useContext(Ko),{keys:c}=J0(),f=s?u[s]:void 0,h=p=>{c.has("s")&&(e&&e("outputs/"+a.id),t&&t(!0),p.stopPropagation())};return a.hidden?null:x.jsxs("div",{className:"nodeoutput","data-type":s,onClick:h,children:[x.jsx(Jv,{typestring:s,position:ke.Right,type:"source"}),x.jsxs("div",{className:"inner_nodeio",children:[x.jsx("div",{className:"ioname",children:a.name}),f?x.jsx("div",{className:"iovaluefield nodrag",children:x.jsx(f,{})}):x.jsx("div",{className:"iovaluefield",children:x.jsx(lne,{})})]})]})},Kne=()=>{const t=tt().render_options(),r=At().use(),o=Qv(),[a,s]=Ia(r,t.typemap||{}),{Inputrenderer:u}=_.useContext(Ko),c=a?r.value_options?.options?nc:u[a]:void 0,f=rl[(s&&t.inputconverter?.[s])??""]||rl[""];return x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:r.name}),c&&x.jsx(c,{inputconverter:f}),x.jsx("div",{children:x.jsxs("label",{children:["hidden:",x.jsx("input",{className:"styledcheckbox",type:"checkbox",disabled:r.connected,onChange:h=>{o?.(h.target.checked)},checked:r.hidden})]})})]})},Zne=()=>{const t=At().use(),n=Qv();return x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:t.name}),x.jsx("div",{children:x.jsxs("label",{children:["hidden:",x.jsx("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:r=>{n?.(r.target.checked)},checked:t.hidden})]})})]})},_N=({})=>{const e=tt(),{node:t}=_n(),r=At().use(),o=e.render_options(),a=Qv(),[s,u]=_.useState(r.name);_.useEffect(()=>u(r.name),[r.name]);const c=_.useCallback(v=>u(v.target.value),[]),f=_.useCallback(()=>{s!==r.name&&t?.update_io_options({nid:r.node,ioid:r.id,options:{name:s}})},[r,t,s]),[h,p]=Ia(r,o.typemap||{}),g=rl[(p&&o.inputconverter?.[p])??""]||rl[""],{Inputrenderer:y}=_.useContext(Ko),w=h?r.value_options?.options?nc:y[h]:void 0;return x.jsxs("div",{className:"nodesettings-io-entry funcnodes-control-group",children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`io-name-${r.id}`,children:"Name:"}),x.jsx("input",{id:`io-name-${r.id}`,type:"text",value:s,onChange:c,onBlur:f,className:"styledinput"})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"ID:"}),x.jsx("span",{children:r.id})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Value:"}),w&&x.jsx(w,{inputconverter:g})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Type:"}),x.jsx("pre",{children:JSON.stringify(r.type,null,2)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`io-hidden-${r.id}`,children:"Hidden:"}),x.jsx("input",{id:`io-hidden-${r.id}`,type:"checkbox",checked:r.hidden,onChange:v=>a?.(v.target.checked),className:"styledcheckbox",disabled:r.connected&&r.is_input})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Value Options:"}),x.jsx("pre",{children:JSON.stringify(r.value_options,null,2)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Render Options:"}),x.jsx("pre",{className:"code-display",children:JSON.stringify(r.render_options,null,2)})]}),r.is_input&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Does Trigger:"}),x.jsx("span",{children:String(r.does_trigger)})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Required:"}),x.jsx("span",{children:String(r.required)})]})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Emit Value Set:"}),x.jsx("span",{children:String(r.emit_value_set)})]}),x.jsx("hr",{})]})},eb={xxs:0,xs:320,s:480,m:768,l:960,xl:1280,xxl:1920},Qne=Object.entries(eb).sort(([,e],[,t])=>t-e),SN=_.createContext(void 0),Jne=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}},ere=e=>{for(const[t,n]of Qne)if(e>=n)return t;return"xxs"},EN=_.memo(_.forwardRef((e,t)=>{const{className:n,children:r,...o}=e,[a,s]=_.useState({wKey:"m",w:0,h:0}),u=_.useRef(null);_.useImperativeHandle(t,()=>u.current,[]);const c=_.useCallback(h=>{const p=h.width,g=h.height,y=ere(p);s(w=>w.wKey===y&&w.w===p&&w.h===g?w:{wKey:y,w:p,h:g})},[]),f=_.useMemo(()=>Jne(c,16),[c]);return _.useEffect(()=>{const h=u.current;if(!h)return;const p=new ResizeObserver(g=>{const y=g[0];y&&f(y.contentRect)});return c(h.getBoundingClientRect()),p.observe(h),()=>{p.disconnect()}},[c,f]),x.jsx(SN.Provider,{value:a,children:x.jsx("div",{ref:u,className:`size-context w-${a.wKey} ${n||""}`.trim(),...o,children:r})})}));EN.displayName="SizeContextContainer";const tre=()=>{const e=_.useContext(SN);if(!e)throw new Error("useSizeContext must be used within a SizeContextContainerContext");return e},nre=(e,t)=>e===t?!1:e===""?!0:eb[e]<eb[t],rre=e=>{const{wKey:t}=tre();return nre(t,e)},CN=(e,t,n="",r="")=>{const o=[];return typeof e=="string"?o.push(`${t}-${e}`):typeof e=="boolean"?o.push(e?n:r):e&&typeof e=="object"&&Object.entries(e).forEach(([a,s])=>{if(typeof s=="string")o.push(a===""?`${t}-${s}`:`${a}-${t}-${s}`);else if(typeof s=="boolean"){const u=s?n:r;u&&o.push(a===""?u:`${a}-${u}`)}}),o.filter(Boolean).join(" ")},Ii=_.memo(({direction:e,className:t="",children:n,wrap:r=!1,grow:o=!1,...a})=>{const s="float-container",u=CN(e,"direction"),c=CN(o,"","grow","no-grow"),h=[s,u,c,typeof r=="boolean"&&r?"flex-wrap":"",t].filter(Boolean).join(" ");return x.jsx("div",{className:h,...a,children:n})});Ii.displayName="FloatContainer";const ore={up:e=>x.jsx(x.Fragment,{children:"▲"}),down:e=>x.jsx(x.Fragment,{children:"▼"}),left:e=>x.jsx(x.Fragment,{children:"◀"}),right:e=>x.jsx(x.Fragment,{children:"▶"})},ire={up:e=>x.jsx(x.Fragment,{children:"▲"}),down:e=>x.jsx(x.Fragment,{children:"▼"}),left:e=>x.jsx(x.Fragment,{children:"▶"}),right:e=>x.jsx(x.Fragment,{children:"◀"})},tb=_.memo(({direction:e,expanded:t=!0,children:n,className:r,maxSize:o="18.75rem",expanderSize:a="2rem",containerStyle:s,style:u,containerClassName:c,expandIcons:f,collapseIcons:h,onExpandChange:p,...g})=>{const[y,w]=_.useState(t);_.useEffect(()=>{w(t)},[t]);const v=_.useCallback(()=>{w(R=>{const F=!R;return p?.(F),F})},[p]),S=_.useCallback(R=>{(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),v())},[v]),E=e==="right"||e==="left",T=e==="left"||e==="up",k=y?h?.[e]||ire[e]:f?.[e]||ore[e],A=`${e} ${y?"expanded":"collapsed"}`,M=_.useMemo(()=>({[E?"width":"height"]:y?o:a}),[E,y,o,a]),N=_.useMemo(()=>({[E?"width":"height"]:y?o:0}),[E,y,o]),P=_.useMemo(()=>({[E?"width":"height"]:a}),[E,a]),z=x.jsx("div",{className:`expanding_container_content ${A} ${r||""}`.trim(),style:{...u,...N},...g,children:n}),B=x.jsx("div",{className:`expanding_container_expander ${A}`,onClick:v,onKeyDown:S,style:P,role:"button",tabIndex:0,"aria-label":`${y?"Collapse":"Expand"} ${e}`,children:x.jsx(k,{})});return x.jsxs("div",{className:`expanding_container ${A} ${c||""}`,style:{...s,...M},children:[T?B:z,T?z:B]})});tb.displayName="ExpandingContainer";const are=({nodestore:e})=>{const t=e.use();return x.jsx(gp.Provider,{value:e,children:x.jsxs("div",{className:"nodesettings_content",children:[x.jsx("div",{className:"nodesettings_section",children:x.jsxs("div",{className:"nodesettings_component",children:[x.jsx("div",{children:"Name"}),x.jsx("div",{children:x.jsx(sb,{})})]})}),x.jsxs("div",{className:"nodesettings_section",children:[x.jsx("div",{children:"Inputs"}),t.inputs.map(n=>{const r=e.io_stores.get(n);if(r)return x.jsx(ji.Provider,{value:r,children:x.jsx(Kne,{})},n)})]}),x.jsxs("div",{className:"nodesettings_section",children:[x.jsx("div",{children:"Outputs"}),t.outputs.map(n=>{const r=e.io_stores.get(n);if(r)return x.jsx(ji.Provider,{value:r,children:x.jsx(Zne,{})},n)})]})]})})},sre=()=>{const e=tt(),t=e.local_state(r=>r.selected_nodes);if(t.length===0)return x.jsx("div",{children:"Node Settings"});if(t.length>1)return x.jsx("div",{children:"Multiple Nodes Selected"});const n=e.nodespace.get_node(t[0]);return n?x.jsx(are,{nodestore:n}):x.jsx("div",{children:"Node not found"})},lre=()=>{const e=tt(),t=e.local_settings(r=>r.view_settings.expand_node_props),n=r=>{e.update_view_settings({expand_node_props:r})};return x.jsx(tb,{direction:"left",expanded:t===void 0?!1:t,containerClassName:"pos-right pos-top bg1 h-12",className:"nodesettings_content",onExpandChange:n,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsx(sre,{})})};var nb="rovingFocusGroup.onEntryFocus",ure={bubbles:!1,cancelable:!0},rc="RovingFocusGroup",[rb,kN,cre]=fh(rc),[fre,vp]=Jr(rc,[cre]),[dre,hre]=fre(rc),TN=_.forwardRef((e,t)=>x.jsx(rb.Provider,{scope:e.__scopeRovingFocusGroup,children:x.jsx(rb.Slot,{scope:e.__scopeRovingFocusGroup,children:x.jsx(pre,{...e,ref:t})})}));TN.displayName=rc;var pre=_.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:f,preventScrollOnEntryFocus:h=!1,...p}=e,g=_.useRef(null),y=yt(t,g),w=pp(a),[v,S]=wi({prop:s,defaultProp:u??null,onChange:c,caller:rc}),[E,T]=_.useState(!1),k=Mn(f),A=kN(n),M=_.useRef(!1),[N,P]=_.useState(0);return _.useEffect(()=>{const z=g.current;if(z)return z.addEventListener(nb,k),()=>z.removeEventListener(nb,k)},[k]),x.jsx(dre,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:v,onItemFocus:_.useCallback(z=>S(z),[S]),onItemShiftTab:_.useCallback(()=>T(!0),[]),onFocusableItemAdd:_.useCallback(()=>P(z=>z+1),[]),onFocusableItemRemove:_.useCallback(()=>P(z=>z-1),[]),children:x.jsx(Ue.div,{tabIndex:E||N===0?-1:0,"data-orientation":r,...p,ref:y,style:{outline:"none",...e.style},onMouseDown:xe(e.onMouseDown,()=>{M.current=!0}),onFocus:xe(e.onFocus,z=>{const B=!M.current;if(z.target===z.currentTarget&&B&&!E){const R=new CustomEvent(nb,ure);if(z.currentTarget.dispatchEvent(R),!R.defaultPrevented){const F=A().filter(I=>I.focusable),U=F.find(I=>I.active),W=F.find(I=>I.id===v),V=[U,W,...F].filter(Boolean).map(I=>I.ref.current);MN(V,h)}}M.current=!1}),onBlur:xe(e.onBlur,()=>T(!1))})})}),AN="RovingFocusGroupItem",RN=_.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:s,...u}=e,c=eo(),f=a||c,h=hre(AN,n),p=h.currentTabStopId===f,g=kN(n),{onFocusableItemAdd:y,onFocusableItemRemove:w,currentTabStopId:v}=h;return _.useEffect(()=>{if(r)return y(),()=>w()},[r,y,w]),x.jsx(rb.ItemSlot,{scope:n,id:f,focusable:r,active:o,children:x.jsx(Ue.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...u,ref:t,onMouseDown:xe(e.onMouseDown,S=>{r?h.onItemFocus(f):S.preventDefault()}),onFocus:xe(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:xe(e.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){h.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const E=yre(S,h.orientation,h.dir);if(E!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let k=g().filter(A=>A.focusable).map(A=>A.ref.current);if(E==="last")k.reverse();else if(E==="prev"||E==="next"){E==="prev"&&k.reverse();const A=k.indexOf(S.currentTarget);k=h.loop?vre(k,A+1):k.slice(A+1)}setTimeout(()=>MN(k))}}),children:typeof s=="function"?s({isCurrentTabStop:p,hasTabStop:v!=null}):s})})});RN.displayName=AN;var mre={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function gre(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function yre(e,t,n){const r=gre(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return mre[r]}function MN(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function vre(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ON=TN,NN=RN,bp="Tabs",[bre,rme]=Jr(bp,[vp]),DN=vp(),[xre,ob]=bre(bp),PN=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:s="horizontal",dir:u,activationMode:c="automatic",...f}=e,h=pp(u),[p,g]=wi({prop:r,onChange:o,defaultProp:a??"",caller:bp});return x.jsx(xre,{scope:n,baseId:eo(),value:p,onValueChange:g,orientation:s,dir:h,activationMode:c,children:x.jsx(Ue.div,{dir:h,"data-orientation":s,...f,ref:t})})});PN.displayName=bp;var jN="TabsList",IN=_.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,a=ob(jN,n),s=DN(n);return x.jsx(ON,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:r,children:x.jsx(Ue.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});IN.displayName=jN;var zN="TabsTrigger",LN=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,s=ob(zN,n),u=DN(n),c=BN(s.baseId,r),f=HN(s.baseId,r),h=r===s.value;return x.jsx(NN,{asChild:!0,...u,focusable:!o,active:h,children:x.jsx(Ue.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":f,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...a,ref:t,onMouseDown:xe(e.onMouseDown,p=>{!o&&p.button===0&&p.ctrlKey===!1?s.onValueChange(r):p.preventDefault()}),onKeyDown:xe(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&s.onValueChange(r)}),onFocus:xe(e.onFocus,()=>{const p=s.activationMode!=="manual";!h&&!o&&p&&s.onValueChange(r)})})})});LN.displayName=zN;var FN="TabsContent",$N=_.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:a,...s}=e,u=ob(FN,n),c=BN(u.baseId,r),f=HN(u.baseId,r),h=r===u.value,p=_.useRef(h);return _.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),x.jsx(Rr,{present:o||h,children:({present:g})=>x.jsx(Ue.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!g,id:f,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&a})})});$N.displayName=FN;function BN(e,t){return`${e}-trigger-${t}`}function HN(e,t){return`${e}-content-${t}`}var ib=PN,ab=IN,oc=LN,ic=$N;const wre=({})=>{const e=tt(),t=Qn(),{description:n,id:r,node_id:o,node_name:a,reset_inputs_on_trigger:s}=t.useShallow(p=>({description:p.description,id:p.id,node_id:p.node_id,node_name:p.node_name,reset_inputs_on_trigger:p.reset_inputs_on_trigger})),[u,c]=_.useState(n||"");_.useEffect(()=>c(n||""),[n]);const f=p=>c(p.target.value),h=()=>{u!==(n||"")&&e.on_node_action({type:"update",from_remote:!1,id:r,node:{description:u}})};return x.jsxs("div",{className:"nodesettings-section funcnodes-control-group",children:[x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`node-name-${r}`,children:"Name:"}),x.jsx(sb,{})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Instance ID:"}),x.jsx("span",{children:r})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Node Type ID:"}),x.jsx("span",{children:o})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Node Type Name:"}),x.jsx("span",{children:a})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{htmlFor:`node-desc-${r}`,children:"Description:"}),x.jsx("textarea",{id:`node-desc-${r}`,value:u,onChange:f,onBlur:h,className:"styledinput",rows:3})]}),x.jsxs("div",{className:"funcnodes-control-row",children:[x.jsx("label",{children:"Reset Inputs on Trigger:"}),x.jsx("input",{type:"checkbox",checked:s,onChange:p=>{e.on_node_action({type:"update",from_remote:!1,id:r,node:{reset_inputs_on_trigger:p.target.checked}})},className:"styledcheckbox"})]})]})},_re=({splitnodesettingsPath:e=[]})=>{const t=Qn(),n=t.use(r=>r.inputs);return x.jsxs(ib,{defaultValue:e[0]||n[0],className:"nodesettings-tabs funcnodes-control-root",children:[x.jsx(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node inputs",children:n.map(r=>x.jsx(oc,{value:r,className:"nodesettings-tabs-trigger",children:r},r))}),n.map(r=>{const o=t.io_stores.get(r);return x.jsx(ic,{value:r,className:"nodesettings-tabs-content nodesettings-io-list",children:o&&x.jsx(ji.Provider,{value:o,children:x.jsx(_N,{})})},r)})]})},Sre=({splitnodesettingsPath:e=[]})=>{const t=Qn(),n=t.use(r=>r.outputs);return x.jsxs(ib,{defaultValue:e[0]||n[0],className:"nodesettings-tabs funcnodes-control-root",children:[x.jsx(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node outputs",children:n.map(r=>x.jsx(oc,{value:r,className:"nodesettings-tabs-trigger",children:r},r))}),n.map(r=>{const o=t.io_stores.get(r);return x.jsx(ic,{value:r,className:"nodesettings-tabs-content nodesettings-io-list",children:o&&x.jsx(ji.Provider,{value:o,children:x.jsx(_N,{})})},r)})]})},Ere=({nodeSettingsPath:e})=>{const t=e.split("/")||["general"];return x.jsxs(ib,{defaultValue:t[0]||"general",className:"nodesettings-tabs funcnodes-control-root",children:[x.jsxs(ab,{className:"nodesettings-tabs-list","aria-label":"Manage node settings",children:[x.jsx(oc,{value:"general",className:"nodesettings-tabs-trigger",children:"General"}),x.jsx(oc,{value:"inputs",className:"nodesettings-tabs-trigger",children:"Inputs"}),x.jsx(oc,{value:"outputs",className:"nodesettings-tabs-trigger",children:"Outputs"})]}),x.jsx(ic,{value:"general",className:"nodesettings-tabs-content",children:x.jsx(wre,{})}),x.jsx(ic,{value:"inputs",className:"nodesettings-tabs-content nodesettings-io-list",children:x.jsx(_re,{splitnodesettingsPath:t.slice(1)})}),x.jsx(ic,{value:"outputs",className:"nodesettings-tabs-content nodesettings-io-list",children:x.jsx(Sre,{splitnodesettingsPath:t.slice(1)})})]})},Cre=_.memo(({isOpen:e,onOpenChange:t,nodeSettingsPath:n})=>{const o=Qn().use(a=>a.id);return x.jsx(Lo,{title:`Node Settings: ${o}`,open:e,onOpenChange:t,dialogClassName:"nodesettings-dialog",children:x.jsx(Ere,{nodeSettingsPath:n})})}),kre=_.memo(({toogleShowSettings:e})=>{const t=tt(),{node:n}=_n(),r=Qn(),{id:o,description:a,node_name:s}=r.useShallow(c=>({id:c.id,description:c.description,node_name:c.node_name})),u=_.useCallback(()=>{t.on_node_action({type:"trigger",from_remote:!1,id:o})},[t,o]);return x.jsxs("div",{className:"nodeheader",title:a||s,children:[x.jsxs("div",{className:"nodeheader_element",children:[x.jsx(TB,{fontSize:"inherit",className:"triggerbutton nodeheaderbutton ",onClick:u}),x.jsx(kB,{fontSize:"inherit",className:"nodestatusbutton nodeheaderbutton",onClick:async()=>{n&&console.log("nodestatus",await n.get_node_status(o))}}),x.jsx(RB,{fontSize:"inherit",className:"nodesettingsbutton nodeheaderbutton",onClick:()=>{e?.()}})]}),x.jsx("div",{className:"nodeheader_element nodeheader_title",children:x.jsx("div",{className:"nodeheader_title_text",children:s})}),x.jsx("div",{className:"nodeheader_element",children:x.jsx(xu,{fontSize:"inherit"})})]})}),Tre=_.memo(({iostore:e})=>{const t=e.use(),r=Qn().use(u=>u.render_options),o=yp(t.id),[a,s]=Vne(t);return x.jsx("div",{className:"nodrag nodedatabody","data-src":r?.data?.src||"",children:a&&t&&x.jsx(ji.Provider,{value:e,children:x.jsx(Lo,{title:t.full_id,trigger:x.jsx("div",{className:"nodedatabutton",children:x.jsx(xN,{Component:a})}),onOpenChange:u=>{u&&o?.()},children:s&&x.jsx(bN,{Component:s,iostore:e})})})})}),Are=_.memo(({setShowSettings:e,setNodeSettingsPath:t})=>{const n=Qn(),{render_options:r,outputs:o,inputs:a}=n.useShallow(u=>({render_options:u.render_options,outputs:u.outputs,inputs:u.inputs})),s=r?.data?.src?n.io_stores.get(r?.data?.src):void 0;return x.jsxs("div",{className:"nodebody nowheel ",children:[o.map(u=>{const c=n.io_stores.get(u);if(c)return x.jsx(ji.Provider,{value:c,children:x.jsx(Xne,{setNodeSettingsPath:t,setShowSettings:e})},u)}),s&&x.jsx(Tre,{iostore:s}),a.map(u=>{const c=n.io_stores.get(u);if(c)return x.jsx(ji.Provider,{value:c,children:x.jsx(Wne,{setNodeSettingsPath:t,setShowSettings:e})},u)})]})}),sb=()=>{const e=Qn(),{original_name:t,id:n}=e.useShallow(c=>({original_name:c.name,id:c.id})),[r,o]=_.useState(t);_.useEffect(()=>{o(t)},[t]);const a=tt(),s=c=>{o(c.target.value)},u=c=>{const f=c.target.value;f!==t&&a.on_node_action({type:"update",from_remote:!1,id:n,node:{name:f}})};return x.jsx("input",{className:"nodename_input",value:r,onChange:s,onBlur:u})},Rre=()=>{const t=Qn().use(n=>n.progress);return t?x.jsx(vG,{state:t,className:"nodeprogress"}):null},Mre=_.memo(()=>{const t=Qn().use(n=>n.error);return x.jsxs("div",{className:"nodefooter",children:[t&&x.jsx("div",{className:"nodeerror",children:t}),x.jsx(Rre,{})]})}),Ore=()=>{const e=Qn(),{collapsed:t,error:n,node_id:r}=e.useShallow(w=>({collapsed:w.properties["frontend:collapsed"]||!1,error:w.error,node_id:w.node_id})),{visualTrigger:o}=qne(e),[a,s]=_.useState(!1),[u,c]=_.useState(""),{keys:f}=J0(),p=_.useContext(Ko).NodeHooks[r]??[],g=_.useCallback(()=>{s(w=>!w)},[]),y=w=>{f.has("s")&&!a&&(c(""),s(!0),w.stopPropagation())};return x.jsxs("div",{className:"innernode"+(o?" intrigger":"")+(n?" error":""),onClick:y,children:[x.jsx(kre,{toogleShowSettings:g}),x.jsx(sb,{}),t?null:x.jsx(Are,{setNodeSettingsPath:c,setShowSettings:s}),x.jsx(Mre,{}),x.jsx(Cre,{isOpen:a,onOpenChange:s,nodeSettingsPath:u}),p.map((w,v)=>x.jsx(_.Fragment,{children:x.jsx(w,{})},v))]})},Nre=_.memo(({data:e})=>x.jsx(gp.Provider,{value:e.nodestore,children:x.jsx(Ore,{})}),(e,t)=>e.data.nodestore===t.data.nodestore),Dre=({id:e,sourceX:t,sourceY:n,targetX:r,targetY:o,sourcePosition:a,targetPosition:s,data:u,...c})=>{const[f]=Av({sourceX:t,sourceY:n,sourcePosition:a,targetX:r,targetY:o,targetPosition:s});return x.jsx(x.Fragment,{children:x.jsx(tc,{id:e,path:f,...c})})},Pre={default:Nre,group:rne},jre={default:Dre},Ire=e=>({nodes:e.getNodes(),edges:e.getEdges(),onNodesChange:e.onNodesChange,onEdgesChange:e.onEdgesChange,onConnect:e.onConnect}),lb=e=>{const t=new Set,n=e.filter(o=>o.type==="group");n.forEach(o=>{t.add(o.id)});const r=e.filter(o=>!t.has(o.id));return{group_nodes:n,default_nodes:r}};function ub(e){const t=new Map(e.map(s=>[s.id,s])),n=new Map,r=[];for(const s of e)if(n.has(s.id)||n.set(s.id,[]),s.parentId&&t.has(s.parentId)){const u=t.get(s.parentId);if(u){const c=n.get(u.id)||[];c.push(s),n.set(u.id,c)}else r.push(s)}else r.push(s);const o=[];function a(s){o.push(s);const u=n.get(s.id)||[];for(const c of u)a(c)}for(const s of r)a(s);if(o.length!==e.length){console.warn("Sorting mismatch: Not all nodes could be placed. Check for circular dependencies or missing parents.");const s=new Set(o.map(u=>u.id));e.forEach(u=>{s.has(u.id)||o.push(u)})}return o}const VN=()=>{const{getNodes:e}=ja();return{getNodes:e,getSelectedNodes:o=>(o===void 0&&(o=e()),o.filter(a=>a.selected)),getSplitNodes:o=>{o===void 0&&(o=e());const{group_nodes:a,default_nodes:s}=lb(o);return{group_nodes:a,default_nodes:s}},getSortedNodes:o=>(o===void 0&&(o=e()),ub(o))}},UN=(e,t)=>{const n=e.getState(),{new_obj:r,change:o}=ha(n,t);o&&e.setState(r)},qN=e=>gr(e);function GN(e){return e!=null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}const YN=e=>{let t=e.io??{},n=e.io_order,r=[];const o={};if(n===void 0)if(Array.isArray(t)){const a=t.filter(GN);r=a.map(s=>s.id);for(const s of a)o[s.id]=s}else{r=Object.keys(t);for(const a in t)t[a]!==void 0&&(o[a]=t[a])}else if(r=n,Array.isArray(t)){const a=t.filter(GN);for(const s of a)o[s.id]=s,r.includes(s.id)||r.push(s.id)}else for(const a in t)t[a]!==void 0&&(o[a]=t[a]),r.includes(a)||r.push(a);return{...e,io_order:r,io:o}},zre={id:"dummy",node_id:"dummy",node_name:"dummy",properties:{"frontend:size":[200,100],"frontend:pos":[NaN,NaN],"frontend:collapsed":!1},io:{},io_order:[],name:"dummy",in_trigger:!1,reset_inputs_on_trigger:!1,progress:{ascii:!1,elapsed:0,initial:0,n:0,prefix:"idle",unit:"it",unit_divisor:1e3,unit_scale:!1}},Lre={id:"dummy",name:"dummy",node:"dummy",full_id:"dummy",type:"any",value:void 0,is_input:!1,connected:!1,does_trigger:!0,fullvalue:void 0,render_options:{set_default:!0,type:"any"},hidden:!1,emit_value_set:!0,required:!1},Fre=pg(zre),$re=pg(Lre),Bre=e=>{const t=e.io_order;if(t===void 0)throw new Error("Node must have io_order");return{...e,inputs:Object.keys(e.io).filter(r=>e.io[r].is_input),outputs:Object.keys(e.io).filter(r=>!e.io[r].is_input),io_order:t}},Hre=e=>(e.value==="<NoValue>"&&(e.value=void 0),e.fullvalue==="<NoValue>"&&(e.fullvalue=void 0),e.hidden===void 0&&(e.hidden=!1),[{...e},e.value,e.fullvalue]),Vre=e=>{if(!e.id)throw new Error("Node must have an id");const t=Fre(e);return Bre(t)},Ure=(e,t)=>{const n=e.getState(),r={},o=YN(t),a=Object.keys(o);for(const s of a)switch(s){case"id":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"node_id":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"node_name":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"name":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"in_trigger":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}case"error":{o[s]!==n[s]&&(r[s]=o[s]);break}case"render_options":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"io_order":{const[u,c]=((f,h)=>h===void 0?[f,!1]:[h,!hg(f,h)])(n[s],o[s]);c&&(r[s]=u.filter(f=>f!==void 0));break}case"io":{const u=o[s];if(u===void 0)break;for(const c in u){const f=e.io_stores.get(c);if(!f){console.error("io key not found in oldvalue:",c);continue}f.update(u[c])}break}case"progress":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"description":{r[s]=o[s];break}case"properties":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"status":{const[u,c]=us(n[s],o[s]);c&&(r[s]=u);break}case"reset_inputs_on_trigger":{const[u,c]=fr(n[s],o[s]);c&&(r[s]=u);break}default:try{Uw(s,o[s])}catch(u){console.error(u)}}Object.keys(r).length>0&&e.setState(r)},qre=(e,t)=>{const n=e.getState(),r={},o={},a=Object.keys(t);for(const s of a)switch(s){case"name":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"id":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"connected":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"does_trigger":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"hidden":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"full_id":{const[u,c]=fr(n[s],t[s]);c&&(r[s]=u);break}case"is_input":break;case"node":break;case"type":break;case"value":{o.preview=t[s];break}case"fullvalue":{o.full=t[s];break}case"render_options":{const[u,c]=us(n[s],t[s]);c&&(r[s]=u);break}case"value_options":{const[u,c]=us(n[s],t[s]);c&&(r[s]=u);break}case"valuepreview_type":{r[s]=t[s];break}case"emit_value_set":{r[s]=t[s];break}case"default":{r[s]=t[s];break}case"required":{r[s]=t[s];break}default:try{Uw(s,t[s])}catch(u){console.error(u)}}Object.keys(o).length>0&&e.updateValueStore(o),Object.keys(r).length>0&&e.setState(r)},Gre=e=>{if(!e.id)throw new Error("IO must have an id but is missing for "+JSON.stringify(e));e.name===void 0&&(e.name=e.id);const t=$re(e);return(t.render_options.type==="any"||t.render_options.type===void 0)&&(t.render_options.type=t.type),Hre(t)},Yre=(e,t)=>{let n;const[r,o,a]=Gre(t);return n={io_state:qN((s,u)=>r),use:s=>s?n.io_state(s):n.io_state(),useShallow:s=>n.io_state(qv(s)),getState:()=>n.io_state.getState(),setState:s=>{n.io_state.setState(s)},update:s=>{qre(n,s)},valuestore:gr((s,u)=>{let c=o;c==="<NoValue>"&&(c=void 0),!(c instanceof uo)&&c!==void 0&&(c=Oi.fromObject(c));let f=a;return f==="<NoValue>"&&(f=void 0),!(f instanceof uo)&&f!==void 0&&(f=Oi.fromObject(f)),{preview:c,full:f}}),updateValueStore:s=>{n.valuestore.setState(u=>(u.preview&&typeof u.preview.dispose=="function"&&u.preview.dispose(),u.full&&typeof u.full.dispose=="function"&&u.full.dispose(),s.preview!==void 0&&s.full===void 0&&(s.full=void 0,u.full=void 0),s.preview!==void 0&&!(s.preview instanceof uo)&&(s.preview=Oi.fromObject(s.preview)),s.full!==void 0&&!(s.full instanceof uo)&&(s.full=Oi.fromObject(s.full)),{...u,...s}))},node:e,serialize:()=>{const s=n.io_state.getState(),u=n.valuestore.getState();return{...s,value:u.preview,fullvalue:u.full,render_options:s.render_options,valuepreview_type:s.valuepreview_type,emit_value_set:s.emit_value_set}}},n},Wre=e=>{const t={use:a=>a?r.node_state(a):r.node_state(),useShallow:a=>r.node_state(qv(a)),io_stores:new Map,getState:()=>r.node_state.getState(),setState:a=>{r.node_state.setState(a)},update:a=>{Ure(r,a)},serialize:()=>({...r.node_state.getState(),io:Object.fromEntries(Array.from(r.io_stores.entries()).map(([u,c])=>[u,c.serialize()]))})},n=YN(e),r={...t,node_state:qN((a,s)=>Vre(n))},o=n.io;return Object.entries(o).forEach(([a,s])=>{s!==void 0&&r.io_stores.set(a,Yre(n.id,s))}),r},Xre=()=>{const e=tt();return{onSelectionChange:_.useCallback(({nodes:n,edges:r})=>{const{group_nodes:o,default_nodes:a}=lb(n),s=e.local_state.getState();e.local_state.setState({...s,selected_nodes:a.map(u=>u.id),selected_edges:r.map(u=>u.id),selected_groups:o.map(u=>u.id)})},[e])}},Kre=()=>{const e=ja(),t=tt();return t.rf_instance=e,x.jsx(x.Fragment,{})},Zre=()=>{const e=tt(),{getEdges:t}=ja(),{getSelectedNodes:n}=VN();return{copySelectedNodes:_.useCallback(()=>{const o=t(),a=n();if(a.length===0)return;const s={nodes:[],edges:[]};for(const f of a){const h=e.nodespace.get_node(f.id,!1);h&&s.nodes.push(h.serialize())}const u=new Set(a.map(f=>f.id)),c=o.filter(f=>u.has(f.source)&&u.has(f.target));for(const f of c)!f.sourceHandle||!f.targetHandle||s.edges.push({src_nid:f.source,src_ioid:f.sourceHandle,trg_nid:f.target,trg_ioid:f.targetHandle});navigator.clipboard.writeText(JSON.stringify(s))},[n,t,e])}},Qre=()=>{const e=Xo("Delete"),t=Xo(["Meta+c","Control+c","Strg+c"]),n=Xo(["Control+g","Meta+g"]),r=Xo(["Control+Alt+g","Meta+Alt+g"]),o=tne(),{getEdges:a}=ja(),{getNodes:s,getSelectedNodes:u,getSplitNodes:c}=VN(),{copySelectedNodes:f}=Zre(),{node:h,group:p,edge:g}=_n();return _.useEffect(()=>{if(e){const y=a().filter(E=>E.selected);for(const E of y)!E.source||!E.target||!E.sourceHandle||!E.targetHandle||g?.remove_edge({src_nid:E.source,src_ioid:E.sourceHandle,trg_nid:E.target,trg_ioid:E.targetHandle});const w=u(),{group_nodes:v,default_nodes:S}=c(w);for(const E of S)h?.remove_node(E.id);for(const E of v)p?.remove_group(E.id)}},[e,s,a,h,p,g]),_.useEffect(()=>{t&&f()},[t,f]),_.useEffect(()=>{if(n){const y=u(),{group_nodes:w,default_nodes:v}=c(y);y.length>0&&o(v.map(S=>S.id),w.map(S=>S.id))}},[n,s]),_.useEffect(()=>{if(r){const y=u(),{group_nodes:w}=c(y);w.forEach(v=>{p?.remove_group(v.id)})}},[r,s]),x.jsx(x.Fragment,{})},Jre=()=>{const{node:e,edge:t}=_n(),n=tt();return _.useCallback(async(o,a)=>{try{if(!o||!e||!t)return;const s=JSON.parse(o);if(!s||!n.worker||!s.nodes)return;const u=[0,0];for(const f of s.nodes)u[0]+=f.properties["frontend:pos"][0],u[1]+=f.properties["frontend:pos"][1];u[0]/=s.nodes.length,u[1]/=s.nodes.length;const c=[];for(const f of s.nodes){const h={id:f.node_id,src_id:f.id,position:[f.properties["frontend:pos"][0]-u[0],f.properties["frontend:pos"][1]-u[1]]};c.push(h)}for(const f of c){const h=await e.add_node(f.id);!h||!n.nodespace.get_node(h.id,!1)||(f.new_id=h.id,a([{id:h.id,type:"position",position:{x:f.position[0]+h.properties["frontend:pos"][0],y:f.position[1]+h.properties["frontend:pos"][1]}}]))}for(const f of s.edges){const h=c.find(g=>g.src_id===f.src_nid),p=c.find(g=>g.src_id===f.trg_nid);!h||!p||!h.new_id||!p.new_id||t.add_edge({src_nid:h.new_id,src_ioid:f.src_ioid,trg_nid:p.new_id,trg_ioid:f.trg_ioid})}}catch(s){console.error("Failed to process pasted data:",s)}},[e,t,n])},eoe=(e,t)=>{const n=e.properties||{};n["frontend:size"]||(n["frontend:size"]=[200,100]);const r=n["frontend:pos"];if(!r||r.length!==2||isNaN(r[0])||r[0]===null||isNaN(r[1])||r[1]===null)if(!t||!t.rf_instance||t.reactflowRef===null)n["frontend:pos"]=[0,0];else{const a=t.reactflowRef.getBoundingClientRect(),s=a.left+a.width/2,u=a.top+a.height/2,c=t.rf_instance.screenToFlowPosition({x:s,y:u});n["frontend:pos"]=[c.x-n["frontend:size"][0]/2,c.y-n["frontend:size"][0]/2]}n["frontend:collapsed"]||(n["frontend:collapsed"]=!1),e.properties=n},toe=(e,t)=>{const n=e.getState();if(eoe(n,t),n.id===void 0)throw new Error("Node must have an id");const r={nodestore:e};return{position:{x:n.properties["frontend:pos"][0],y:n.properties["frontend:pos"][1]},data:r,type:"default",zIndex:1003,...n}},WN={default:Sn.Dots,metal:Sn.Cross,light:Sn.Dots,solarized:Sn.Dots,midnight:Sn.Dots,forest:Sn.Dots,scientific:Sn.Lines},noe=e=>{const t=tt(),n=_.useRef(null),{colorTheme:r}=HC(),{onSelectionChange:o}=Xre(),a=fY();_.useEffect(()=>{t.getStateManager().toaster=a},[]),_.useEffect(()=>{t.reactflowRef=n.current},[n]);const{nodes:s,edges:u,onNodesChange:c,onEdgesChange:f,onConnect:h}=t.useReactFlowStore(qv(Ire)),p=Jre(),g=_.useCallback(y=>{const w=n.current;if(!w)return;let v=y.target,S=0;for(;v&&v.parentElement&&v!==w;)S++,v=v.parentElement;t.logger.debug(`onPasteCapture: ${S} steps to reactflow`),S<=2&&p(y.clipboardData.getData("text/plain"),c)},[p,c,t.logger]);return x.jsx("div",{className:"reactflowlayer",children:x.jsxs(Cte,{onPasteCapture:g,nodes:s,edges:u,onNodesChange:c,onEdgesChange:f,onConnect:h,nodeTypes:Pre,edgeTypes:jre,minZoom:e.minZoom,maxZoom:e.maxZoom,fitView:!0,onSelectionChange:o,ref:n,panOnDrag:!e.static,children:[x.jsx(Kre,{}),x.jsx(Qre,{}),x.jsx(Mte,{color:"#888",gap:24,size:2,variant:WN[r]||WN.default,patternClassName:"fn-background-pattern"}),e.minimap&&x.jsx(Xte,{nodeStrokeWidth:3,pannable:!e.static,zoomable:!e.static,zoomStep:3})]})})},roe=({on_node_change:e,on_edge_change:t,on_connect:n})=>{const r=e||(u=>{}),o=t||(u=>{}),a=n||(u=>{});return gr((u,c)=>({_nodes:[],_edges:[],_nodes_map:new Map,update_nodes:f=>{f=ub(f),u({_nodes:f,_nodes_map:new Map(f.map(h=>[h.id,h]))})},partial_update_nodes:f=>{const h=c(),p=h._nodes,g=new Map(p.map(y=>[y.id,y]));for(const y of f)g.set(y.id,y);h.update_nodes(Array.from(g.values()))},update_edges:f=>{u({_edges:f})},onNodesChange:f=>{const h=c();h.update_nodes($v(f,h._nodes)),r(f)},onEdgesChange:f=>{u({_edges:iO(f,c()._edges)}),o(f)},onConnect:f=>{f.source==null||f.target==null||a(f)},getNode:f=>c()._nodes_map.get(f),getNodes:()=>c()._nodes,getEdges:()=>c()._edges}))},ooe=()=>{const t=tt().progress_state();return x.jsxs("div",{className:"statusbar",children:[x.jsx("span",{className:"statusbar-progressbar",style:{width:Math.min(100,100*t.progress)+"%"}}),x.jsx("span",{className:"statusbar-message",children:t.message})]})},xp=!1;var cb=["Enter"," "],ioe=["ArrowDown","PageUp","Home"],XN=["ArrowUp","PageDown","End"],aoe=[...ioe,...XN],soe={ltr:[...cb,"ArrowRight"],rtl:[...cb,"ArrowLeft"]},loe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ac="Menu",[sc,uoe,coe]=fh(ac),[za,KN]=Jr(ac,[coe,Kd,vp]),lc=Kd(),ZN=vp(),[QN,La]=za(ac),[foe,uc]=za(ac),JN=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:s=!0}=e,u=lc(t),[c,f]=_.useState(null),h=_.useRef(!1),p=Mn(a),g=pp(o);return _.useEffect(()=>{const y=()=>{h.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>h.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),x.jsx(py,{...u,children:x.jsx(QN,{scope:t,open:n,onOpenChange:p,content:c,onContentChange:f,children:x.jsx(foe,{scope:t,onClose:_.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:h,dir:g,modal:s,children:r})})})};JN.displayName=ac;var doe="MenuAnchor",fb=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=lc(n);return x.jsx(my,{...o,...r,ref:t})});fb.displayName=doe;var hoe="MenuPortal",[ome,e2]=za(hoe,{forceMount:void 0}),yr="MenuContent",[poe,db]=za(yr),t2=_.forwardRef((e,t)=>{const n=e2(yr,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=La(yr,e.__scopeMenu),s=uc(yr,e.__scopeMenu);return x.jsx(sc.Provider,{scope:e.__scopeMenu,children:x.jsx(Rr,{present:r||a.open,children:x.jsx(sc.Slot,{scope:e.__scopeMenu,children:s.modal?x.jsx(moe,{...o,ref:t}):x.jsx(goe,{...o,ref:t})})})})}),moe=_.forwardRef((e,t)=>{const n=La(yr,e.__scopeMenu),r=_.useRef(null),o=yt(t,r);return _.useEffect(()=>{const a=r.current;if(a)return c0(a)},[]),x.jsx(hb,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:xe(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),goe=_.forwardRef((e,t)=>{const n=La(yr,e.__scopeMenu);return x.jsx(hb,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),yoe=_s("MenuContent.ScrollLock"),hb=_.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:u,onEntryFocus:c,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:y,disableOutsideScroll:w,...v}=e,S=La(yr,n),E=uc(yr,n),T=lc(n),k=ZN(n),A=uoe(n),[M,N]=_.useState(null),P=_.useRef(null),z=yt(t,P,S.onContentChange),B=_.useRef(0),R=_.useRef(""),F=_.useRef(0),U=_.useRef(null),W=_.useRef("right"),j=_.useRef(0),V=w?bd:_.Fragment,I=w?{as:yoe,allowPinchZoom:!0}:void 0,H=G=>{const O=R.current+G,Y=A().filter(de=>!de.disabled),Z=document.activeElement,L=Y.find(de=>de.ref.current===Z)?.textValue,te=Y.map(de=>de.textValue),he=Roe(te,O,L),oe=Y.find(de=>de.textValue===he)?.ref.current;(function de(le){R.current=le,window.clearTimeout(B.current),le!==""&&(B.current=window.setTimeout(()=>de(""),1e3))})(O),oe&&setTimeout(()=>oe.focus())};_.useEffect(()=>()=>window.clearTimeout(B.current),[]),o0();const q=_.useCallback(G=>W.current===U.current?.side&&Ooe(G,U.current?.area),[]);return x.jsx(poe,{scope:n,searchRef:R,onItemEnter:_.useCallback(G=>{q(G)&&G.preventDefault()},[q]),onItemLeave:_.useCallback(G=>{q(G)||(P.current?.focus(),N(null))},[q]),onTriggerLeave:_.useCallback(G=>{q(G)&&G.preventDefault()},[q]),pointerGraceTimerRef:F,onPointerGraceIntentChange:_.useCallback(G=>{U.current=G},[]),children:x.jsx(V,{...I,children:x.jsx(cd,{asChild:!0,trapped:o,onMountAutoFocus:xe(a,G=>{G.preventDefault(),P.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:x.jsx(cu,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:y,children:x.jsx(ON,{asChild:!0,...k,dir:E.dir,orientation:"vertical",loop:r,currentTabStopId:M,onCurrentTabStopIdChange:N,onEntryFocus:xe(c,G=>{E.isUsingKeyboardRef.current||G.preventDefault()}),preventScrollOnEntryFocus:!0,children:x.jsx(Sk,{role:"menu","aria-orientation":"vertical","data-state":b2(S.open),"data-radix-menu-content":"",dir:E.dir,...T,...v,ref:z,style:{outline:"none",...v.style},onKeyDown:xe(v.onKeyDown,G=>{const Y=G.target.closest("[data-radix-menu-content]")===G.currentTarget,Z=G.ctrlKey||G.altKey||G.metaKey,L=G.key.length===1;Y&&(G.key==="Tab"&&G.preventDefault(),!Z&&L&&H(G.key));const te=P.current;if(G.target!==te||!aoe.includes(G.key))return;G.preventDefault();const oe=A().filter(de=>!de.disabled).map(de=>de.ref.current);XN.includes(G.key)&&oe.reverse(),Toe(oe)}),onBlur:xe(e.onBlur,G=>{G.currentTarget.contains(G.target)||(window.clearTimeout(B.current),R.current="")}),onPointerMove:xe(e.onPointerMove,fc(G=>{const O=G.target,Y=j.current!==G.clientX;if(G.currentTarget.contains(O)&&Y){const Z=G.clientX>j.current?"right":"left";W.current=Z,j.current=G.clientX}}))})})})})})})});t2.displayName=yr;var voe="MenuGroup",pb=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{role:"group",...r,ref:t})});pb.displayName=voe;var boe="MenuLabel",n2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{...r,ref:t})});n2.displayName=boe;var wp="MenuItem",r2="menu.itemSelect",_p=_.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,a=_.useRef(null),s=uc(wp,e.__scopeMenu),u=db(wp,e.__scopeMenu),c=yt(t,a),f=_.useRef(!1),h=()=>{const p=a.current;if(!n&&p){const g=new CustomEvent(r2,{bubbles:!0,cancelable:!0});p.addEventListener(r2,y=>r?.(y),{once:!0}),Jg(p,g),g.defaultPrevented?f.current=!1:s.onClose()}};return x.jsx(o2,{...o,ref:c,disabled:n,onClick:xe(e.onClick,h),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:xe(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:xe(e.onKeyDown,p=>{const g=u.searchRef.current!=="";n||g&&p.key===" "||cb.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});_p.displayName=wp;var o2=_.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,s=db(wp,n),u=ZN(n),c=_.useRef(null),f=yt(t,c),[h,p]=_.useState(!1),[g,y]=_.useState("");return _.useEffect(()=>{const w=c.current;w&&y((w.textContent??"").trim())},[a.children]),x.jsx(sc.ItemSlot,{scope:n,disabled:r,textValue:o??g,children:x.jsx(NN,{asChild:!0,...u,focusable:!r,children:x.jsx(Ue.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:f,onPointerMove:xe(e.onPointerMove,fc(w=>{r?s.onItemLeave(w):(s.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:xe(e.onPointerLeave,fc(w=>s.onItemLeave(w))),onFocus:xe(e.onFocus,()=>p(!0)),onBlur:xe(e.onBlur,()=>p(!1))})})})}),xoe="MenuCheckboxItem",i2=_.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return x.jsx(c2,{scope:e.__scopeMenu,checked:n,children:x.jsx(_p,{role:"menuitemcheckbox","aria-checked":Sp(n)?"mixed":n,...o,ref:t,"data-state":yb(n),onSelect:xe(o.onSelect,()=>r?.(Sp(n)?!0:!n),{checkForDefaultPrevented:!1})})})});i2.displayName=xoe;var a2="MenuRadioGroup",[woe,_oe]=za(a2,{value:void 0,onValueChange:()=>{}}),s2=_.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,a=Mn(r);return x.jsx(woe,{scope:e.__scopeMenu,value:n,onValueChange:a,children:x.jsx(pb,{...o,ref:t})})});s2.displayName=a2;var l2="MenuRadioItem",u2=_.forwardRef((e,t)=>{const{value:n,...r}=e,o=_oe(l2,e.__scopeMenu),a=n===o.value;return x.jsx(c2,{scope:e.__scopeMenu,checked:a,children:x.jsx(_p,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":yb(a),onSelect:xe(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});u2.displayName=l2;var mb="MenuItemIndicator",[c2,Soe]=za(mb,{checked:!1}),f2=_.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,a=Soe(mb,n);return x.jsx(Rr,{present:r||Sp(a.checked)||a.checked===!0,children:x.jsx(Ue.span,{...o,ref:t,"data-state":yb(a.checked)})})});f2.displayName=mb;var Eoe="MenuSeparator",d2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return x.jsx(Ue.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});d2.displayName=Eoe;var Coe="MenuArrow",h2=_.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=lc(n);return x.jsx(Ek,{...o,...r,ref:t})});h2.displayName=Coe;var gb="MenuSub",[koe,p2]=za(gb),m2=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:o}=e,a=La(gb,t),s=lc(t),[u,c]=_.useState(null),[f,h]=_.useState(null),p=Mn(o);return _.useEffect(()=>(a.open===!1&&p(!1),()=>p(!1)),[a.open,p]),x.jsx(py,{...s,children:x.jsx(QN,{scope:t,open:r,onOpenChange:p,content:f,onContentChange:h,children:x.jsx(koe,{scope:t,contentId:eo(),triggerId:eo(),trigger:u,onTriggerChange:c,children:n})})})};m2.displayName=gb;var cc="MenuSubTrigger",g2=_.forwardRef((e,t)=>{const n=La(cc,e.__scopeMenu),r=uc(cc,e.__scopeMenu),o=p2(cc,e.__scopeMenu),a=db(cc,e.__scopeMenu),s=_.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:c}=a,f={__scopeMenu:e.__scopeMenu},h=_.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return _.useEffect(()=>h,[h]),_.useEffect(()=>{const p=u.current;return()=>{window.clearTimeout(p),c(null)}},[u,c]),x.jsx(fb,{asChild:!0,...f,children:x.jsx(o2,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":b2(n.open),...e,ref:ud(t,o.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:xe(e.onPointerMove,fc(p=>{a.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),h()},100))})),onPointerLeave:xe(e.onPointerLeave,fc(p=>{h();const g=n.content?.getBoundingClientRect();if(g){const y=n.content?.dataset.side,w=y==="right",v=w?-5:5,S=g[w?"left":"right"],E=g[w?"right":"left"];a.onPointerGraceIntentChange({area:[{x:p.clientX+v,y:p.clientY},{x:S,y:g.top},{x:E,y:g.top},{x:E,y:g.bottom},{x:S,y:g.bottom}],side:y}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(p),p.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:xe(e.onKeyDown,p=>{const g=a.searchRef.current!=="";e.disabled||g&&p.key===" "||soe[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});g2.displayName=cc;var y2="MenuSubContent",v2=_.forwardRef((e,t)=>{const n=e2(yr,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=La(yr,e.__scopeMenu),s=uc(yr,e.__scopeMenu),u=p2(y2,e.__scopeMenu),c=_.useRef(null),f=yt(t,c);return x.jsx(sc.Provider,{scope:e.__scopeMenu,children:x.jsx(Rr,{present:r||a.open,children:x.jsx(sc.Slot,{scope:e.__scopeMenu,children:x.jsx(hb,{id:u.contentId,"aria-labelledby":u.triggerId,...o,ref:f,align:"start",side:s.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:h=>{s.isUsingKeyboardRef.current&&c.current?.focus(),h.preventDefault()},onCloseAutoFocus:h=>h.preventDefault(),onFocusOutside:xe(e.onFocusOutside,h=>{h.target!==u.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:xe(e.onEscapeKeyDown,h=>{s.onClose(),h.preventDefault()}),onKeyDown:xe(e.onKeyDown,h=>{const p=h.currentTarget.contains(h.target),g=loe[s.dir].includes(h.key);p&&g&&(a.onOpenChange(!1),u.trigger?.focus(),h.preventDefault())})})})})})});v2.displayName=y2;function b2(e){return e?"open":"closed"}function Sp(e){return e==="indeterminate"}function yb(e){return Sp(e)?"indeterminate":e?"checked":"unchecked"}function Toe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Aoe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Roe(e,t,n){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=Aoe(e,Math.max(a,0));o.length===1&&(s=s.filter(f=>f!==n));const c=s.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return c!==n?c:void 0}function Moe(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const u=t[a],c=t[s],f=u.x,h=u.y,p=c.x,g=c.y;h>r!=g>r&&n<(p-f)*(r-h)/(g-h)+f&&(o=!o)}return o}function Ooe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Moe(n,t)}function fc(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Noe=JN,Doe=fb,Poe=t2,joe=pb,Ioe=n2,zoe=_p,Loe=i2,Foe=s2,$oe=u2,Boe=f2,Hoe=d2,Voe=h2,Uoe=m2,qoe=g2,Goe=v2,Ep="DropdownMenu",[Yoe,ime]=Jr(Ep,[KN]),En=KN(),[Woe,x2]=Yoe(Ep),w2=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:s,modal:u=!0}=e,c=En(t),f=_.useRef(null),[h,p]=wi({prop:o,defaultProp:a??!1,onChange:s,caller:Ep});return x.jsx(Woe,{scope:t,triggerId:eo(),triggerRef:f,contentId:eo(),open:h,onOpenChange:p,onOpenToggle:_.useCallback(()=>p(g=>!g),[p]),modal:u,children:x.jsx(Noe,{...c,open:h,onOpenChange:p,dir:r,modal:u,children:n})})};w2.displayName=Ep;var _2="DropdownMenuTrigger",S2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=x2(_2,n),s=En(n);return x.jsx(Doe,{asChild:!0,...s,children:x.jsx(Ue.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:ud(t,a.triggerRef),onPointerDown:xe(e.onPointerDown,u=>{!r&&u.button===0&&u.ctrlKey===!1&&(a.onOpenToggle(),a.open||u.preventDefault())}),onKeyDown:xe(e.onKeyDown,u=>{r||(["Enter"," "].includes(u.key)&&a.onOpenToggle(),u.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});S2.displayName=_2;var E2="DropdownMenuContent",C2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=x2(E2,n),a=En(n),s=_.useRef(!1);return x.jsx(Poe,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:xe(e.onCloseAutoFocus,u=>{s.current||o.triggerRef.current?.focus(),s.current=!1,u.preventDefault()}),onInteractOutside:xe(e.onInteractOutside,u=>{const c=u.detail.originalEvent,f=c.button===0&&c.ctrlKey===!0,h=c.button===2||f;(!o.modal||h)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});C2.displayName=E2;var Xoe="DropdownMenuGroup",k2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(joe,{...o,...r,ref:t})});k2.displayName=Xoe;var Koe="DropdownMenuLabel",Zoe=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Ioe,{...o,...r,ref:t})});Zoe.displayName=Koe;var Qoe="DropdownMenuItem",T2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(zoe,{...o,...r,ref:t})});T2.displayName=Qoe;var Joe="DropdownMenuCheckboxItem",eie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Loe,{...o,...r,ref:t})});eie.displayName=Joe;var tie="DropdownMenuRadioGroup",A2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Foe,{...o,...r,ref:t})});A2.displayName=tie;var nie="DropdownMenuRadioItem",R2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx($oe,{...o,...r,ref:t})});R2.displayName=nie;var rie="DropdownMenuItemIndicator",oie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Boe,{...o,...r,ref:t})});oie.displayName=rie;var iie="DropdownMenuSeparator",aie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Hoe,{...o,...r,ref:t})});aie.displayName=iie;var sie="DropdownMenuArrow",lie=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Voe,{...o,...r,ref:t})});lie.displayName=sie;var uie=e=>{const{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:o,defaultOpen:a}=e,s=En(t),[u,c]=wi({prop:r,defaultProp:a??!1,onChange:o,caller:"DropdownMenuSub"});return x.jsx(Uoe,{...s,open:u,onOpenChange:c,children:n})},cie="DropdownMenuSubTrigger",M2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(qoe,{...o,...r,ref:t})});M2.displayName=cie;var fie="DropdownMenuSubContent",O2=_.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=En(n);return x.jsx(Goe,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});O2.displayName=fie;var vb=w2,bb=S2,xb=C2,wb=k2,Zo=T2,die=A2,hie=R2,pie=uie,mie=M2,gie=O2;const yie=({trigger:e,setOpen:t,open:n})=>{const[r,o]=_.useState(""),[a,s]=_.useState(!0),u=tt();return u.options.useWorkerManager?x.jsxs(Lo,{setOpen:t,open:n,trigger:e,title:"New Worker",description:"Create a new worker",children:[x.jsxs("div",{children:["Name:",x.jsx("br",{}),x.jsx("input",{className:"styledinput",onChange:c=>{o(c.currentTarget.value)},value:r}),x.jsxs("div",{style:{marginTop:8},children:[x.jsx("input",{type:"checkbox",id:"inVenvCheckbox",checked:a,onChange:c=>s(c.currentTarget.checked)}),x.jsx("label",{htmlFor:"inVenvCheckbox",style:{marginLeft:4},children:"Create in new virtual environment"})]})]}),x.jsx("div",{children:r&&x.jsx("div",{children:x.jsx("button",{className:"styledbtn",onClick:()=>{u.workermanager?.new_worker({name:r,in_venv:a}),t(!1)},children:"Create"})})})]}):null},vie=({trigger:e,setOpen:t,open:n})=>{const r=tt(),[o,a]=_.useState(!1),s=r.workers(),u=r.worker?.uuid,c=(u?s[u]?.name:void 0)||u||"worker",f=async()=>{if(!r.worker)return;const h=await r.worker.export({withFiles:o});Sj(h,c+".fnw","application/zip"),t(!1)};return x.jsx(Lo,{setOpen:t,open:n,trigger:e,title:"Export Worker",description:"Export the worker as a .fnw file",children:x.jsxs("div",{children:[x.jsxs("div",{children:[x.jsx("input",{type:"checkbox",className:"styledcheckbox",checked:o,onChange:h=>{a(h.currentTarget.checked)}}),"Include Files"]}),x.jsx("button",{className:"styledbtn",onClick:f,children:"Export"})]})})},bie=()=>{const e=tt(),t=e.workers(),[n,r]=_.useState(!1),[o,a]=_.useState(!1),s=y=>{y!=="__select__"&&e.workers&&e.workermanager&&t[y]&&(!t[y].active&&!window.confirm("this is an inactive worker, selecting it will start it, continue?")||e.workermanager.set_active(y))},u=async()=>{if(!e.worker||!window.confirm("Updateing the worker might replace the current nodespace, continue?"))return;const w=await kj(".fnw");e.worker.update_from_export(w)},c=e.options.useWorkerManager&&e.workermanager&&e.workermanager.open||xp,f=c&&Object.keys(t).length>0,h=e.worker&&e.worker.is_open,p=h&&c;return c||h?x.jsxs(x.Fragment,{children:[x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Worker ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsxs(wb,{children:[f&&x.jsxs(pie,{children:[x.jsx(mie,{className:"headermenuitem submenuitem",children:x.jsxs(Ii,{direction:"row",children:["Select",x.jsx(vu,{})]})}),x.jsx(gie,{className:"headermenucontent funcnodescontainer",sideOffset:2,alignOffset:-5,children:x.jsx(die,{value:e.worker?.uuid,onValueChange:y=>{s(y)},children:Object.keys(t).sort((y,w)=>{if(t[y].active&&!t[w].active)return-1;if(!t[y].active&&t[w].active)return 1;const v=t[y].name||y,S=t[w].name||w;return v.localeCompare(S)}).map(y=>x.jsx(hie,{className:"headermenuitem workerselectoption"+(t[y]?.active?" active":" inactive")+" headermenuitem",value:y,disabled:y===e.worker?.uuid,children:t[y]?.name||y},y))})})]}),h&&x.jsxs(x.Fragment,{children:[p&&x.jsx(Zo,{className:"headermenuitem",onClick:()=>{if(e.worker){if(!e.workermanager)return e.logger.error("no workermanager");e.workermanager?.restart_worker(e.worker.uuid)}},children:"Restart"}),x.jsx(Zo,{className:"headermenuitem",onClick:()=>{e.worker&&e.worker.stop()},children:"Stop"}),x.jsx(Zo,{className:"headermenuitem",onClick:()=>a(!0),children:"Export"}),x.jsx(Zo,{className:"headermenuitem",onClick:u,children:"Update"})]}),c&&x.jsx(x.Fragment,{children:x.jsx(Zo,{className:"headermenuitem",onClick:()=>r(!0),children:"New"})})]})})]}),x.jsx(yie,{open:n,setOpen:r}),x.jsx(vie,{open:o,setOpen:a})]}):null},xie=()=>{const e=tt(),t=()=>{window.confirm("Are you sure you want to start a new flow?")&&e.worker?.clear()},n=async()=>{const o=await e.worker?.save();if(!o)return;const a=new Blob([JSON.stringify(o)],{type:"application/json"}),s=URL.createObjectURL(a),u=document.createElement("a");u.href=s,u.download="flow.json",u.click(),URL.revokeObjectURL(s),u.remove()},r=async()=>{const o=document.createElement("input");o.type="file",o.accept=".json",o.onchange=async a=>{const s=a.target.files?.[0];if(!s)return;const u=new FileReader;u.onload=async c=>{const f=c.target?.result;if(!f)return;const h=JSON.parse(f);await e.worker?.load(h)},u.readAsText(s)},o.click()};return x.jsx(x.Fragment,{children:x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Nodespace ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsxs(wb,{children:[x.jsx(Zo,{className:"headermenuitem",onClick:t,children:"New"}),x.jsx(Zo,{className:"headermenuitem",onClick:n,children:"Save"}),x.jsx(Zo,{className:"headermenuitem",onClick:r,children:"Load"})]})})]})})},wie=({theme:e,selected:t})=>x.jsxs("div",{style:{width:80,height:54,borderRadius:"var(--fn-border-radius-s, 8px)",border:t?"2.5px solid #1976d2":"1.5px solid #bbb",boxShadow:t?"0 0 0 2px #1976d2":"0 1px 4px #0002",background:"var(--fn-app-background)",display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:"flex-start",position:"relative",overflow:"hidden",transition:"border 0.2s, box-shadow 0.2s"},"fn-data-color-theme":e,children:[x.jsx("div",{style:{height:10,background:"var(--fn-primary-color)",borderBottom:"1px solid var(--fn-neutral-element-border)"}}),x.jsxs("div",{style:{display:"flex",flex:1},children:[x.jsx("div",{style:{width:12,background:"var(--fn-surface-elevation-low, var(--fn-container-background))",borderRight:"1px solid var(--fn-neutral-element-border)"}}),x.jsx("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--fn-container-background)"},children:x.jsxs("div",{style:{width:22,height:14,borderRadius:"var(--fn-border-radius-xs, 4px)",background:"var(--fn-node-background)",border:"1px solid var(--fn-node-header-color)",boxShadow:"0 1px 2px #0002",display:"flex",flexDirection:"column"},children:[x.jsx("div",{style:{height:5,background:"var(--fn-node-header-color)",borderTopLeftRadius:"var(--fn-border-radius-xs, 4px)",borderTopRightRadius:"var(--fn-border-radius-xs, 4px)"}}),x.jsx("div",{style:{flex:1,background:"transparent"}})]})})]}),x.jsx("span",{style:{position:"absolute",bottom:2,right:4,fontSize:9,color:"var(--fn-text-color-neutral)",opacity:.7,textTransform:"capitalize",fontWeight:600,pointerEvents:"none"},children:e}),t&&x.jsx("span",{style:{position:"absolute",top:2,left:6,fontSize:14,color:"#1976d2",fontWeight:900,pointerEvents:"none"},"aria-label":"Selected",children:"✓"})]}),_ie=()=>{const{colorTheme:e,setColorTheme:t}=HC(),[n,r]=_.useState(null),[o,a]=_.useState(null),s=c=>{c!==e&&(a(e),t(c),r(c))},u=c=>{n===c&&o&&o!==c&&t(o),r(null),a(null)};return x.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[x.jsx("div",{style:{marginBottom:8,fontWeight:500},children:"Theme:"}),x.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(80px, 1fr))",gap:16,justifyItems:"center"},children:cR.map(c=>x.jsx("button",{onClick:()=>{t(c),r(null),a(null)},onMouseEnter:()=>s(c),onMouseLeave:()=>u(c),style:{background:"none",border:"none",padding:0,cursor:"pointer",outline:"none",borderRadius:8},"aria-label":`Select ${c} theme`,children:x.jsx(wie,{theme:c,selected:e===c})},c))})]})},Sie=()=>{const[e,t]=_.useState(!1),n=()=>{t(!0)};return x.jsxs(x.Fragment,{children:[x.jsxs(vb,{children:[x.jsx(bb,{asChild:!0,children:x.jsx("button",{className:"styledbtn",children:x.jsxs(Ii,{direction:"row",children:["Settings ",x.jsx(Q0,{className:"m-x-s"})]})})}),x.jsx(xb,{className:"headermenucontent funcnodescontainer",children:x.jsx(wb,{children:x.jsx(Zo,{className:"headermenuitem",onClick:n,children:"Appearance"})})})]}),x.jsx(Lo,{open:e,setOpen:t,title:"Appearance",description:"Change the color theme.",closebutton:!0,children:x.jsx(_ie,{})})]})},Eie=({...e})=>{const t=tt(),n=t.workerstate();return Object.keys(e).length>0&&t.logger.debug("headerprops",e),x.jsxs(Ii,{className:"funcnodesreactflowheader",direction:"row",wrap:!0,children:[x.jsx(Ii,{className:"headerelement m-w-6",grow:{"":!0,m:!1},children:x.jsx(ooe,{})}),(e.showmenu||xp)&&x.jsxs(Ii,{direction:"row",wrap:!0,children:[x.jsx("div",{className:"headerelement",children:x.jsx(bie,{})}),(t.worker&&n.is_open||xp)&&x.jsx("div",{className:"headerelement",children:x.jsx(xie,{})}),x.jsx("div",{className:"headerelement",children:x.jsx(Sie,{})})]})]})},N2=({item:e})=>{const{node:t}=_n(),n=_.useCallback(()=>{t?.add_node(e.node_id)},[e.node_id,t]),r=_.useCallback(o=>{o.detail===2&&n()},[n]);return x.jsx("div",{className:"libnodeentry",onClick:r,title:e.description,children:e.node_name||e.node_id})},D2=(e,t)=>{const n=e.nodes?.some(o=>o.node_id.toLowerCase().includes(t.toLowerCase()))??!1,r=e.subshelves?.some(o=>D2(o,t))??!1;return n||r},_b=({item:e,filter:t,parentkey:n})=>{const[r,o]=_.useState(!1),a=()=>o(!r),s=e.nodes?.filter(c=>c.node_id.toLowerCase().includes(t.toLowerCase())),u=r||t.length>0;return D2(e,t)?x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:a,style:{cursor:"pointer"},title:e.description,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(u?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(u?"open":"close"),children:x.jsxs("div",{className:"libnodecontainer_inner",children:[s&&x.jsx(x.Fragment,{children:s.map(c=>x.jsx(N2,{item:c},c.node_id))}),e.subshelves&&x.jsx(x.Fragment,{children:e.subshelves.map(c=>x.jsx(_b,{item:c,filter:t,parentkey:n+c.name},n+c.name))})]})}),x.jsx("hr",{})]}):x.jsx(x.Fragment,{})},Cie=({filter:e,setFilter:t})=>x.jsxs("div",{className:"libfilter",children:[x.jsx(AB,{fontSize:"inherit"}),x.jsx("input",{type:"text",placeholder:"Filter",value:e,onChange:n=>{t(n.target.value)}}),e&&x.jsx($d,{fontSize:"inherit",onClick:()=>{t("")}})]}),kie=({children:e})=>{const[t,n]=_.useState(""),r=tt(),[o,a]=_.useState(!0),[s,u]=_.useState(!0),[c,f]=_.useState(!0),[h,p]=_.useState({installed:[],available:[],active:[]}),[g,y]=_.useState(!1),{lib:w}=_n(),v=z=>{z&&(r.worker===void 0||!r.worker.is_open||w?.get_available_modules().then(B=>{p(B)}))};if(!r.worker)return x.jsx(x.Fragment,{});const S=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),E=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),T=_.useCallback(z=>{y(!1),w?.remove_lib(z.name)},[w]),k=_.useCallback((z,B)=>{y(!1),w?.add_lib(z.name,B)},[w]),A=_.useCallback(z=>z.filter(B=>B.name.toLowerCase().includes(t.toLowerCase())||B.description.toLowerCase().includes(t.toLowerCase())),[t]),M=A(h.available),N=A(h.installed),P=A(h.active);return x.jsxs(Lo,{title:"Manage Library",trigger:e,description:"Add or remove libraries to the current worker.",onOpenChange:v,open:g,setOpen:y,children:[x.jsx("input",{className:"filter-input styledinput",type:"text",placeholder:"Filter modules...",value:t,onChange:z=>n(z.target.value)}),x.jsxs("div",{className:"packagelist",style:{maxHeight:"70%",overflow:"auto"},children:[N.length>0&&x.jsx("h3",{onClick:()=>{f(!c)},children:"Installed"}),c&&N.map(z=>x.jsx(Vfe,{availableModule:z,on_add:S},z.name+z.source)),M.length>0&&x.jsx("h3",{onClick:()=>{u(!s)},children:"Available"}),s&&M.map(z=>x.jsx(Ufe,{availableModule:z,on_add:E},z.name+z.source)),P.length>0&&x.jsx("h3",{onClick:()=>{a(!o)},children:"Active"}),o&&P.map(z=>x.jsx(Hfe,{availableModule:z,on_remove:T,on_update:k},z.name+z.source))]})]})},Sb=({availableModule:e})=>x.jsxs("div",{className:"module-links",children:[e.homepage&&x.jsx(x.Fragment,{children:x.jsx("a",{href:e.homepage,target:"_blank",rel:"noopener noreferrer",children:"Homepage"})}),e.source&&e.homepage&&" | ",e.source&&x.jsx(x.Fragment,{children:x.jsx("a",{href:e.source,target:"_blank",rel:"noopener noreferrer",children:"Source"})})]});function ame(){}function sme(){}function Tie(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Aie=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Rie=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Mie={};function P2(e,t){return(Mie.jsx?Rie:Aie).test(e)}const Oie=/[ \t\n\f\r]/g;function Nie(e){return typeof e=="object"?e.type==="text"?j2(e.value):!1:j2(e)}function j2(e){return e.replace(Oie,"")===""}class dc{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}dc.prototype.normal={},dc.prototype.property={},dc.prototype.space=void 0;function I2(e,t){const n={},r={};for(const o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new dc(n,r,t)}function Eb(e){return e.toLowerCase()}class jn{constructor(t,n){this.attribute=n,this.property=t}}jn.prototype.attribute="",jn.prototype.booleanish=!1,jn.prototype.boolean=!1,jn.prototype.commaOrSpaceSeparated=!1,jn.prototype.commaSeparated=!1,jn.prototype.defined=!1,jn.prototype.mustUseProperty=!1,jn.prototype.number=!1,jn.prototype.overloadedBoolean=!1,jn.prototype.property="",jn.prototype.spaceSeparated=!1,jn.prototype.space=void 0;let Die=0;const Be=Fa(),Ut=Fa(),Cb=Fa(),me=Fa(),xt=Fa(),ol=Fa(),Jn=Fa();function Fa(){return 2**++Die}const kb=Object.freeze(Object.defineProperty({__proto__:null,boolean:Be,booleanish:Ut,commaOrSpaceSeparated:Jn,commaSeparated:ol,number:me,overloadedBoolean:Cb,spaceSeparated:xt},Symbol.toStringTag,{value:"Module"})),Tb=Object.keys(kb);class Ab extends jn{constructor(t,n,r,o){let a=-1;if(super(t,n),z2(this,"space",o),typeof r=="number")for(;++a<Tb.length;){const s=Tb[a];z2(this,Tb[a],(r&kb[s])===kb[s])}}}Ab.prototype.defined=!0;function z2(e,t,n){n&&(e[t]=n)}function il(e){const t={},n={};for(const[r,o]of Object.entries(e.properties)){const a=new Ab(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Eb(r)]=r,n[Eb(a.attribute)]=r}return new dc(t,n,e.space)}const L2=il({properties:{ariaActiveDescendant:null,ariaAtomic:Ut,ariaAutoComplete:null,ariaBusy:Ut,ariaChecked:Ut,ariaColCount:me,ariaColIndex:me,ariaColSpan:me,ariaControls:xt,ariaCurrent:null,ariaDescribedBy:xt,ariaDetails:null,ariaDisabled:Ut,ariaDropEffect:xt,ariaErrorMessage:null,ariaExpanded:Ut,ariaFlowTo:xt,ariaGrabbed:Ut,ariaHasPopup:null,ariaHidden:Ut,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:xt,ariaLevel:me,ariaLive:null,ariaModal:Ut,ariaMultiLine:Ut,ariaMultiSelectable:Ut,ariaOrientation:null,ariaOwns:xt,ariaPlaceholder:null,ariaPosInSet:me,ariaPressed:Ut,ariaReadOnly:Ut,ariaRelevant:null,ariaRequired:Ut,ariaRoleDescription:xt,ariaRowCount:me,ariaRowIndex:me,ariaRowSpan:me,ariaSelected:Ut,ariaSetSize:me,ariaSort:null,ariaValueMax:me,ariaValueMin:me,ariaValueNow:me,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function F2(e,t){return t in e?e[t]:t}function $2(e,t){return F2(e,t.toLowerCase())}const Pie=il({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ol,acceptCharset:xt,accessKey:xt,action:null,allow:null,allowFullScreen:Be,allowPaymentRequest:Be,allowUserMedia:Be,alt:null,as:null,async:Be,autoCapitalize:null,autoComplete:xt,autoFocus:Be,autoPlay:Be,blocking:xt,capture:null,charSet:null,checked:Be,cite:null,className:xt,cols:me,colSpan:null,content:null,contentEditable:Ut,controls:Be,controlsList:xt,coords:me|ol,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Be,defer:Be,dir:null,dirName:null,disabled:Be,download:Cb,draggable:Ut,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Be,formTarget:null,headers:xt,height:me,hidden:Cb,high:me,href:null,hrefLang:null,htmlFor:xt,httpEquiv:xt,id:null,imageSizes:null,imageSrcSet:null,inert:Be,inputMode:null,integrity:null,is:null,isMap:Be,itemId:null,itemProp:xt,itemRef:xt,itemScope:Be,itemType:xt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Be,low:me,manifest:null,max:null,maxLength:me,media:null,method:null,min:null,minLength:me,multiple:Be,muted:Be,name:null,nonce:null,noModule:Be,noValidate:Be,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Be,optimum:me,pattern:null,ping:xt,placeholder:null,playsInline:Be,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Be,referrerPolicy:null,rel:xt,required:Be,reversed:Be,rows:me,rowSpan:me,sandbox:xt,scope:null,scoped:Be,seamless:Be,selected:Be,shadowRootClonable:Be,shadowRootDelegatesFocus:Be,shadowRootMode:null,shape:null,size:me,sizes:null,slot:null,span:me,spellCheck:Ut,src:null,srcDoc:null,srcLang:null,srcSet:null,start:me,step:null,style:null,tabIndex:me,target:null,title:null,translate:null,type:null,typeMustMatch:Be,useMap:null,value:Ut,width:me,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:xt,axis:null,background:null,bgColor:null,border:me,borderColor:null,bottomMargin:me,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Be,declare:Be,event:null,face:null,frame:null,frameBorder:null,hSpace:me,leftMargin:me,link:null,longDesc:null,lowSrc:null,marginHeight:me,marginWidth:me,noResize:Be,noHref:Be,noShade:Be,noWrap:Be,object:null,profile:null,prompt:null,rev:null,rightMargin:me,rules:null,scheme:null,scrolling:Ut,standby:null,summary:null,text:null,topMargin:me,valueType:null,version:null,vAlign:null,vLink:null,vSpace:me,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Be,disableRemotePlayback:Be,prefix:null,property:null,results:me,security:null,unselectable:null},space:"html",transform:$2}),jie=il({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Jn,accentHeight:me,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:me,amplitude:me,arabicForm:null,ascent:me,attributeName:null,attributeType:null,azimuth:me,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:me,by:null,calcMode:null,capHeight:me,className:xt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:me,diffuseConstant:me,direction:null,display:null,dur:null,divisor:me,dominantBaseline:null,download:Be,dx:null,dy:null,edgeMode:null,editable:null,elevation:me,enableBackground:null,end:null,event:null,exponent:me,externalResourcesRequired:null,fill:null,fillOpacity:me,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ol,g2:ol,glyphName:ol,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:me,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:me,horizOriginX:me,horizOriginY:me,id:null,ideographic:me,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:me,k:me,k1:me,k2:me,k3:me,k4:me,kernelMatrix:Jn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:me,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:me,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:me,overlineThickness:me,paintOrder:null,panose1:null,path:null,pathLength:me,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:xt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:me,pointsAtY:me,pointsAtZ:me,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Jn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Jn,rev:Jn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Jn,requiredFeatures:Jn,requiredFonts:Jn,requiredFormats:Jn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:me,specularExponent:me,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:me,strikethroughThickness:me,string:null,stroke:null,strokeDashArray:Jn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:me,strokeOpacity:me,strokeWidth:null,style:null,surfaceScale:me,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Jn,tabIndex:me,tableValues:null,target:null,targetX:me,targetY:me,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Jn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:me,underlineThickness:me,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:me,values:null,vAlphabetic:me,vMathematical:me,vectorEffect:null,vHanging:me,vIdeographic:me,version:null,vertAdvY:me,vertOriginX:me,vertOriginY:me,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:me,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:F2}),B2=il({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),H2=il({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:$2}),V2=il({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Iie={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},zie=/[A-Z]/g,U2=/-[a-z]/g,Lie=/^data[-\w.:]+$/i;function Fie(e,t){const n=Eb(t);let r=t,o=jn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Lie.test(t)){if(t.charAt(4)==="-"){const a=t.slice(5).replace(U2,Bie);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=t.slice(4);if(!U2.test(a)){let s=a.replace(zie,$ie);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}o=Ab}return new o(r,t)}function $ie(e){return"-"+e.toLowerCase()}function Bie(e){return e.charAt(1).toUpperCase()}const Hie=I2([L2,Pie,B2,H2,V2],"html"),Rb=I2([L2,jie,B2,H2,V2],"svg");function Vie(e){return e.join(" ").trim()}var al={},Mb,q2;function Uie(){if(q2)return Mb;q2=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,u=/^\s+|\s+$/g,c=`
796
796
  `,f="/",h="*",p="",g="comment",y="declaration";Mb=function(v,S){if(typeof v!="string")throw new TypeError("First argument must be a string");if(!v)return[];S=S||{};var E=1,T=1;function k(W){var j=W.match(t);j&&(E+=j.length);var V=W.lastIndexOf(c);T=~V?W.length-V:T+W.length}function A(){var W={line:E,column:T};return function(j){return j.position=new M(W),z(),j}}function M(W){this.start=W,this.end={line:E,column:T},this.source=S.source}M.prototype.content=v;function N(W){var j=new Error(S.source+":"+E+":"+T+": "+W);if(j.reason=W,j.filename=S.source,j.line=E,j.column=T,j.source=v,!S.silent)throw j}function P(W){var j=W.exec(v);if(j){var V=j[0];return k(V),v=v.slice(V.length),j}}function z(){P(n)}function B(W){var j;for(W=W||[];j=R();)j!==!1&&W.push(j);return W}function R(){var W=A();if(!(f!=v.charAt(0)||h!=v.charAt(1))){for(var j=2;p!=v.charAt(j)&&(h!=v.charAt(j)||f!=v.charAt(j+1));)++j;if(j+=2,p===v.charAt(j-1))return N("End of comment missing");var V=v.slice(2,j-2);return T+=2,k(V),v=v.slice(j),T+=2,W({type:g,comment:V})}}function F(){var W=A(),j=P(r);if(j){if(R(),!P(o))return N("property missing ':'");var V=P(a),I=W({type:y,property:w(j[0].replace(e,p)),value:V?w(V[0].replace(e,p)):p});return P(s),I}}function U(){var W=[];B(W);for(var j;j=F();)j!==!1&&(W.push(j),B(W));return W}return z(),U()};function w(v){return v?v.replace(u,p):p}return Mb}var G2;function qie(){if(G2)return al;G2=1;var e=al&&al.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(al,"__esModule",{value:!0}),al.default=n;var t=e(Uie());function n(r,o){var a=null;if(!r||typeof r!="string")return a;var s=(0,t.default)(r),u=typeof o=="function";return s.forEach(function(c){if(c.type==="declaration"){var f=c.property,h=c.value;u?o(f,h,c):h&&(a=a||{},a[f]=h)}}),a}return al}var hc={},Y2;function Gie(){if(Y2)return hc;Y2=1,Object.defineProperty(hc,"__esModule",{value:!0}),hc.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,a=function(f){return!f||n.test(f)||e.test(f)},s=function(f,h){return h.toUpperCase()},u=function(f,h){return"".concat(h,"-")},c=function(f,h){return h===void 0&&(h={}),a(f)?f:(f=f.toLowerCase(),h.reactCompat?f=f.replace(o,u):f=f.replace(r,u),f.replace(t,s))};return hc.camelCase=c,hc}var pc,W2;function Yie(){if(W2)return pc;W2=1;var e=pc&&pc.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},t=e(qie()),n=Gie();function r(o,a){var s={};return!o||typeof o!="string"||(0,t.default)(o,function(u,c){u&&c&&(s[(0,n.camelCase)(u,a)]=c)}),s}return r.default=r,pc=r,pc}var Wie=Yie();const Xie=Ar(Wie),X2=K2("end"),Ob=K2("start");function K2(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Kie(e){const t=Ob(e),n=X2(e);if(t&&n)return{start:t,end:n}}function mc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Z2(e.position):"start"in e||"end"in e?Z2(e):"line"in e||"column"in e?Nb(e):""}function Nb(e){return Q2(e&&e.line)+":"+Q2(e&&e.column)}function Z2(e){return Nb(e&&e.start)+"-"+Nb(e&&e.end)}function Q2(e){return e&&typeof e=="number"?e:1}class mn extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let o="",a={},s=!1;if(n&&("line"in n&&"column"in n?a={place:n}:"start"in n&&"end"in n?a={place:n}:"type"in n?a={ancestors:[n],place:n.position}:a={...n}),typeof t=="string"?o=t:!a.cause&&t&&(s=!0,o=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?a.ruleId=r:(a.source=r.slice(0,c),a.ruleId=r.slice(c+1))}if(!a.place&&a.ancestors&&a.ancestors){const c=a.ancestors[a.ancestors.length-1];c&&(a.place=c.position)}const u=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file,this.message=o,this.line=u?u.line:void 0,this.name=mc(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=s&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}}mn.prototype.file="",mn.prototype.name="",mn.prototype.reason="",mn.prototype.message="",mn.prototype.stack="",mn.prototype.column=void 0,mn.prototype.line=void 0,mn.prototype.ancestors=void 0,mn.prototype.cause=void 0,mn.prototype.fatal=void 0,mn.prototype.place=void 0,mn.prototype.ruleId=void 0,mn.prototype.source=void 0;const Db={}.hasOwnProperty,Zie=new Map,Qie=/[A-Z]/g,Jie=new Set(["table","tbody","thead","tfoot","tr"]),eae=new Set(["td","th"]),J2="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function tae(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=uae(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=lae(n,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Rb:Hie,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=e3(o,e,void 0);return a&&typeof a!="string"?a:o.create(e,o.Fragment,{children:a||void 0},void 0)}function e3(e,t,n){if(t.type==="element")return nae(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return rae(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return iae(e,t,n);if(t.type==="mdxjsEsm")return oae(e,t);if(t.type==="root")return aae(e,t,n);if(t.type==="text")return sae(e,t)}function nae(e,t,n){const r=e.schema;let o=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=Rb,e.schema=o),e.ancestors.push(t);const a=n3(e,t.tagName,!1),s=cae(e,t);let u=jb(e,t);return Jie.has(t.tagName)&&(u=u.filter(function(c){return typeof c=="string"?!Nie(c):!0})),t3(e,s,a,t),Pb(s,u),e.ancestors.pop(),e.schema=r,e.create(t,a,s,n)}function rae(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}gc(e,t.position)}function oae(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);gc(e,t.position)}function iae(e,t,n){const r=e.schema;let o=r;t.name==="svg"&&r.space==="html"&&(o=Rb,e.schema=o),e.ancestors.push(t);const a=t.name===null?e.Fragment:n3(e,t.name,!0),s=fae(e,t),u=jb(e,t);return t3(e,s,a,t),Pb(s,u),e.ancestors.pop(),e.schema=r,e.create(t,a,s,n)}function aae(e,t,n){const r={};return Pb(r,jb(e,t)),e.create(t,e.Fragment,r,n)}function sae(e,t){return t.value}function t3(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Pb(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function lae(e,t,n){return r;function r(o,a,s,u){const f=Array.isArray(s.children)?n:t;return u?f(a,s,u):f(a,s)}}function uae(e,t){return n;function n(r,o,a,s){const u=Array.isArray(a.children),c=Ob(r);return t(o,a,s,u,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function cae(e,t){const n={};let r,o;for(o in t.properties)if(o!=="children"&&Db.call(t.properties,o)){const a=dae(e,o,t.properties[o]);if(a){const[s,u]=a;e.tableCellAlignToStyle&&s==="align"&&typeof u=="string"&&eae.has(t.tagName)?r=u:n[s]=u}}if(r){const a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function fae(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const a=r.data.estree.body[0];a.type;const s=a.expression;s.type;const u=s.properties[0];u.type,Object.assign(n,e.evaluater.evaluateExpression(u.argument))}else gc(e,t.position);else{const o=r.name;let a;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const u=r.value.data.estree.body[0];u.type,a=e.evaluater.evaluateExpression(u.expression)}else gc(e,t.position);else a=r.value===null?!0:r.value;n[o]=a}return n}function jb(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:Zie;for(;++r<t.children.length;){const a=t.children[r];let s;if(e.passKeys){const c=a.type==="element"?a.tagName:a.type==="mdxJsxFlowElement"||a.type==="mdxJsxTextElement"?a.name:void 0;if(c){const f=o.get(c)||0;s=c+"-"+f,o.set(c,f+1)}}const u=e3(e,a,s);u!==void 0&&n.push(u)}return n}function dae(e,t,n){const r=Fie(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Tie(n):Vie(n)),r.property==="style"){let o=typeof n=="object"?n:hae(e,String(n));return e.stylePropertyNameCase==="css"&&(o=pae(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&r.space?Iie[r.property]||r.property:r.attribute,n]}}function hae(e,t){try{return Xie(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,o=new mn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=J2+"#cannot-parse-style-attribute",o}}function n3(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const o=t.split(".");let a=-1,s;for(;++a<o.length;){const u=P2(o[a])?{type:"Identifier",name:o[a]}:{type:"Literal",value:o[a]};s=s?{type:"MemberExpression",object:s,property:u,computed:!!(a&&u.type==="Literal"),optional:!1}:u}r=s}else r=P2(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const o=r.value;return Db.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(r);gc(e)}function gc(e,t){const n=new mn("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=J2+"#cannot-handle-mdx-estrees-without-createevaluater",n}function pae(e){const t={};let n;for(n in e)Db.call(e,n)&&(t[mae(n)]=e[n]);return t}function mae(e){let t=e.replace(Qie,gae);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function gae(e){return"-"+e.toLowerCase()}const Ib={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},yae={};function zb(e,t){const n=yae,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return r3(e,r,o)}function r3(e,t,n){if(vae(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return o3(e.children,t,n)}return Array.isArray(e)?o3(e,t,n):""}function o3(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=r3(e[o],t,n);return r.join("")}function vae(e){return!!(e&&typeof e=="object")}const i3=document.createElement("i");function Lb(e){const t="&"+e+";";i3.innerHTML=t;const n=i3.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function er(e,t,n,r){const o=e.length;let a=0,s;if(t<0?t=-t>o?0:o+t:t=t>o?o:t,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);a<r.length;)s=r.slice(a,a+1e4),s.unshift(t,0),e.splice(...s),a+=1e4,t+=1e4}function vr(e,t){return e.length>0?(er(e,e.length,0,t),e):t}const a3={}.hasOwnProperty;function s3(e){const t={};let n=-1;for(;++n<e.length;)bae(t,e[n]);return t}function bae(e,t){let n;for(n in t){const o=(a3.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n];let s;if(a)for(s in a){a3.call(o,s)||(o[s]=[]);const u=a[s];xae(o[s],Array.isArray(u)?u:u?[u]:[])}}}function xae(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);er(e,0,0,r)}function l3(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function $r(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Cn=zi(/[A-Za-z]/),gn=zi(/[\dA-Za-z]/),wae=zi(/[#-'*+\--9=?A-Z^-~]/);function Cp(e){return e!==null&&(e<32||e===127)}const Fb=zi(/\d/),_ae=zi(/[\dA-Fa-f]/),Sae=zi(/[!-/:-@[-`{-~]/);function Oe(e){return e!==null&&e<-2}function vt(e){return e!==null&&(e<0||e===32)}function Ge(e){return e===-2||e===-1||e===32}const kp=zi(/\p{P}|\p{S}/u),$a=zi(/\s/);function zi(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function sl(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const a=e.charCodeAt(n);let s="";if(a===37&&gn(e.charCodeAt(n+1))&&gn(e.charCodeAt(n+2)))o=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(s=String.fromCharCode(a));else if(a>55295&&a<57344){const u=e.charCodeAt(n+1);a<56320&&u>56319&&u<57344?(s=String.fromCharCode(a,u),o=1):s="�"}else s=String.fromCharCode(a);s&&(t.push(e.slice(r,n),encodeURIComponent(s)),r=n+o+1,s=""),o&&(n+=o,o=0)}return t.join("")+e.slice(r)}function Qe(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let a=0;return s;function s(c){return Ge(c)?(e.enter(n),u(c)):t(c)}function u(c){return Ge(c)&&a++<o?(e.consume(c),u):(e.exit(n),t(c))}}const Eae={tokenize:Cae};function Cae(e){const t=e.attempt(this.parser.constructs.contentInitial,r,o);let n;return t;function r(u){if(u===null){e.consume(u);return}return e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),Qe(e,t,"linePrefix")}function o(u){return e.enter("paragraph"),a(u)}function a(u){const c=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=c),n=c,s(u)}function s(u){if(u===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(u);return}return Oe(u)?(e.consume(u),e.exit("chunkText"),a):(e.consume(u),s)}}const kae={tokenize:Tae},u3={tokenize:Aae};function Tae(e){const t=this,n=[];let r=0,o,a,s;return u;function u(k){if(r<n.length){const A=n[r];return t.containerState=A[1],e.attempt(A[0].continuation,c,f)(k)}return f(k)}function c(k){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,o&&T();const A=t.events.length;let M=A,N;for(;M--;)if(t.events[M][0]==="exit"&&t.events[M][1].type==="chunkFlow"){N=t.events[M][1].end;break}E(r);let P=A;for(;P<t.events.length;)t.events[P][1].end={...N},P++;return er(t.events,M+1,0,t.events.slice(A)),t.events.length=P,f(k)}return u(k)}function f(k){if(r===n.length){if(!o)return g(k);if(o.currentConstruct&&o.currentConstruct.concrete)return w(k);t.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(u3,h,p)(k)}function h(k){return o&&T(),E(r),g(k)}function p(k){return t.parser.lazy[t.now().line]=r!==n.length,s=t.now().offset,w(k)}function g(k){return t.containerState={},e.attempt(u3,y,w)(k)}function y(k){return r++,n.push([t.currentConstruct,t.containerState]),g(k)}function w(k){if(k===null){o&&T(),E(0),e.consume(k);return}return o=o||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:a}),v(k)}function v(k){if(k===null){S(e.exit("chunkFlow"),!0),E(0),e.consume(k);return}return Oe(k)?(e.consume(k),S(e.exit("chunkFlow")),r=0,t.interrupt=void 0,u):(e.consume(k),v)}function S(k,A){const M=t.sliceStream(k);if(A&&M.push(null),k.previous=a,a&&(a.next=k),a=k,o.defineSkip(k.start),o.write(M),t.parser.lazy[k.start.line]){let N=o.events.length;for(;N--;)if(o.events[N][1].start.offset<s&&(!o.events[N][1].end||o.events[N][1].end.offset>s))return;const P=t.events.length;let z=P,B,R;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){if(B){R=t.events[z][1].end;break}B=!0}for(E(r),N=P;N<t.events.length;)t.events[N][1].end={...R},N++;er(t.events,z+1,0,t.events.slice(P)),t.events.length=N}}function E(k){let A=n.length;for(;A-- >k;){const M=n[A];t.containerState=M[1],M[0].exit.call(t,e)}n.length=k}function T(){o.write([null]),a=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Aae(e,t,n){return Qe(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ll(e){if(e===null||vt(e)||$a(e))return 1;if(kp(e))return 2}function Tp(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const a=e[o].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}const $b={name:"attention",resolveAll:Rae,tokenize:Mae};function Rae(e,t){let n=-1,r,o,a,s,u,c,f,h;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const p={...e[r][1].end},g={...e[n][1].start};c3(p,-c),c3(g,c),s={type:c>1?"strongSequence":"emphasisSequence",start:p,end:{...e[r][1].end}},u={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},a={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},o={type:c>1?"strong":"emphasis",start:{...s.start},end:{...u.end}},e[r][1].end={...s.start},e[n][1].start={...u.end},f=[],e[r][1].end.offset-e[r][1].start.offset&&(f=vr(f,[["enter",e[r][1],t],["exit",e[r][1],t]])),f=vr(f,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",a,t]]),f=vr(f,Tp(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),f=vr(f,[["exit",a,t],["enter",u,t],["exit",u,t],["exit",o,t]]),e[n][1].end.offset-e[n][1].start.offset?(h=2,f=vr(f,[["enter",e[n][1],t],["exit",e[n][1],t]])):h=0,er(e,r-1,n-r+3,f),n=r+f.length-h-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function Mae(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=ll(r);let a;return s;function s(c){return a=c,e.enter("attentionSequence"),u(c)}function u(c){if(c===a)return e.consume(c),u;const f=e.exit("attentionSequence"),h=ll(c),p=!h||h===2&&o||n.includes(c),g=!o||o===2&&h||n.includes(r);return f._open=!!(a===42?p:p&&(o||!g)),f._close=!!(a===42?g:g&&(h||!p)),t(c)}}function c3(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Oae={name:"autolink",tokenize:Nae};function Nae(e,t,n){let r=0;return o;function o(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(y){return Cn(y)?(e.consume(y),s):y===64?n(y):f(y)}function s(y){return y===43||y===45||y===46||gn(y)?(r=1,u(y)):f(y)}function u(y){return y===58?(e.consume(y),r=0,c):(y===43||y===45||y===46||gn(y))&&r++<32?(e.consume(y),u):(r=0,f(y))}function c(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):y===null||y===32||y===60||Cp(y)?n(y):(e.consume(y),c)}function f(y){return y===64?(e.consume(y),h):wae(y)?(e.consume(y),f):n(y)}function h(y){return gn(y)?p(y):n(y)}function p(y){return y===46?(e.consume(y),r=0,h):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):g(y)}function g(y){if((y===45||gn(y))&&r++<63){const w=y===45?g:p;return e.consume(y),w}return n(y)}}const yc={partial:!0,tokenize:Dae};function Dae(e,t,n){return r;function r(a){return Ge(a)?Qe(e,o,"linePrefix")(a):o(a)}function o(a){return a===null||Oe(a)?t(a):n(a)}}const f3={continuation:{tokenize:jae},exit:Iae,name:"blockQuote",tokenize:Pae};function Pae(e,t,n){const r=this;return o;function o(s){if(s===62){const u=r.containerState;return u.open||(e.enter("blockQuote",{_container:!0}),u.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(s),e.exit("blockQuoteMarker"),a}return n(s)}function a(s){return Ge(s)?(e.enter("blockQuotePrefixWhitespace"),e.consume(s),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(s))}}function jae(e,t,n){const r=this;return o;function o(s){return Ge(s)?Qe(e,a,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s):a(s)}function a(s){return e.attempt(f3,t,n)(s)}}function Iae(e){e.exit("blockQuote")}const d3={name:"characterEscape",tokenize:zae};function zae(e,t,n){return r;function r(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),o}function o(a){return Sae(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(a)}}const h3={name:"characterReference",tokenize:Lae};function Lae(e,t,n){const r=this;let o=0,a,s;return u;function u(p){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),c}function c(p){return p===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(p),e.exit("characterReferenceMarkerNumeric"),f):(e.enter("characterReferenceValue"),a=31,s=gn,h(p))}function f(p){return p===88||p===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(p),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,s=_ae,h):(e.enter("characterReferenceValue"),a=7,s=Fb,h(p))}function h(p){if(p===59&&o){const g=e.exit("characterReferenceValue");return s===gn&&!Lb(r.sliceSerialize(g))?n(p):(e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return s(p)&&o++<a?(e.consume(p),h):n(p)}}const p3={partial:!0,tokenize:$ae},m3={concrete:!0,name:"codeFenced",tokenize:Fae};function Fae(e,t,n){const r=this,o={partial:!0,tokenize:M};let a=0,s=0,u;return c;function c(N){return f(N)}function f(N){const P=r.events[r.events.length-1];return a=P&&P[1].type==="linePrefix"?P[2].sliceSerialize(P[1],!0).length:0,u=N,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),h(N)}function h(N){return N===u?(s++,e.consume(N),h):s<3?n(N):(e.exit("codeFencedFenceSequence"),Ge(N)?Qe(e,p,"whitespace")(N):p(N))}function p(N){return N===null||Oe(N)?(e.exit("codeFencedFence"),r.interrupt?t(N):e.check(p3,v,A)(N)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),g(N))}function g(N){return N===null||Oe(N)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),p(N)):Ge(N)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),Qe(e,y,"whitespace")(N)):N===96&&N===u?n(N):(e.consume(N),g)}function y(N){return N===null||Oe(N)?p(N):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),w(N))}function w(N){return N===null||Oe(N)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),p(N)):N===96&&N===u?n(N):(e.consume(N),w)}function v(N){return e.attempt(o,A,S)(N)}function S(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),E}function E(N){return a>0&&Ge(N)?Qe(e,T,"linePrefix",a+1)(N):T(N)}function T(N){return N===null||Oe(N)?e.check(p3,v,A)(N):(e.enter("codeFlowValue"),k(N))}function k(N){return N===null||Oe(N)?(e.exit("codeFlowValue"),T(N)):(e.consume(N),k)}function A(N){return e.exit("codeFenced"),t(N)}function M(N,P,z){let B=0;return R;function R(V){return N.enter("lineEnding"),N.consume(V),N.exit("lineEnding"),F}function F(V){return N.enter("codeFencedFence"),Ge(V)?Qe(N,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(V):U(V)}function U(V){return V===u?(N.enter("codeFencedFenceSequence"),W(V)):z(V)}function W(V){return V===u?(B++,N.consume(V),W):B>=s?(N.exit("codeFencedFenceSequence"),Ge(V)?Qe(N,j,"whitespace")(V):j(V)):z(V)}function j(V){return V===null||Oe(V)?(N.exit("codeFencedFence"),P(V)):z(V)}}}function $ae(e,t,n){const r=this;return o;function o(s){return s===null?n(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),a)}function a(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}const Bb={name:"codeIndented",tokenize:Hae},Bae={partial:!0,tokenize:Vae};function Hae(e,t,n){const r=this;return o;function o(f){return e.enter("codeIndented"),Qe(e,a,"linePrefix",5)(f)}function a(f){const h=r.events[r.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?s(f):n(f)}function s(f){return f===null?c(f):Oe(f)?e.attempt(Bae,s,c)(f):(e.enter("codeFlowValue"),u(f))}function u(f){return f===null||Oe(f)?(e.exit("codeFlowValue"),s(f)):(e.consume(f),u)}function c(f){return e.exit("codeIndented"),t(f)}}function Vae(e,t,n){const r=this;return o;function o(s){return r.parser.lazy[r.now().line]?n(s):Oe(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):Qe(e,a,"linePrefix",5)(s)}function a(s){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(s):Oe(s)?o(s):n(s)}}const Uae={name:"codeText",previous:Gae,resolve:qae,tokenize:Yae};function qae(e){let t=e.length-4,n=3,r,o;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)o===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(o=r):(r===t||e[r][1].type==="lineEnding")&&(e[o][1].type="codeTextData",r!==o+2&&(e[o][1].end=e[r-1][1].end,e.splice(o+2,r-o-2),t-=r-o-2,r=o+2),o=void 0);return e}function Gae(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Yae(e,t,n){let r=0,o,a;return s;function s(p){return e.enter("codeText"),e.enter("codeTextSequence"),u(p)}function u(p){return p===96?(e.consume(p),r++,u):(e.exit("codeTextSequence"),c(p))}function c(p){return p===null?n(p):p===32?(e.enter("space"),e.consume(p),e.exit("space"),c):p===96?(a=e.enter("codeTextSequence"),o=0,h(p)):Oe(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("codeTextData"),f(p))}function f(p){return p===null||p===32||p===96||Oe(p)?(e.exit("codeTextData"),c(p)):(e.consume(p),f)}function h(p){return p===96?(e.consume(p),o++,h):o===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(p)):(a.type="codeTextData",f(p))}}class Wae{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const o=n||0;this.setCursor(Math.trunc(t));const a=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&vc(this.left,r),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),vc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),vc(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);vc(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);vc(this.left,n.reverse())}}}function vc(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function g3(e){const t={};let n=-1,r,o,a,s,u,c,f;const h=new Wae(e);for(;++n<h.length;){for(;n in t;)n=t[n];if(r=h.get(n),n&&r[1].type==="chunkFlow"&&h.get(n-1)[1].type==="listItemPrefix"&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type==="lineEndingBlank"&&(a+=2),a<c.length&&c[a][1].type==="content"))for(;++a<c.length&&c[a][1].type!=="content";)c[a][1].type==="chunkText"&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,Xae(h,n)),n=t[n],f=!0);else if(r[1]._container){for(a=n,o=void 0;a--;)if(s=h.get(a),s[1].type==="lineEnding"||s[1].type==="lineEndingBlank")s[0]==="enter"&&(o&&(h.get(o)[1].type="lineEndingBlank"),s[1].type="lineEnding",o=a);else if(!(s[1].type==="linePrefix"||s[1].type==="listItemIndent"))break;o&&(r[1].end={...h.get(o)[1].start},u=h.slice(o,n),u.unshift(r),h.splice(o,n-o+1,u))}}return er(e,0,Number.POSITIVE_INFINITY,h.slice(0)),!f}function Xae(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const a=[];let s=n._tokenizer;s||(s=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(s._contentTypeTextTrailing=!0));const u=s.events,c=[],f={};let h,p,g=-1,y=n,w=0,v=0;const S=[v];for(;y;){for(;e.get(++o)[1]!==y;);a.push(o),y._tokenizer||(h=r.sliceStream(y),y.next||h.push(null),p&&s.defineSkip(y.start),y._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(h),y._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),p=y,y=y.next}for(y=n;++g<u.length;)u[g][0]==="exit"&&u[g-1][0]==="enter"&&u[g][1].type===u[g-1][1].type&&u[g][1].start.line!==u[g][1].end.line&&(v=g+1,S.push(v),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(s.events=[],y?(y._tokenizer=void 0,y.previous=void 0):S.pop(),g=S.length;g--;){const E=u.slice(S[g],S[g+1]),T=a.pop();c.push([T,T+E.length-1]),e.splice(T,2,E)}for(c.reverse(),g=-1;++g<c.length;)f[w+c[g][0]]=w+c[g][1],w+=c[g][1]-c[g][0]-1;return f}const Kae={resolve:Qae,tokenize:Jae},Zae={partial:!0,tokenize:ese};function Qae(e){return g3(e),e}function Jae(e,t){let n;return r;function r(u){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),o(u)}function o(u){return u===null?a(u):Oe(u)?e.check(Zae,s,a)(u):(e.consume(u),o)}function a(u){return e.exit("chunkContent"),e.exit("content"),t(u)}function s(u){return e.consume(u),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,o}}function ese(e,t,n){const r=this;return o;function o(s){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),Qe(e,a,"linePrefix")}function a(s){if(s===null||Oe(s))return n(s);const u=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(s):e.interrupt(r.parser.constructs.flow,n,t)(s)}}function y3(e,t,n,r,o,a,s,u,c){const f=c||Number.POSITIVE_INFINITY;let h=0;return p;function p(E){return E===60?(e.enter(r),e.enter(o),e.enter(a),e.consume(E),e.exit(a),g):E===null||E===32||E===41||Cp(E)?n(E):(e.enter(r),e.enter(s),e.enter(u),e.enter("chunkString",{contentType:"string"}),v(E))}function g(E){return E===62?(e.enter(a),e.consume(E),e.exit(a),e.exit(o),e.exit(r),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),y(E))}function y(E){return E===62?(e.exit("chunkString"),e.exit(u),g(E)):E===null||E===60||Oe(E)?n(E):(e.consume(E),E===92?w:y)}function w(E){return E===60||E===62||E===92?(e.consume(E),y):y(E)}function v(E){return!h&&(E===null||E===41||vt(E))?(e.exit("chunkString"),e.exit(u),e.exit(s),e.exit(r),t(E)):h<f&&E===40?(e.consume(E),h++,v):E===41?(e.consume(E),h--,v):E===null||E===32||E===40||Cp(E)?n(E):(e.consume(E),E===92?S:v)}function S(E){return E===40||E===41||E===92?(e.consume(E),v):v(E)}}function v3(e,t,n,r,o,a){const s=this;let u=0,c;return f;function f(y){return e.enter(r),e.enter(o),e.consume(y),e.exit(o),e.enter(a),h}function h(y){return u>999||y===null||y===91||y===93&&!c||y===94&&!u&&"_hiddenFootnoteSupport"in s.parser.constructs?n(y):y===93?(e.exit(a),e.enter(o),e.consume(y),e.exit(o),e.exit(r),t):Oe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),h):(e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===null||y===91||y===93||Oe(y)||u++>999?(e.exit("chunkString"),h(y)):(e.consume(y),c||(c=!Ge(y)),y===92?g:p)}function g(y){return y===91||y===92||y===93?(e.consume(y),u++,p):p(y)}}function b3(e,t,n,r,o,a){let s;return u;function u(g){return g===34||g===39||g===40?(e.enter(r),e.enter(o),e.consume(g),e.exit(o),s=g===40?41:g,c):n(g)}function c(g){return g===s?(e.enter(o),e.consume(g),e.exit(o),e.exit(r),t):(e.enter(a),f(g))}function f(g){return g===s?(e.exit(a),c(s)):g===null?n(g):Oe(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),Qe(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===s||g===null||Oe(g)?(e.exit("chunkString"),f(g)):(e.consume(g),g===92?p:h)}function p(g){return g===s||g===92?(e.consume(g),h):h(g)}}function bc(e,t){let n;return r;function r(o){return Oe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r):Ge(o)?Qe(e,r,n?"linePrefix":"lineSuffix")(o):t(o)}}const tse={name:"definition",tokenize:rse},nse={partial:!0,tokenize:ose};function rse(e,t,n){const r=this;let o;return a;function a(y){return e.enter("definition"),s(y)}function s(y){return v3.call(r,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function u(y){return o=$r(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),c):n(y)}function c(y){return vt(y)?bc(e,f)(y):f(y)}function f(y){return y3(e,h,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function h(y){return e.attempt(nse,p,p)(y)}function p(y){return Ge(y)?Qe(e,g,"whitespace")(y):g(y)}function g(y){return y===null||Oe(y)?(e.exit("definition"),r.parser.defined.push(o),t(y)):n(y)}}function ose(e,t,n){return r;function r(u){return vt(u)?bc(e,o)(u):n(u)}function o(u){return b3(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function a(u){return Ge(u)?Qe(e,s,"whitespace")(u):s(u)}function s(u){return u===null||Oe(u)?t(u):n(u)}}const ise={name:"hardBreakEscape",tokenize:ase};function ase(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),o}function o(a){return Oe(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}const sse={name:"headingAtx",resolve:lse,tokenize:use};function lse(e,t){let n=e.length-2,r=3,o,a;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(o={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},er(e,r,n-r+1,[["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t]])),e}function use(e,t,n){let r=0;return o;function o(h){return e.enter("atxHeading"),a(h)}function a(h){return e.enter("atxHeadingSequence"),s(h)}function s(h){return h===35&&r++<6?(e.consume(h),s):h===null||vt(h)?(e.exit("atxHeadingSequence"),u(h)):n(h)}function u(h){return h===35?(e.enter("atxHeadingSequence"),c(h)):h===null||Oe(h)?(e.exit("atxHeading"),t(h)):Ge(h)?Qe(e,u,"whitespace")(h):(e.enter("atxHeadingText"),f(h))}function c(h){return h===35?(e.consume(h),c):(e.exit("atxHeadingSequence"),u(h))}function f(h){return h===null||h===35||vt(h)?(e.exit("atxHeadingText"),u(h)):(e.consume(h),f)}}const cse=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],x3=["pre","script","style","textarea"],fse={concrete:!0,name:"htmlFlow",resolveTo:pse,tokenize:mse},dse={partial:!0,tokenize:yse},hse={partial:!0,tokenize:gse};function pse(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function mse(e,t,n){const r=this;let o,a,s,u,c;return f;function f(L){return h(L)}function h(L){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(L),p}function p(L){return L===33?(e.consume(L),g):L===47?(e.consume(L),a=!0,v):L===63?(e.consume(L),o=3,r.interrupt?t:O):Cn(L)?(e.consume(L),s=String.fromCharCode(L),S):n(L)}function g(L){return L===45?(e.consume(L),o=2,y):L===91?(e.consume(L),o=5,u=0,w):Cn(L)?(e.consume(L),o=4,r.interrupt?t:O):n(L)}function y(L){return L===45?(e.consume(L),r.interrupt?t:O):n(L)}function w(L){const te="CDATA[";return L===te.charCodeAt(u++)?(e.consume(L),u===te.length?r.interrupt?t:U:w):n(L)}function v(L){return Cn(L)?(e.consume(L),s=String.fromCharCode(L),S):n(L)}function S(L){if(L===null||L===47||L===62||vt(L)){const te=L===47,he=s.toLowerCase();return!te&&!a&&x3.includes(he)?(o=1,r.interrupt?t(L):U(L)):cse.includes(s.toLowerCase())?(o=6,te?(e.consume(L),E):r.interrupt?t(L):U(L)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(L):a?T(L):k(L))}return L===45||gn(L)?(e.consume(L),s+=String.fromCharCode(L),S):n(L)}function E(L){return L===62?(e.consume(L),r.interrupt?t:U):n(L)}function T(L){return Ge(L)?(e.consume(L),T):R(L)}function k(L){return L===47?(e.consume(L),R):L===58||L===95||Cn(L)?(e.consume(L),A):Ge(L)?(e.consume(L),k):R(L)}function A(L){return L===45||L===46||L===58||L===95||gn(L)?(e.consume(L),A):M(L)}function M(L){return L===61?(e.consume(L),N):Ge(L)?(e.consume(L),M):k(L)}function N(L){return L===null||L===60||L===61||L===62||L===96?n(L):L===34||L===39?(e.consume(L),c=L,P):Ge(L)?(e.consume(L),N):z(L)}function P(L){return L===c?(e.consume(L),c=null,B):L===null||Oe(L)?n(L):(e.consume(L),P)}function z(L){return L===null||L===34||L===39||L===47||L===60||L===61||L===62||L===96||vt(L)?M(L):(e.consume(L),z)}function B(L){return L===47||L===62||Ge(L)?k(L):n(L)}function R(L){return L===62?(e.consume(L),F):n(L)}function F(L){return L===null||Oe(L)?U(L):Ge(L)?(e.consume(L),F):n(L)}function U(L){return L===45&&o===2?(e.consume(L),I):L===60&&o===1?(e.consume(L),H):L===62&&o===4?(e.consume(L),Y):L===63&&o===3?(e.consume(L),O):L===93&&o===5?(e.consume(L),G):Oe(L)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(dse,Z,W)(L)):L===null||Oe(L)?(e.exit("htmlFlowData"),W(L)):(e.consume(L),U)}function W(L){return e.check(hse,j,Z)(L)}function j(L){return e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),V}function V(L){return L===null||Oe(L)?W(L):(e.enter("htmlFlowData"),U(L))}function I(L){return L===45?(e.consume(L),O):U(L)}function H(L){return L===47?(e.consume(L),s="",q):U(L)}function q(L){if(L===62){const te=s.toLowerCase();return x3.includes(te)?(e.consume(L),Y):U(L)}return Cn(L)&&s.length<8?(e.consume(L),s+=String.fromCharCode(L),q):U(L)}function G(L){return L===93?(e.consume(L),O):U(L)}function O(L){return L===62?(e.consume(L),Y):L===45&&o===2?(e.consume(L),O):U(L)}function Y(L){return L===null||Oe(L)?(e.exit("htmlFlowData"),Z(L)):(e.consume(L),Y)}function Z(L){return e.exit("htmlFlow"),t(L)}}function gse(e,t,n){const r=this;return o;function o(s){return Oe(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),a):n(s)}function a(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function yse(e,t,n){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(yc,t,n)}}const vse={name:"htmlText",tokenize:bse};function bse(e,t,n){const r=this;let o,a,s;return u;function u(O){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(O),c}function c(O){return O===33?(e.consume(O),f):O===47?(e.consume(O),M):O===63?(e.consume(O),k):Cn(O)?(e.consume(O),z):n(O)}function f(O){return O===45?(e.consume(O),h):O===91?(e.consume(O),a=0,w):Cn(O)?(e.consume(O),T):n(O)}function h(O){return O===45?(e.consume(O),y):n(O)}function p(O){return O===null?n(O):O===45?(e.consume(O),g):Oe(O)?(s=p,H(O)):(e.consume(O),p)}function g(O){return O===45?(e.consume(O),y):p(O)}function y(O){return O===62?I(O):O===45?g(O):p(O)}function w(O){const Y="CDATA[";return O===Y.charCodeAt(a++)?(e.consume(O),a===Y.length?v:w):n(O)}function v(O){return O===null?n(O):O===93?(e.consume(O),S):Oe(O)?(s=v,H(O)):(e.consume(O),v)}function S(O){return O===93?(e.consume(O),E):v(O)}function E(O){return O===62?I(O):O===93?(e.consume(O),E):v(O)}function T(O){return O===null||O===62?I(O):Oe(O)?(s=T,H(O)):(e.consume(O),T)}function k(O){return O===null?n(O):O===63?(e.consume(O),A):Oe(O)?(s=k,H(O)):(e.consume(O),k)}function A(O){return O===62?I(O):k(O)}function M(O){return Cn(O)?(e.consume(O),N):n(O)}function N(O){return O===45||gn(O)?(e.consume(O),N):P(O)}function P(O){return Oe(O)?(s=P,H(O)):Ge(O)?(e.consume(O),P):I(O)}function z(O){return O===45||gn(O)?(e.consume(O),z):O===47||O===62||vt(O)?B(O):n(O)}function B(O){return O===47?(e.consume(O),I):O===58||O===95||Cn(O)?(e.consume(O),R):Oe(O)?(s=B,H(O)):Ge(O)?(e.consume(O),B):I(O)}function R(O){return O===45||O===46||O===58||O===95||gn(O)?(e.consume(O),R):F(O)}function F(O){return O===61?(e.consume(O),U):Oe(O)?(s=F,H(O)):Ge(O)?(e.consume(O),F):B(O)}function U(O){return O===null||O===60||O===61||O===62||O===96?n(O):O===34||O===39?(e.consume(O),o=O,W):Oe(O)?(s=U,H(O)):Ge(O)?(e.consume(O),U):(e.consume(O),j)}function W(O){return O===o?(e.consume(O),o=void 0,V):O===null?n(O):Oe(O)?(s=W,H(O)):(e.consume(O),W)}function j(O){return O===null||O===34||O===39||O===60||O===61||O===96?n(O):O===47||O===62||vt(O)?B(O):(e.consume(O),j)}function V(O){return O===47||O===62||vt(O)?B(O):n(O)}function I(O){return O===62?(e.consume(O),e.exit("htmlTextData"),e.exit("htmlText"),t):n(O)}function H(O){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),q}function q(O){return Ge(O)?Qe(e,G,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):G(O)}function G(O){return e.enter("htmlTextData"),s(O)}}const Hb={name:"labelEnd",resolveAll:Sse,resolveTo:Ese,tokenize:Cse},xse={tokenize:kse},wse={tokenize:Tse},_se={tokenize:Ase};function Sse(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const o=r.type==="labelImage"?4:2;r.type="data",t+=o}}return e.length!==n.length&&er(e,0,e.length,n),e}function Ese(e,t){let n=e.length,r=0,o,a,s,u;for(;n--;)if(o=e[n][1],a){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;e[n][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(s){if(e[n][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(a=n,o.type!=="labelLink")){r=2;break}}else o.type==="labelEnd"&&(s=n);const c={type:e[a][1].type==="labelLink"?"link":"image",start:{...e[a][1].start},end:{...e[e.length-1][1].end}},f={type:"label",start:{...e[a][1].start},end:{...e[s][1].end}},h={type:"labelText",start:{...e[a+r+2][1].end},end:{...e[s-2][1].start}};return u=[["enter",c,t],["enter",f,t]],u=vr(u,e.slice(a+1,a+r+3)),u=vr(u,[["enter",h,t]]),u=vr(u,Tp(t.parser.constructs.insideSpan.null,e.slice(a+r+4,s-3),t)),u=vr(u,[["exit",h,t],e[s-2],e[s-1],["exit",f,t]]),u=vr(u,e.slice(s+1)),u=vr(u,[["exit",c,t]]),er(e,a,e.length,u),e}function Cse(e,t,n){const r=this;let o=r.events.length,a,s;for(;o--;)if((r.events[o][1].type==="labelImage"||r.events[o][1].type==="labelLink")&&!r.events[o][1]._balanced){a=r.events[o][1];break}return u;function u(g){return a?a._inactive?p(g):(s=r.parser.defined.includes($r(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(g),e.exit("labelMarker"),e.exit("labelEnd"),c):n(g)}function c(g){return g===40?e.attempt(xse,h,s?h:p)(g):g===91?e.attempt(wse,h,s?f:p)(g):s?h(g):p(g)}function f(g){return e.attempt(_se,h,p)(g)}function h(g){return t(g)}function p(g){return a._balanced=!0,n(g)}}function kse(e,t,n){return r;function r(p){return e.enter("resource"),e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),o}function o(p){return vt(p)?bc(e,a)(p):a(p)}function a(p){return p===41?h(p):y3(e,s,u,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(p)}function s(p){return vt(p)?bc(e,c)(p):h(p)}function u(p){return n(p)}function c(p){return p===34||p===39||p===40?b3(e,f,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(p):h(p)}function f(p){return vt(p)?bc(e,h)(p):h(p)}function h(p){return p===41?(e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),e.exit("resource"),t):n(p)}}function Tse(e,t,n){const r=this;return o;function o(u){return v3.call(r,e,a,s,"reference","referenceMarker","referenceString")(u)}function a(u){return r.parser.defined.includes($r(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(u):n(u)}function s(u){return n(u)}}function Ase(e,t,n){return r;function r(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),o}function o(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),t):n(a)}}const Rse={name:"labelStartImage",resolveAll:Hb.resolveAll,tokenize:Mse};function Mse(e,t,n){const r=this;return o;function o(u){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(u),e.exit("labelImageMarker"),a}function a(u){return u===91?(e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),e.exit("labelImage"),s):n(u)}function s(u){return u===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(u):t(u)}}const Ose={name:"labelStartLink",resolveAll:Hb.resolveAll,tokenize:Nse};function Nse(e,t,n){const r=this;return o;function o(s){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelLink"),a}function a(s){return s===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}const Vb={name:"lineEnding",tokenize:Dse};function Dse(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),Qe(e,t,"linePrefix")}}const Ap={name:"thematicBreak",tokenize:Pse};function Pse(e,t,n){let r=0,o;return a;function a(f){return e.enter("thematicBreak"),s(f)}function s(f){return o=f,u(f)}function u(f){return f===o?(e.enter("thematicBreakSequence"),c(f)):r>=3&&(f===null||Oe(f))?(e.exit("thematicBreak"),t(f)):n(f)}function c(f){return f===o?(e.consume(f),r++,c):(e.exit("thematicBreakSequence"),Ge(f)?Qe(e,u,"whitespace")(f):u(f))}}const In={continuation:{tokenize:Lse},exit:$se,name:"list",tokenize:zse},jse={partial:!0,tokenize:Bse},Ise={partial:!0,tokenize:Fse};function zse(e,t,n){const r=this,o=r.events[r.events.length-1];let a=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,s=0;return u;function u(y){const w=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:Fb(y)){if(r.containerState.type||(r.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Ap,n,f)(y):f(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(y)}return n(y)}function c(y){return Fb(y)&&++s<10?(e.consume(y),c):(!r.interrupt||s<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):n(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(yc,r.interrupt?n:h,e.attempt(jse,g,p))}function h(y){return r.containerState.initialBlankLine=!0,a++,g(y)}function p(y){return Ge(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function Lse(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(yc,o,a);function o(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Qe(e,t,"listItemIndent",r.containerState.size+1)(u)}function a(u){return r.containerState.furtherBlankLines||!Ge(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Ise,t,s)(u))}function s(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,Qe(e,e.attempt(In,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function Fse(e,t,n){const r=this;return Qe(e,o,"listItemIndent",r.containerState.size+1);function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(a):n(a)}}function $se(e){e.exit(this.containerState.type)}function Bse(e,t,n){const r=this;return Qe(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(a){const s=r.events[r.events.length-1];return!Ge(a)&&s&&s[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}const w3={name:"setextUnderline",resolveTo:Hse,tokenize:Vse};function Hse(e,t){let n=e.length,r,o,a;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(o=n)}else e[n][1].type==="content"&&e.splice(n,1),!a&&e[n][1].type==="definition"&&(a=n);const s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",a?(e.splice(o,0,["enter",s,t]),e.splice(a+1,0,["exit",e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function Vse(e,t,n){const r=this;let o;return a;function a(f){let h=r.events.length,p;for(;h--;)if(r.events[h][1].type!=="lineEnding"&&r.events[h][1].type!=="linePrefix"&&r.events[h][1].type!=="content"){p=r.events[h][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(e.enter("setextHeadingLine"),o=f,s(f)):n(f)}function s(f){return e.enter("setextHeadingLineSequence"),u(f)}function u(f){return f===o?(e.consume(f),u):(e.exit("setextHeadingLineSequence"),Ge(f)?Qe(e,c,"lineSuffix")(f):c(f))}function c(f){return f===null||Oe(f)?(e.exit("setextHeadingLine"),t(f)):n(f)}}const Use={tokenize:qse};function qse(e){const t=this,n=e.attempt(yc,r,e.attempt(this.parser.constructs.flowInitial,o,Qe(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Kae,o)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function o(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Gse={resolveAll:S3()},Yse=_3("string"),Wse=_3("text");function _3(e){return{resolveAll:S3(e==="text"?Xse:void 0),tokenize:t};function t(n){const r=this,o=this.parser.constructs[e],a=n.attempt(o,s,u);return s;function s(h){return f(h)?a(h):u(h)}function u(h){if(h===null){n.consume(h);return}return n.enter("data"),n.consume(h),c}function c(h){return f(h)?(n.exit("data"),a(h)):(n.consume(h),c)}function f(h){if(h===null)return!0;const p=o[h];let g=-1;if(p)for(;++g<p.length;){const y=p[g];if(!y.previous||y.previous.call(r,r.previous))return!0}return!1}}}function S3(e){return t;function t(n,r){let o=-1,a;for(;++o<=n.length;)a===void 0?n[o]&&n[o][1].type==="data"&&(a=o,o++):(!n[o]||n[o][1].type!=="data")&&(o!==a+2&&(n[a][1].end=n[o-1][1].end,n.splice(a+2,o-a-2),o=a+2),a=void 0);return e?e(n,r):n}}function Xse(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],o=t.sliceStream(r);let a=o.length,s=-1,u=0,c;for(;a--;){const f=o[a];if(typeof f=="string"){for(s=f.length;f.charCodeAt(s-1)===32;)u++,s--;if(s)break;s=-1}else if(f===-2)c=!0,u++;else if(f!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(u=0),u){const f={type:n===e.length||c||u<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:a?s:r.start._bufferIndex+s,_index:r.start._index+a,line:r.end.line,column:r.end.column-u,offset:r.end.offset-u},end:{...r.end}};r.end={...f.start},r.start.offset===r.end.offset?Object.assign(r,f):(e.splice(n,0,["enter",f,t],["exit",f,t]),n+=2)}n++}return e}const Kse=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:{91:tse},disable:{null:[]},document:{42:In,43:In,45:In,48:In,49:In,50:In,51:In,52:In,53:In,54:In,55:In,56:In,57:In,62:f3},flow:{35:sse,42:Ap,45:[w3,Ap],60:fse,61:w3,95:Ap,96:m3,126:m3},flowInitial:{[-2]:Bb,[-1]:Bb,32:Bb},insideSpan:{null:[$b,Gse]},string:{38:h3,92:d3},text:{[-5]:Vb,[-4]:Vb,[-3]:Vb,33:Rse,38:h3,42:$b,60:[Oae,vse],91:Ose,92:[ise,d3],93:Hb,95:$b,96:Uae}},Symbol.toStringTag,{value:"Module"}));function Zse(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},a=[];let s=[],u=[];const c={attempt:P(M),check:P(N),consume:T,enter:k,exit:A,interrupt:P(N,{interrupt:!0})},f={code:null,containerState:{},defineSkip:v,events:[],now:w,parser:e,previous:null,sliceSerialize:g,sliceStream:y,write:p};let h=t.tokenize.call(f,c);return t.resolveAll&&a.push(t),f;function p(F){return s=vr(s,F),S(),s[s.length-1]!==null?[]:(z(t,0),f.events=Tp(a,f.events,f),f.events)}function g(F,U){return Jse(y(F),U)}function y(F){return Qse(s,F)}function w(){const{_bufferIndex:F,_index:U,line:W,column:j,offset:V}=r;return{_bufferIndex:F,_index:U,line:W,column:j,offset:V}}function v(F){o[F.line]=F.column,R()}function S(){let F;for(;r._index<s.length;){const U=s[r._index];if(typeof U=="string")for(F=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===F&&r._bufferIndex<U.length;)E(U.charCodeAt(r._bufferIndex));else E(U)}}function E(F){h=h(F)}function T(F){Oe(F)?(r.line++,r.column=1,r.offset+=F===-3?2:1,R()):F!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===s[r._index].length&&(r._bufferIndex=-1,r._index++)),f.previous=F}function k(F,U){const W=U||{};return W.type=F,W.start=w(),f.events.push(["enter",W,f]),u.push(W),W}function A(F){const U=u.pop();return U.end=w(),f.events.push(["exit",U,f]),U}function M(F,U){z(F,U.from)}function N(F,U){U.restore()}function P(F,U){return W;function W(j,V,I){let H,q,G,O;return Array.isArray(j)?Z(j):"tokenize"in j?Z([j]):Y(j);function Y(oe){return de;function de(le){const ye=le!==null&&oe[le],je=le!==null&&oe.null,Ne=[...Array.isArray(ye)?ye:ye?[ye]:[],...Array.isArray(je)?je:je?[je]:[]];return Z(Ne)(le)}}function Z(oe){return H=oe,q=0,oe.length===0?I:L(oe[q])}function L(oe){return de;function de(le){return O=B(),G=oe,oe.partial||(f.currentConstruct=oe),oe.name&&f.parser.constructs.disable.null.includes(oe.name)?he():oe.tokenize.call(U?Object.assign(Object.create(f),U):f,c,te,he)(le)}}function te(oe){return F(G,O),V}function he(oe){return O.restore(),++q<H.length?L(H[q]):I}}}function z(F,U){F.resolveAll&&!a.includes(F)&&a.push(F),F.resolve&&er(f.events,U,f.events.length-U,F.resolve(f.events.slice(U),f)),F.resolveTo&&(f.events=F.resolveTo(f.events,f))}function B(){const F=w(),U=f.previous,W=f.currentConstruct,j=f.events.length,V=Array.from(u);return{from:j,restore:I};function I(){r=F,f.previous=U,f.currentConstruct=W,f.events.length=j,u=V,R()}}function R(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}function Qse(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,a=t.end._bufferIndex;let s;if(n===o)s=[e[n].slice(r,a)];else{if(s=e.slice(n,o),r>-1){const u=s[0];typeof u=="string"?s[0]=u.slice(r):s.shift()}a>0&&s.push(e[o].slice(0,a))}return s}function Jse(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const a=e[n];let s;if(typeof a=="string")s=a;else switch(a){case-5:{s="\r";break}case-4:{s=`
797
797
  `;break}case-3:{s=`\r
798
798
  `;break}case-2:{s=t?" ":" ";break}case-1:{if(!t&&o)continue;s=" ";break}default:s=String.fromCharCode(a)}o=a===-2,r.push(s)}return r.join("")}function ele(e){const r={constructs:s3([Kse,...(e||{}).extensions||[]]),content:o(Eae),defined:[],document:o(kae),flow:o(Use),lazy:{},string:o(Yse),text:o(Wse)};return r;function o(a){return s;function s(u){return Zse(r,a,u)}}}function tle(e){for(;!g3(e););return e}const E3=/[\0\t\n\r]/g;function nle(){let e=1,t="",n=!0,r;return o;function o(a,s,u){const c=[];let f,h,p,g,y;for(a=t+(typeof a=="string"?a.toString():new TextDecoder(s||void 0).decode(a)),p=0,t="",n&&(a.charCodeAt(0)===65279&&p++,n=void 0);p<a.length;){if(E3.lastIndex=p,f=E3.exec(a),g=f&&f.index!==void 0?f.index:a.length,y=a.charCodeAt(g),!f){t=a.slice(p);break}if(y===10&&p===g&&r)c.push(-3),r=void 0;else switch(r&&(c.push(-5),r=void 0),p<g&&(c.push(a.slice(p,g)),e+=g-p),y){case 0:{c.push(65533),e++;break}case 9:{for(h=Math.ceil(e/4)*4,c.push(-2);e++<h;)c.push(-1);break}case 10:{c.push(-4),e=1;break}default:r=!0,e=1}p=g+1}return u&&(r&&c.push(-5),t&&c.push(t),c.push(null)),c}}const rle=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ole(e){return e.replace(rle,ile)}function ile(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const o=n.charCodeAt(1),a=o===120||o===88;return l3(n.slice(a?2:1),a?16:10)}return Lb(n)||e}const C3={}.hasOwnProperty;function ale(e,t,n){return typeof t!="string"&&(n=t,t=void 0),sle(n)(tle(ele(n).document().write(nle()(e,t,!0))))}function sle(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(br),autolinkProtocol:B,autolinkEmail:B,atxHeading:a(Xe),blockQuote:a(je),characterEscape:B,characterReference:B,codeFenced:a(Ne),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:a(Ne,s),codeText:a(we,s),codeTextData:B,data:B,codeFlowValue:B,definition:a(Te),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:a(_e),hardBreakEscape:a(Ct),hardBreakTrailing:a(Ct),htmlFlow:a(ft,s),htmlFlowData:B,htmlText:a(ft,s),htmlTextData:B,image:a(yn),label:s,link:a(br),listItem:a(nr),listItemValue:g,listOrdered:a(tr,p),listUnordered:a(tr),paragraph:a(ze),reference:L,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:a(Xe),strong:a(xo),thematicBreak:a(Fi)},exit:{atxHeading:c(),atxHeadingSequence:M,autolink:c(),autolinkEmail:ye,autolinkProtocol:le,blockQuote:c(),characterEscapeValue:R,characterReferenceMarkerHexadecimal:he,characterReferenceMarkerNumeric:he,characterReferenceValue:oe,characterReference:de,codeFenced:c(S),codeFencedFence:v,codeFencedFenceInfo:y,codeFencedFenceMeta:w,codeFlowValue:R,codeIndented:c(E),codeText:c(V),codeTextData:R,data:R,definition:c(),definitionDestinationString:A,definitionLabelString:T,definitionTitleString:k,emphasis:c(),hardBreakEscape:c(U),hardBreakTrailing:c(U),htmlFlow:c(W),htmlFlowData:R,htmlText:c(j),htmlTextData:R,image:c(H),label:G,labelText:q,lineEnding:F,link:c(I),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:te,resourceDestinationString:O,resourceTitleString:Y,resource:Z,setextHeading:c(z),setextHeadingLineSequence:P,setextHeadingText:N,strong:c(),thematicBreak:c()}};k3(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(ae){let pe={type:"root",children:[]};const Ae={stack:[pe],tokenStack:[],config:t,enter:u,exit:f,buffer:s,resume:h,data:n},De=[];let et=-1;for(;++et<ae.length;)if(ae[et][1].type==="listOrdered"||ae[et][1].type==="listUnordered")if(ae[et][0]==="enter")De.push(et);else{const kn=De.pop();et=o(ae,kn,et)}for(et=-1;++et<ae.length;){const kn=t[ae[et][0]];C3.call(kn,ae[et][1].type)&&kn[ae[et][1].type].call(Object.assign({sliceSerialize:ae[et][2].sliceSerialize},Ae),ae[et][1])}if(Ae.tokenStack.length>0){const kn=Ae.tokenStack[Ae.tokenStack.length-1];(kn[1]||T3).call(Ae,void 0,kn[0])}for(pe.position={start:Li(ae.length>0?ae[0][1].start:{line:1,column:1,offset:0}),end:Li(ae.length>0?ae[ae.length-2][1].end:{line:1,column:1,offset:0})},et=-1;++et<t.transforms.length;)pe=t.transforms[et](pe)||pe;return pe}function o(ae,pe,Ae){let De=pe-1,et=-1,kn=!1,Br,vn,xr,Tn;for(;++De<=Ae;){const qt=ae[De];switch(qt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{qt[0]==="enter"?et++:et--,Tn=void 0;break}case"lineEndingBlank":{qt[0]==="enter"&&(Br&&!Tn&&!et&&!xr&&(xr=De),Tn=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Tn=void 0}if(!et&&qt[0]==="enter"&&qt[1].type==="listItemPrefix"||et===-1&&qt[0]==="exit"&&(qt[1].type==="listUnordered"||qt[1].type==="listOrdered")){if(Br){let zn=De;for(vn=void 0;zn--;){const rr=ae[zn];if(rr[1].type==="lineEnding"||rr[1].type==="lineEndingBlank"){if(rr[0]==="exit")continue;vn&&(ae[vn][1].type="lineEndingBlank",kn=!0),rr[1].type="lineEnding",vn=zn}else if(!(rr[1].type==="linePrefix"||rr[1].type==="blockQuotePrefix"||rr[1].type==="blockQuotePrefixWhitespace"||rr[1].type==="blockQuoteMarker"||rr[1].type==="listItemIndent"))break}xr&&(!vn||xr<vn)&&(Br._spread=!0),Br.end=Object.assign({},vn?ae[vn][1].start:qt[1].end),ae.splice(vn||De,0,["exit",Br,qt[2]]),De++,Ae++}if(qt[1].type==="listItemPrefix"){const zn={type:"listItem",_spread:!1,start:Object.assign({},qt[1].start),end:void 0};Br=zn,ae.splice(De,0,["enter",zn,qt[2]]),De++,Ae++,xr=void 0,Tn=!0}}}return ae[pe][1]._spread=kn,Ae}function a(ae,pe){return Ae;function Ae(De){u.call(this,ae(De),De),pe&&pe.call(this,De)}}function s(){this.stack.push({type:"fragment",children:[]})}function u(ae,pe,Ae){this.stack[this.stack.length-1].children.push(ae),this.stack.push(ae),this.tokenStack.push([pe,Ae||void 0]),ae.position={start:Li(pe.start),end:void 0}}function c(ae){return pe;function pe(Ae){ae&&ae.call(this,Ae),f.call(this,Ae)}}function f(ae,pe){const Ae=this.stack.pop(),De=this.tokenStack.pop();if(De)De[0].type!==ae.type&&(pe?pe.call(this,ae,De[0]):(De[1]||T3).call(this,ae,De[0]));else throw new Error("Cannot close `"+ae.type+"` ("+mc({start:ae.start,end:ae.end})+"): it’s not open");Ae.position.end=Li(ae.end)}function h(){return zb(this.stack.pop())}function p(){this.data.expectingFirstListItemValue=!0}function g(ae){if(this.data.expectingFirstListItemValue){const pe=this.stack[this.stack.length-2];pe.start=Number.parseInt(this.sliceSerialize(ae),10),this.data.expectingFirstListItemValue=void 0}}function y(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.lang=ae}function w(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.meta=ae}function v(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function S(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ae.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function E(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ae.replace(/(\r?\n|\r)$/g,"")}function T(ae){const pe=this.resume(),Ae=this.stack[this.stack.length-1];Ae.label=pe,Ae.identifier=$r(this.sliceSerialize(ae)).toLowerCase()}function k(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.title=ae}function A(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.url=ae}function M(ae){const pe=this.stack[this.stack.length-1];if(!pe.depth){const Ae=this.sliceSerialize(ae).length;pe.depth=Ae}}function N(){this.data.setextHeadingSlurpLineEnding=!0}function P(ae){const pe=this.stack[this.stack.length-1];pe.depth=this.sliceSerialize(ae).codePointAt(0)===61?1:2}function z(){this.data.setextHeadingSlurpLineEnding=void 0}function B(ae){const Ae=this.stack[this.stack.length-1].children;let De=Ae[Ae.length-1];(!De||De.type!=="text")&&(De=Ha(),De.position={start:Li(ae.start),end:void 0},Ae.push(De)),this.stack.push(De)}function R(ae){const pe=this.stack.pop();pe.value+=this.sliceSerialize(ae),pe.position.end=Li(ae.end)}function F(ae){const pe=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Ae=pe.children[pe.children.length-1];Ae.position.end=Li(ae.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(pe.type)&&(B.call(this,ae),R.call(this,ae))}function U(){this.data.atHardBreak=!0}function W(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ae}function j(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ae}function V(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ae}function I(){const ae=this.stack[this.stack.length-1];if(this.data.inReference){const pe=this.data.referenceType||"shortcut";ae.type+="Reference",ae.referenceType=pe,delete ae.url,delete ae.title}else delete ae.identifier,delete ae.label;this.data.referenceType=void 0}function H(){const ae=this.stack[this.stack.length-1];if(this.data.inReference){const pe=this.data.referenceType||"shortcut";ae.type+="Reference",ae.referenceType=pe,delete ae.url,delete ae.title}else delete ae.identifier,delete ae.label;this.data.referenceType=void 0}function q(ae){const pe=this.sliceSerialize(ae),Ae=this.stack[this.stack.length-2];Ae.label=ole(pe),Ae.identifier=$r(pe).toLowerCase()}function G(){const ae=this.stack[this.stack.length-1],pe=this.resume(),Ae=this.stack[this.stack.length-1];if(this.data.inReference=!0,Ae.type==="link"){const De=ae.children;Ae.children=De}else Ae.alt=pe}function O(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.url=ae}function Y(){const ae=this.resume(),pe=this.stack[this.stack.length-1];pe.title=ae}function Z(){this.data.inReference=void 0}function L(){this.data.referenceType="collapsed"}function te(ae){const pe=this.resume(),Ae=this.stack[this.stack.length-1];Ae.label=pe,Ae.identifier=$r(this.sliceSerialize(ae)).toLowerCase(),this.data.referenceType="full"}function he(ae){this.data.characterReferenceType=ae.type}function oe(ae){const pe=this.sliceSerialize(ae),Ae=this.data.characterReferenceType;let De;Ae?(De=l3(pe,Ae==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):De=Lb(pe);const et=this.stack[this.stack.length-1];et.value+=De}function de(ae){const pe=this.stack.pop();pe.position.end=Li(ae.end)}function le(ae){R.call(this,ae);const pe=this.stack[this.stack.length-1];pe.url=this.sliceSerialize(ae)}function ye(ae){R.call(this,ae);const pe=this.stack[this.stack.length-1];pe.url="mailto:"+this.sliceSerialize(ae)}function je(){return{type:"blockquote",children:[]}}function Ne(){return{type:"code",lang:null,meta:null,value:""}}function we(){return{type:"inlineCode",value:""}}function Te(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function _e(){return{type:"emphasis",children:[]}}function Xe(){return{type:"heading",depth:0,children:[]}}function Ct(){return{type:"break"}}function ft(){return{type:"html",value:""}}function yn(){return{type:"image",title:null,url:"",alt:null}}function br(){return{type:"link",title:null,url:"",children:[]}}function tr(ae){return{type:"list",ordered:ae.type==="listOrdered",start:null,spread:ae._spread,children:[]}}function nr(ae){return{type:"listItem",spread:ae._spread,checked:null,children:[]}}function ze(){return{type:"paragraph",children:[]}}function xo(){return{type:"strong",children:[]}}function Ha(){return{type:"text",value:""}}function Fi(){return{type:"thematicBreak"}}}function Li(e){return{line:e.line,column:e.column,offset:e.offset}}function k3(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?k3(e,r):lle(e,r)}}function lle(e,t){let n;for(n in t)if(C3.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function T3(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+mc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+mc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+mc({start:t.start,end:t.end})+") is still open")}function ule(e){const t=this;t.parser=n;function n(r){return ale(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function cle(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function fle(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
@@ -822,7 +822,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
822
822
  `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:s,tableCell:c,tableRow:u}};function s(y,w,v,S){return f(h(y,v,S),y.align)}function u(y,w,v,S){const E=p(y,v,S),T=f([E]);return T.slice(0,T.indexOf(`
823
823
  `))}function c(y,w,v,S){const E=v.enter("tableCell"),T=v.enter("phrasing"),k=v.containerPhrasing(y,{...S,before:a,after:a});return T(),E(),k}function f(y,w){return mce(y,{align:w,alignDelimiters:r,padding:n,stringLength:o})}function h(y,w,v){const S=y.children;let E=-1;const T=[],k=w.enter("table");for(;++E<S.length;)T[E]=p(S[E],w,v);return k(),T}function p(y,w,v){const S=y.children;let E=-1;const T=[],k=w.enter("tableRow");for(;++E<S.length;)T[E]=c(S[E],y,w,v);return k(),T}function g(y,w,v){let S=m5.inlineCode(y,w,v);return v.stack.includes("tableCell")&&(S=S.replace(/\|/g,"\\$&")),S}}function nfe(){return{exit:{taskListCheckValueChecked:y5,taskListCheckValueUnchecked:y5,paragraph:ofe}}}function rfe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ife}}}function y5(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function ofe(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=t.children;let a=-1,s;for(;++a<o.length;){const u=o[a];if(u.type==="paragraph"){s=u;break}}s===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function ife(e,t,n,r){const o=e.children[0],a=typeof e.checked=="boolean"&&o&&o.type==="paragraph",s="["+(e.checked?"x":" ")+"] ",u=n.createTracker(r);a&&u.move(s);let c=m5.listItem(e,t,n,{...r,...u.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,f)),c;function f(h){return h+s}}function afe(){return[Lue(),ice(),uce(),Xce(),nfe()]}function sfe(e){return{extensions:[Fue(),ace(e),cce(),tfe(e),rfe()]}}const lfe={tokenize:pfe,partial:!0},v5={tokenize:mfe,partial:!0},b5={tokenize:gfe,partial:!0},x5={tokenize:yfe,partial:!0},ufe={tokenize:vfe,partial:!0},w5={name:"wwwAutolink",tokenize:dfe,previous:S5},_5={name:"protocolAutolink",tokenize:hfe,previous:E5},Qo={name:"emailAutolink",tokenize:ffe,previous:C5},bo={};function cfe(){return{text:bo}}let Ba=48;for(;Ba<123;)bo[Ba]=Qo,Ba++,Ba===58?Ba=65:Ba===91&&(Ba=97);bo[43]=Qo,bo[45]=Qo,bo[46]=Qo,bo[95]=Qo,bo[72]=[Qo,_5],bo[104]=[Qo,_5],bo[87]=[Qo,w5],bo[119]=[Qo,w5];function ffe(e,t,n){const r=this;let o,a;return s;function s(p){return!p1(p)||!C5.call(r,r.previous)||m1(r.events)?n(p):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),u(p))}function u(p){return p1(p)?(e.consume(p),u):p===64?(e.consume(p),c):n(p)}function c(p){return p===46?e.check(ufe,h,f)(p):p===45||p===95||gn(p)?(a=!0,e.consume(p),c):h(p)}function f(p){return e.consume(p),o=!0,c}function h(p){return a&&o&&Cn(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(p)):n(p)}}function dfe(e,t,n){const r=this;return o;function o(s){return s!==87&&s!==119||!S5.call(r,r.previous)||m1(r.events)?n(s):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(lfe,e.attempt(v5,e.attempt(b5,a),n),n)(s))}function a(s){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(s)}}function hfe(e,t,n){const r=this;let o="",a=!1;return s;function s(p){return(p===72||p===104)&&E5.call(r,r.previous)&&!m1(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(p),e.consume(p),u):n(p)}function u(p){if(Cn(p)&&o.length<5)return o+=String.fromCodePoint(p),e.consume(p),u;if(p===58){const g=o.toLowerCase();if(g==="http"||g==="https")return e.consume(p),c}return n(p)}function c(p){return p===47?(e.consume(p),a?f:(a=!0,c)):n(p)}function f(p){return p===null||Cp(p)||vt(p)||$a(p)||kp(p)?n(p):e.attempt(v5,e.attempt(b5,h),n)(p)}function h(p){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(p)}}function pfe(e,t,n){let r=0;return o;function o(s){return(s===87||s===119)&&r<3?(r++,e.consume(s),o):s===46&&r===3?(e.consume(s),a):n(s)}function a(s){return s===null?n(s):t(s)}}function mfe(e,t,n){let r,o,a;return s;function s(f){return f===46||f===95?e.check(x5,c,u)(f):f===null||vt(f)||$a(f)||f!==45&&kp(f)?c(f):(a=!0,e.consume(f),s)}function u(f){return f===95?r=!0:(o=r,r=void 0),e.consume(f),s}function c(f){return o||r||!a?n(f):t(f)}}function gfe(e,t){let n=0,r=0;return o;function o(s){return s===40?(n++,e.consume(s),o):s===41&&r<n?a(s):s===33||s===34||s===38||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===60||s===63||s===93||s===95||s===126?e.check(x5,t,a)(s):s===null||vt(s)||$a(s)?t(s):(e.consume(s),o)}function a(s){return s===41&&r++,e.consume(s),o}}function yfe(e,t,n){return r;function r(u){return u===33||u===34||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===63||u===95||u===126?(e.consume(u),r):u===38?(e.consume(u),a):u===93?(e.consume(u),o):u===60||u===null||vt(u)||$a(u)?t(u):n(u)}function o(u){return u===null||u===40||u===91||vt(u)||$a(u)?t(u):r(u)}function a(u){return Cn(u)?s(u):n(u)}function s(u){return u===59?(e.consume(u),r):Cn(u)?(e.consume(u),s):n(u)}}function vfe(e,t,n){return r;function r(a){return e.consume(a),o}function o(a){return gn(a)?n(a):t(a)}}function S5(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||vt(e)}function E5(e){return!Cn(e)}function C5(e){return!(e===47||p1(e))}function p1(e){return e===43||e===45||e===46||e===95||gn(e)}function m1(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const bfe={tokenize:Tfe,partial:!0};function xfe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Efe,continuation:{tokenize:Cfe},exit:kfe}},text:{91:{name:"gfmFootnoteCall",tokenize:Sfe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:wfe,resolveTo:_fe}}}}function wfe(e,t,n){const r=this;let o=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;o--;){const c=r.events[o][1];if(c.type==="labelImage"){s=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return u;function u(c){if(!s||!s._balanced)return n(c);const f=$r(r.sliceSerialize({start:s.end,end:r.now()}));return f.codePointAt(0)!==94||!a.includes(f.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function _fe(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...u),e}function Sfe(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,s;return u;function u(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?n(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(p){if(a>999||p===93&&!s||p===null||p===91||vt(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return o.includes($r(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(p)}return vt(p)||(s=!0),a++,e.consume(p),p===92?h:f}function h(p){return p===91||p===92||p===93?(e.consume(p),a++,f):f(p)}}function Efe(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,s=0,u;return c;function c(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",h):n(w)}function h(w){if(s>999||w===93&&!u||w===null||w===91||vt(w))return n(w);if(w===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return a=$r(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return vt(w)||(u=!0),s++,e.consume(w),w===92?p:h}function p(w){return w===91||w===92||w===93?(e.consume(w),s++,h):h(w)}function g(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),o.includes(a)||o.push(a),Qe(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function Cfe(e,t,n){return e.check(yc,t,e.attempt(bfe,t,n))}function kfe(e){e.exit("gfmFootnoteDefinition")}function Tfe(e,t,n){const r=this;return Qe(e,o,"gfmFootnoteDefinitionIndent",5);function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(a):n(a)}}function Afe(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(s,u){let c=-1;for(;++c<s.length;)if(s[c][0]==="enter"&&s[c][1].type==="strikethroughSequenceTemporary"&&s[c][1]._close){let f=c;for(;f--;)if(s[f][0]==="exit"&&s[f][1].type==="strikethroughSequenceTemporary"&&s[f][1]._open&&s[c][1].end.offset-s[c][1].start.offset===s[f][1].end.offset-s[f][1].start.offset){s[c][1].type="strikethroughSequence",s[f][1].type="strikethroughSequence";const h={type:"strikethrough",start:Object.assign({},s[f][1].start),end:Object.assign({},s[c][1].end)},p={type:"strikethroughText",start:Object.assign({},s[f][1].end),end:Object.assign({},s[c][1].start)},g=[["enter",h,u],["enter",s[f][1],u],["exit",s[f][1],u],["enter",p,u]],y=u.parser.constructs.insideSpan.null;y&&er(g,g.length,0,Tp(y,s.slice(f+1,c),u)),er(g,g.length,0,[["exit",p,u],["enter",s[c][1],u],["exit",s[c][1],u],["exit",h,u]]),er(s,f-1,c-f+3,g),c=f+g.length-2;break}}for(c=-1;++c<s.length;)s[c][1].type==="strikethroughSequenceTemporary"&&(s[c][1].type="data");return s}function a(s,u,c){const f=this.previous,h=this.events;let p=0;return g;function g(w){return f===126&&h[h.length-1][1].type!=="characterEscape"?c(w):(s.enter("strikethroughSequenceTemporary"),y(w))}function y(w){const v=ll(f);if(w===126)return p>1?c(w):(s.consume(w),p++,y);if(p<2&&!n)return c(w);const S=s.exit("strikethroughSequenceTemporary"),E=ll(w);return S._open=!E||E===2&&!!v,S._close=!v||v===2&&!!E,u(w)}}}class Rfe{constructor(){this.map=[]}add(t,n,r){Mfe(this,t,n,r)}consume(t){if(this.map.sort(function(a,s){return a[0]-s[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let o=r.pop();for(;o;){for(const a of o)t.push(a);o=r.pop()}this.map.length=0}}function Mfe(e,t,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<e.map.length;){if(e.map[o][0]===t){e.map[o][1]+=n,e.map[o][2].push(...r);return}o+=1}e.map.push([t,n,r])}}function Ofe(e,t){let n=!1;const r=[];for(;t<e.length;){const o=e[t];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Nfe(){return{flow:{null:{name:"table",tokenize:Dfe,resolveAll:Pfe}}}}function Dfe(e,t,n){const r=this;let o=0,a=0,s;return u;function u(R){let F=r.events.length-1;for(;F>-1;){const j=r.events[F][1].type;if(j==="lineEnding"||j==="linePrefix")F--;else break}const U=F>-1?r.events[F][1].type:null,W=U==="tableHead"||U==="tableRow"?N:c;return W===N&&r.parser.lazy[r.now().line]?n(R):W(R)}function c(R){return e.enter("tableHead"),e.enter("tableRow"),f(R)}function f(R){return R===124||(s=!0,a+=1),h(R)}function h(R){return R===null?n(R):Oe(R)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),y):n(R):Ge(R)?Qe(e,h,"whitespace")(R):(a+=1,s&&(s=!1,o+=1),R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),s=!0,h):(e.enter("data"),p(R)))}function p(R){return R===null||R===124||vt(R)?(e.exit("data"),h(R)):(e.consume(R),R===92?g:p)}function g(R){return R===92||R===124?(e.consume(R),p):p(R)}function y(R){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(R):(e.enter("tableDelimiterRow"),s=!1,Ge(R)?Qe(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):w(R))}function w(R){return R===45||R===58?S(R):R===124?(s=!0,e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),v):M(R)}function v(R){return Ge(R)?Qe(e,S,"whitespace")(R):S(R)}function S(R){return R===58?(a+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),E):R===45?(a+=1,E(R)):R===null||Oe(R)?A(R):M(R)}function E(R){return R===45?(e.enter("tableDelimiterFiller"),T(R)):M(R)}function T(R){return R===45?(e.consume(R),T):R===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),k):(e.exit("tableDelimiterFiller"),k(R))}function k(R){return Ge(R)?Qe(e,A,"whitespace")(R):A(R)}function A(R){return R===124?w(R):R===null||Oe(R)?!s||o!==a?M(R):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(R)):M(R)}function M(R){return n(R)}function N(R){return e.enter("tableRow"),P(R)}function P(R){return R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),P):R===null||Oe(R)?(e.exit("tableRow"),t(R)):Ge(R)?Qe(e,P,"whitespace")(R):(e.enter("data"),z(R))}function z(R){return R===null||R===124||vt(R)?(e.exit("data"),P(R)):(e.consume(R),R===92?B:z)}function B(R){return R===92||R===124?(e.consume(R),z):z(R)}}function Pfe(e,t){let n=-1,r=!0,o=0,a=[0,0,0,0],s=[0,0,0,0],u=!1,c=0,f,h,p;const g=new Rfe;for(;++n<e.length;){const y=e[n],w=y[1];y[0]==="enter"?w.type==="tableHead"?(u=!1,c!==0&&(k5(g,t,c,f,h),h=void 0,c=0),f={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},g.add(n,0,[["enter",f,t]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,p=void 0,a=[0,0,0,0],s=[0,n+1,0,0],u&&(u=!1,h={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},g.add(n,0,[["enter",h,t]])),o=w.type==="tableDelimiterRow"?2:h?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,s[2]===0&&(a[1]!==0&&(s[0]=s[1],p=Lp(g,t,a,o,void 0,p),a=[0,0,0,0]),s[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(s[0]=s[1],p=Lp(g,t,a,o,void 0,p)),a=s,s=[a[1],n,0,0])):w.type==="tableHead"?(u=!0,c=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(c=n,a[1]!==0?(s[0]=s[1],p=Lp(g,t,a,o,n,p)):s[1]!==0&&(p=Lp(g,t,s,o,n,p)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(s[3]=n)}for(c!==0&&k5(g,t,c,f,h),g.consume(t.events),n=-1;++n<t.events.length;){const y=t.events[n];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=Ofe(t.events,n))}return e}function Lp(e,t,n,r,o,a){const s=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",u="tableContent";n[0]!==0&&(a.end=Object.assign({},cl(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));const c=cl(t.events,n[1]);if(a={type:s,start:Object.assign({},c),end:Object.assign({},c)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){const f=cl(t.events,n[2]),h=cl(t.events,n[3]),p={type:u,start:Object.assign({},f),end:Object.assign({},h)};if(e.add(n[2],0,[["enter",p,t]]),r!==2){const g=t.events[n[2]],y=t.events[n[3]];if(g[1].end=Object.assign({},y[1].end),g[1].type="chunkText",g[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,v=n[3]-n[2]-1;e.add(w,v,[])}}e.add(n[3]+1,0,[["exit",p,t]])}return o!==void 0&&(a.end=Object.assign({},cl(t.events,o)),e.add(o,0,[["exit",a,t]]),a=void 0),a}function k5(e,t,n,r,o){const a=[],s=cl(t.events,n);o&&(o.end=Object.assign({},s),a.push(["exit",o,t])),r.end=Object.assign({},s),a.push(["exit",r,t]),e.add(n+1,0,a)}function cl(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const jfe={name:"tasklistCheck",tokenize:zfe};function Ife(){return{text:{91:jfe}}}function zfe(e,t,n){const r=this;return o;function o(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),a)}function a(c){return vt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),s):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),s):n(c)}function s(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(c)}function u(c){return Oe(c)?t(c):Ge(c)?e.check({tokenize:Lfe},t,n)(c):n(c)}}function Lfe(e,t,n){return Qe(e,r,"whitespace");function r(o){return o===null?n(o):t(o)}}function Ffe(e){return s3([cfe(),xfe(),Afe(e),Nfe(),Ife()])}const $fe={};function Bfe(e){const t=this,n=e||$fe,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(Ffe(n)),a.push(afe()),s.push(sfe(n))}const g1=({availableModule:e})=>{const[t,n]=_.useState(!1),r=()=>n(!t),o=150,a=e.description.length>o?e.description.substring(0,o)+"...":e.description;return x.jsxs("div",{className:"module-description",children:[x.jsx(Aue,{remarkPlugins:[Bfe],children:t?e.description.replace(/\\n/g,`
824
824
  `):a.replace(/\\n/g,`
825
- `)}),e.description.length>o&&x.jsx("button",{onClick:r,className:"toggle-description",children:t?"Show less":"Show more"})]})},T5=[">=","==","<=","<",">"],Fp=">=",y1=({availableModule:e,on_change:t})=>{const[n,r]=_.useState(e.version||"latest"),[o,a]=_.useState(Fp),s=c=>{const f=c.target.value;r(f),t(f!=="latest"?o+f:f)},u=c=>{c.target.value!==o&&T5.includes(c.target.value)&&(a(c.target.value),n!=="latest"&&t(c.target.value+n))};return e.releases&&!e.releases.includes(n)&&e.releases.unshift(n),x.jsxs(x.Fragment,{children:[x.jsx("select",{value:o,onChange:u,children:T5.map(c=>x.jsx("option",{value:c,children:c},c))}),x.jsx("select",{onChange:s,value:n,children:e.releases&&e.releases.map(c=>x.jsx("option",{value:c,children:c},c))})]})},Hfe=({availableModule:e,on_remove:t,on_update:n})=>{const[r,o]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:o}),x.jsx("button",{className:"update-button",disabled:r===e.version,onClick:()=>{n(e,r)},children:"Update"}),x.jsx("button",{className:"remove-button",onClick:()=>{t(e)},children:"Remove"})]})]})},Vfe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},Ufe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},qfe=({ins:e})=>{const[t,n]=_.useState(e.name),r=tt(),{lib:o}=_n(),a=()=>{r.worker&&o?.remove_external_worker(e.uuid,e.nodeclassid)},s=()=>{r.worker&&(r.worker.update_external_worker(e.uuid,e.nodeclassid,{name:t}),e.name=t)};return x.jsx(x.Fragment,{children:x.jsx(Lo,{title:e.name,description:"Settings for"+e.name,trigger:x.jsx("div",{children:"Settings"}),buttons:[{text:"Save",onClick:s,close:!0},{text:"Delete",onClick:a,close:!0}],children:x.jsx("div",{children:x.jsxs("div",{children:[x.jsx("label",{htmlFor:"name",children:"Name: "}),x.jsx("input",{type:"text",name:"name",value:t,onChange:u=>n(u.target.value),className:"styledinput"})]})})})})},Gfe=({ins:e,lib:t,filter:n="",parentkey:r})=>{const[o,a]=_.useState(!1),s=()=>a(!o),u=t?.nodes?.filter(c=>c.node_id.toLowerCase().includes(n.toLowerCase()));return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:e.name,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",title:e.uuid,children:x.jsx(qfe,{ins:e})}),t&&x.jsxs(x.Fragment,{children:[u&&x.jsx(x.Fragment,{children:u.map(c=>x.jsx(N2,{item:c},r+c.node_id))}),t.subshelves.map(c=>x.jsx(_b,{item:c,filter:n,parentkey:r+c.name},r+c.name))]})]})})})]})},Yfe=({item:e,mod:t,lib:n})=>{const{lib:r}=_n(),[o,a]=_.useState(!1),s=()=>a(!o),u=_.useCallback(()=>{r?.add_external_worker({module:t,cls_module:e.module,cls_name:e.class_name})},[r,t,e]),c=h=>{h.detail===2&&u()},f=e.name||e.module+"."+e.class_name;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:f,children:[x.jsx("div",{className:"shelftitle_text",children:f}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",onClick:c,title:e.name,children:"New Instance"}),e.instances.map(h=>x.jsx(Gfe,{ins:h,lib:n?.subshelves.find(p=>p.name===h.uuid),parentkey:h.uuid},h.uuid))]})})})]})},Wfe=({externalworkermod:e,lib:t})=>{const[n,r]=_.useState(!1),o=()=>r(!n),a=n;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:o,style:{cursor:"pointer"},title:e.module,children:[x.jsx("div",{className:"shelftitle_text",children:e.module}),x.jsx("div",{className:"expandicon "+(a?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(a?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:e.worker_classes.map(s=>x.jsx(Yfe,{item:s,mod:e.module,lib:t},s.module+s.class_name))})}),x.jsx("hr",{})]})},Xfe=()=>{const e=tt(),t=e.lib.libstate(),n=tt(),r=n.local_settings(f=>f.view_settings.expand_lib),o=f=>{n.update_view_settings({expand_lib:f})},a=rre("m"),[s,u]=_.useState(""),c=e.worker?.state(f=>f.is_open)??!1;return x.jsx(tb,{maxSize:a?"100%":"18.75rem",direction:a?"down":"right",containerClassName:"pos-left pos-top bg1 h-12",onExpandChange:o,expanded:r===void 0?!0:r,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsxs("div",{className:"libcontainer",children:[x.jsxs("div",{className:"library",children:[x.jsx("div",{className:"libtitle",children:"Lib"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx(Cie,{filter:s,setFilter:u}),x.jsx("div",{className:"vscrollcontainer",children:t.lib.shelves.filter(f=>f.name!=="_external_worker").map(f=>x.jsx(_b,{item:f,filter:s,parentkey:f.name},f.name))}),x.jsx("hr",{}),x.jsx("div",{className:"libtitle",children:"External Worker"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx("div",{className:"vscrollcontainer",children:t.external_worker?.map(f=>x.jsx(Wfe,{externalworkermod:f,lib:t.lib.shelves.find(h=>h.name==="_external_worker")},f.module))}),x.jsx("hr",{})]}),c&&x.jsx("div",{className:"addlib",children:x.jsx(kie,{children:x.jsx("button",{children:"Manage Libraries"})})})]})})},Kfe=({fnrf_zst:e,header:t,flow:n,library:r})=>{const[o,a]=_.useState(e.options.worker),s=_.useRef(null);e.workermanager&&(e.workermanager.on_setWorker=a),e.set_worker(o),_.useEffect(()=>{e.auto_progress()},[]),_.useEffect(()=>{e.local_state.setState({funcnodescontainerRef:s.current})},[s]);const u=e.plugins();return x.jsx(Hne,{plugins:u,fnrf_zst:e,children:x.jsx(NB,{children:x.jsx(FC.Provider,{value:e,children:x.jsx(bi,{asChild:!0,children:x.jsx(Ao,{asChild:!0,children:x.jsx(EN,{style:{height:"100%",width:"100%",display:"flex",flexDirection:"column",flex:1},children:x.jsxs("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer",children:[t.show&&x.jsx(Eie,{...t}),x.jsxs("div",{className:"funcnodesreactflowbody",children:[x.jsx(noe,{...n}),o&&r.show&&x.jsx(Xfe,{}),o&&n.showNodeSettings&&x.jsx(lre,{})]}),x.jsxs("div",{className:"funcnodesflaotingmenu",children:[x.jsx(Ao.OutFullScreen,{children:n.allowExpand&&x.jsxs(bi.Trigger,{children:[x.jsx(bi.Expanded,{children:x.jsx(_B,{size:"xl",style:{padding:"4px"}})}),x.jsx(bi.Collapsed,{children:x.jsx(SB,{size:"xl",style:{padding:"4px"}})})]})}),n.allowFullScreen&&x.jsxs(Ao.Trigger,{children:[x.jsx(Ao.OutFullScreen,{children:x.jsx(LC,{size:"xl",style:{padding:"4px"}})}),x.jsx(Ao.InFullScreen,{children:x.jsx(wB,{size:"xl",style:{padding:"4px"}})})]})]})]})})})})})})})};class fl{constructor(t){this.context=t}get nodespaceManager(){return this.context.rf.getNodespaceManager()}get libManager(){return this.context.rf.getLibManager()}get workerManager(){return this.context.rf.getWorkerManager()}get stateManager(){return this.context.rf.getStateManager()}get pluginManager(){return this.context.rf.getPluginManager()}get reactFlowManager(){return this.context.rf.getReactFlowManager()}}const A5=({src_nid:e,src_ioid:t,trg_nid:n,trg_ioid:r})=>[`${e}:${t}`,`${n}:${r}`].sort().join("--"),Zfe=({})=>{const e=new Map;return{nodesstates:e,get_node:(t,n=!0)=>{const r=e.get(t);if(!r&&n){const o=e.keys();throw new Error(`Node ${t} not found, available nodes: ${Array.from(o)}`)}return r}}};class Qfe extends fl{constructor(t){super(t),this.on_node_action=n=>{switch(n.type){case"add":return this._add_node(n);case"update":return this._update_node(n);case"delete":return this._delete_node(n);case"error":return this._error_action(n);case"trigger":return this._trigger_action(n);default:this.context.rf.logger.error("Unknown node action",n);return}},this.on_edge_action=n=>{const r=this.reactFlowManager.useReactFlowStore.getState();switch(n.type){case"add":if(n.from_remote){const o=r.getEdges(),a=A5(n);if(o.some(u=>u.id===a))return;const s={id:a,source:n.src_nid,target:n.trg_nid,sourceHandle:n.src_ioid,targetHandle:n.trg_ioid,className:"funcnodes-edge animated",zIndex:1003};this.context.rf.logger.info("Adding edge",s),r.update_edges([...o,s]),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;case"delete":if(n.from_remote){const o=r.getEdges(),a=A5(n);this.context.rf.logger.info("Deleting edge",a);const s=o.filter(u=>u.id!==a);r.update_edges(s),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;default:this.context.rf.logger.error("Unknown edge action",n)}},this.on_group_action=n=>{switch(n.type){case"set":return this._set_groups(n.groups);case"update":return this._update_group(n);default:this.context.rf.logger.error("Unknown group action",n)}},this.clear_all=()=>{this.workerManager.worker?.disconnect(),this.workerManager.set_worker(void 0),this.workerManager.workermanager?.setWorker(void 0),this.libManager.lib.libstate.getState().set({lib:{shelves:[]},external_worker:[]}),this.nodespace.nodesstates.clear(),this.reactFlowManager.useReactFlowStore.getState().update_nodes([]),this.reactFlowManager.useReactFlowStore.getState().update_edges([]),this.stateManager.auto_progress()},this.center_node=n=>{if(!this.reactFlowManager.rf_instance)return;n=Array.isArray(n)?n:[n];const r=this.reactFlowManager.useReactFlowStore.getState().getNodes().filter(o=>n.includes(o.id));r.length>0&&this.reactFlowManager.rf_instance?.fitView({padding:.2,nodes:r})},this.auto_resize_group=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n);if(o===void 0||o.type!=="group")return;const a=o.data.group.node_ids.map(h=>r.getNode(h)).filter(h=>h!==void 0),s=o.data.group.child_groups.map(h=>r.getNode(h)).filter(h=>h!==void 0),u=[...a,...s],c=this.reactFlowManager.rf_instance?.getNodesBounds(u);if(c===void 0)return;const f={...o,position:{x:c.x,y:c.y},height:c.height,width:c.width};f.data.group.position=[c.x,c.y],r.partial_update_nodes([f])},this.change_group_position=n=>{if(n.position===void 0)return;const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const a=[...o.data.group.node_ids,...o.data.group.child_groups],s=this.reactFlowManager.rf_instance?.getNodesBounds(a);if(s===void 0)return;const u=n.position.x-s?.x,c=n.position.y-s?.y,f=[];for(const h of a){const p=r.getNode(h);p!==void 0&&f.push({id:h,type:"position",position:{x:p.position.x+u,y:p.position.y+c}})}r.onNodesChange(f)},this.change_fn_node_position=n=>{n.position!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:pos":[n.position.x,n.position.y]}},from_remote:!1})},this.change_group_dimensions=n=>{if(n.dimensions===void 0)return;const o=this.reactFlowManager.useReactFlowStore.getState().getNode(n.id);o!==void 0&&this.reactFlowManager.useReactFlowStore.getState().partial_update_nodes($v([n],[o]))},this.change_fn_node_dimensions=n=>{n.dimensions!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:size":[n.dimensions.width,n.dimensions.height]}},from_remote:!1})},this._update_group=n=>{if(n.from_remote){const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const{new_obj:a,change:s}=ha(o.data.group,n.group);s&&(o.data.group=a),r.partial_update_nodes([o])}else this.workerManager.worker&&this.workerManager.worker.api.group.locally_update_group(n)},this._set_groups=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),{default_nodes:o}=lb(r.getNodes()),a=[...o],s={};for(const c in n){const f=n[c];for(const p of f.node_ids)s[p]=c;for(const p of f.child_groups)s[p]=c;f.position===void 0&&(f.position=[0,0]);const h={id:c,type:"group",data:{group:n[c],id:c},position:{x:f.position[0],y:f.position[1]},zIndex:2};f.parent_group&&(h.data.groupID=f.parent_group),a.push(h)}for(const c of a)c.id in s?c.data.groupID=s[c.id]:c.data.groupID=void 0;const u=ub(a);r.update_nodes(u);for(const c of u.reverse())c.type==="group"&&this.auto_resize_group(c.id)},this._add_node=n=>{this.context.rf.logger.info("add node",n);const r=this.reactFlowManager.useReactFlowStore.getState();if(n.from_remote){let o=this.nodespace.get_node(n.node.id,!1);if(o)return;if(!o)try{o=Wre(n.node),this.nodespace.nodesstates.set(n.node.id,o)}catch(c){this.context.rf.logger.error(`Failed to create node store ${c}`);return}const a=o.getState();this.context.rf.logger.info("Add node",a.id,a.name);const s=toe(o,this.context.rf),u=[...r.getNodes(),s];this.reactFlowManager.useReactFlowStore.getState().update_nodes(u);for(const c of s.io_order)this.workerManager.worker?.api.node.get_io_value({nid:s.id,ioid:c});return setTimeout(()=>{this.workerManager.worker?.api.hooks.call_hooks("node_added",{node:a.id})},0),a}},this._update_node=n=>{if(Object.keys(n.node).length===0){this.context.rf.logger.error("Node update is empty",new Error(JSON.stringify(n)));return}if(n.node.in_trigger&&(n.node.error=void 0),n.from_remote){const r=this.nodespace.get_node(n.id,!1);if(!r){console.error("Node not found to update",n.id);return}return r.update(n.node),r.getState()}else this.workerManager.worker&&this.workerManager.worker.api.node.locally_update_node(n)},this._delete_node=n=>{this.context.rf.logger.info("Deleting node",n.id),n.from_remote?this.reactFlowManager.useReactFlowStore.getState().onNodesChange([{type:"remove",id:n.id}]):this.workerManager.worker?.api.node.remove_node(n.id)},this._error_action=n=>(this.context.rf.logger.error("Error",new Error(JSON.stringify(n))),this.on_node_action({type:"update",id:n.id,node:{in_trigger:!1,error:n.error},from_remote:!0})),this._trigger_action=n=>{if(n.from_remote)return this.on_node_action({type:"update",id:n.id,node:{in_trigger:!0,error:void 0},from_remote:!0});this.workerManager.worker?.api.node.trigger_node(n.id)},this.nodespace=Zfe({})}center_all(){this.reactFlowManager.rf_instance?.fitView({padding:.2})}}const Jfe=()=>({libstate:gr((e,t)=>({lib:{shelves:[]},external_worker:[],set:n=>e(r=>({...r,...n})),get_lib:()=>t().lib,get_external_worker:()=>t().external_worker}))});class ede extends fl{constructor(t){super(t),this.lib=Jfe()}}class tde extends fl{constructor(t){super(t),this.workers=gr((n,r)=>({})),this.workerstate=gr((n,r)=>({is_open:!1}))}set_worker(t){t!==this.worker&&(this._unsubscribeFromWorker&&(this._unsubscribeFromWorker(),this._unsubscribeFromWorker=void 0),t&&(this._unsubscribeFromWorker=t.state.subscribe(n=>{this.workerstate.setState(n)}),this.workerstate.setState(t.state.getState())),this.worker=t,t?.set_zustand(this.context.rf))}}class nde extends fl{constructor(t){super(t),this.progress_state=gr((n,r)=>({message:"please select worker",status:"info",progress:0,blocking:!1})),this.local_settings=gr((n,r)=>({view_settings:{expand_node_props:!1,expand_lib:!1}})),this.local_state=gr((n,r)=>({selected_nodes:[],selected_edges:[],selected_groups:[],funcnodescontainerRef:null}))}set_progress(t){if(t.message==="")return this.auto_progress();const n=this.progress_state.getState(),{new_obj:r,change:o}=ha(n,t);o&&this.progress_state.setState(r)}auto_progress(){const t=this.workerManager.workermanager,n=this.workerManager.worker;if(t!==void 0&&!t.open)return this.set_progress({progress:0,message:"connecting to worker manager",status:"error",blocking:!1});if(n===void 0)return this.set_progress({progress:0,message:"please select worker",status:"error",blocking:!1});if(!n.is_open)return this.set_progress({progress:0,message:"connecting to worker",status:"info",blocking:!0});this.set_progress({progress:1,message:"running",status:"info",blocking:!1})}update_view_settings(t){UN(this.local_settings,{view_settings:t})}}const R5="1.0.0",rde=["1"],ode=e=>{if(!e.v.toString().includes(".")||!rde.includes(e.v.toString().split(".")[0]))throw new Error(`Unsupported version: ${e.v}`);return{...e,v:R5}};class ide extends fl{constructor(t){super(t),this.plugins=gr((n,r)=>({})),this.render_options=gr((n,r)=>({}))}add_plugin(t,n){if(console.log("add_plugin",t,n),n!==void 0)try{const r=ode(n);this.plugins.setState(o=>({...o,[t]:r}))}catch(r){r instanceof Error?this.context.rf.logger.error(`Error loading plugin ${t}`,r):this.context.rf.logger.error(`Error loading plugin ${t}`,new Error(String(r))),this.stateManager.toaster?.error({title:"Error",description:`Error loading plugin ${t}: ${r instanceof Error?r.message:String(r)}`,duration:5e3})}}update_render_options(t){UN(this.render_options,t)}async add_packed_plugin(t,n){if(n.js)for(const r of n.js){const o=document.createElement("script");o.text=atob(r),document.body.appendChild(o)}if(n.css)for(const r of n.css){const o=document.createElement("style");o.innerHTML=atob(r),document.head.appendChild(o)}if(n.module!==void 0){const r=atob(n.module);try{const a=await new Function("React","FuncNodesReactFlow",`
825
+ `)}),e.description.length>o&&x.jsx("button",{onClick:r,className:"toggle-description",children:t?"Show less":"Show more"})]})},T5=[">=","==","<=","<",">"],Fp=">=",y1=({availableModule:e,on_change:t})=>{const[n,r]=_.useState(e.version||"latest"),[o,a]=_.useState(Fp),s=c=>{const f=c.target.value;r(f),t(f!=="latest"?o+f:f)},u=c=>{c.target.value!==o&&T5.includes(c.target.value)&&(a(c.target.value),n!=="latest"&&t(c.target.value+n))};return e.releases&&!e.releases.includes(n)&&e.releases.unshift(n),x.jsxs(x.Fragment,{children:[x.jsx("select",{value:o,onChange:u,children:T5.map(c=>x.jsx("option",{value:c,children:c},c))}),x.jsx("select",{onChange:s,value:n,children:e.releases&&e.releases.map(c=>x.jsx("option",{value:c,children:c},c))})]})},Hfe=({availableModule:e,on_remove:t,on_update:n})=>{const[r,o]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:o}),x.jsx("button",{className:"update-button",disabled:r===e.version,onClick:()=>{n(e,r)},children:"Update"}),x.jsx("button",{className:"remove-button",onClick:()=>{t(e)},children:"Remove"})]})]})},Vfe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},Ufe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},qfe=({ins:e})=>{const[t,n]=_.useState(e.name),r=tt(),{lib:o}=_n(),a=()=>{r.worker&&o?.remove_external_worker(e.uuid,e.nodeclassid)},s=()=>{r.worker&&(r.worker.update_external_worker(e.uuid,e.nodeclassid,{name:t}),e.name=t)};return x.jsx(x.Fragment,{children:x.jsx(Lo,{title:e.name,description:"Settings for"+e.name,trigger:x.jsx("div",{children:"Settings"}),buttons:[{text:"Save",onClick:s,close:!0},{text:"Delete",onClick:a,close:!0}],children:x.jsx("div",{children:x.jsxs("div",{children:[x.jsx("label",{htmlFor:"name",children:"Name: "}),x.jsx("input",{type:"text",name:"name",value:t,onChange:u=>n(u.target.value),className:"styledinput"})]})})})})},Gfe=({ins:e,lib:t,filter:n="",parentkey:r})=>{const[o,a]=_.useState(!1),s=()=>a(!o),u=t?.nodes?.filter(c=>c.node_id.toLowerCase().includes(n.toLowerCase()));return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:e.name,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",title:e.uuid,children:x.jsx(qfe,{ins:e})}),t&&x.jsxs(x.Fragment,{children:[u&&x.jsx(x.Fragment,{children:u.map(c=>x.jsx(N2,{item:c},r+c.node_id))}),t.subshelves.map(c=>x.jsx(_b,{item:c,filter:n,parentkey:r+c.name},r+c.name))]})]})})})]})},Yfe=({item:e,mod:t,lib:n})=>{const{lib:r}=_n(),[o,a]=_.useState(!1),s=()=>a(!o),u=_.useCallback(()=>{r?.add_external_worker({module:t,cls_module:e.module,cls_name:e.class_name})},[r,t,e]),c=h=>{h.detail===2&&u()},f=e.name||e.module+"."+e.class_name;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:f,children:[x.jsx("div",{className:"shelftitle_text",children:f}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",onClick:c,title:e.name,children:"New Instance"}),e.instances.map(h=>x.jsx(Gfe,{ins:h,lib:n?.subshelves.find(p=>p.name===h.uuid),parentkey:h.uuid},h.uuid))]})})})]})},Wfe=({externalworkermod:e,lib:t})=>{const[n,r]=_.useState(!1),o=()=>r(!n),a=n;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:o,style:{cursor:"pointer"},title:e.module,children:[x.jsx("div",{className:"shelftitle_text",children:e.module}),x.jsx("div",{className:"expandicon "+(a?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(a?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:e.worker_classes.map(s=>x.jsx(Yfe,{item:s,mod:e.module,lib:t},s.module+s.class_name))})}),x.jsx("hr",{})]})},Xfe=()=>{const e=tt(),t=e.lib.libstate(),n=tt(),r=n.local_settings(f=>f.view_settings.expand_lib),o=f=>{n.update_view_settings({expand_lib:f})},a=rre("m"),[s,u]=_.useState(""),c=e.worker?.state(f=>f.is_open)??!1;return x.jsx(tb,{maxSize:a?"100%":"18.75rem",direction:a?"down":"right",containerClassName:"pos-left pos-top bg1 h-12",onExpandChange:o,expanded:r===void 0?!0:r,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsxs("div",{className:"libcontainer",children:[x.jsxs("div",{className:"library",children:[x.jsx("div",{className:"libtitle",children:"Lib"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx(Cie,{filter:s,setFilter:u}),x.jsx("div",{className:"vscrollcontainer",children:t.lib.shelves.filter(f=>f.name!=="_external_worker").map(f=>x.jsx(_b,{item:f,filter:s,parentkey:f.name},f.name))}),x.jsx("hr",{}),x.jsx("div",{className:"libtitle",children:"External Worker"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx("div",{className:"vscrollcontainer",children:t.external_worker?.map(f=>x.jsx(Wfe,{externalworkermod:f,lib:t.lib.shelves.find(h=>h.name==="_external_worker")},f.module))}),x.jsx("hr",{})]}),c&&x.jsx("div",{className:"addlib",children:x.jsx(kie,{children:x.jsx("button",{children:"Manage Libraries"})})})]})})},Kfe=({fnrf_zst:e,header:t,flow:n,library:r})=>{const[o,a]=_.useState(e.options.worker),s=_.useRef(null);e.workermanager&&(e.workermanager.on_setWorker=a),e.set_worker(o),_.useEffect(()=>{e.auto_progress()},[]),_.useEffect(()=>{e.local_state.setState({funcnodescontainerRef:s.current})},[s]);const u=e.plugins();return x.jsx(Hne,{plugins:u,fnrf_zst:e,children:x.jsx(NB,{children:x.jsx(FC.Provider,{value:e,children:x.jsx(bi,{asChild:!0,children:x.jsx(Ao,{asChild:!0,children:x.jsx(EN,{style:{height:"100%",width:"100%",display:"flex",flexDirection:"column",flex:1},children:x.jsxs("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer",children:[t.show&&x.jsx(Eie,{...t}),x.jsxs("div",{className:"funcnodesreactflowbody",children:[x.jsx(noe,{...n}),o&&r.show&&x.jsx(Xfe,{}),o&&n.showNodeSettings&&x.jsx(lre,{})]}),x.jsxs("div",{className:"funcnodesflaotingmenu",children:[x.jsx(Ao.OutFullScreen,{children:n.allowExpand&&x.jsxs(bi.Trigger,{children:[x.jsx(bi.Expanded,{children:x.jsx(_B,{size:"xl",style:{padding:"4px"}})}),x.jsx(bi.Collapsed,{children:x.jsx(SB,{size:"xl",style:{padding:"4px"}})})]})}),n.allowFullScreen&&x.jsxs(Ao.Trigger,{children:[x.jsx(Ao.OutFullScreen,{children:x.jsx(LC,{size:"xl",style:{padding:"4px"}})}),x.jsx(Ao.InFullScreen,{children:x.jsx(wB,{size:"xl",style:{padding:"4px"}})})]})]})]})})})})})})})};class fl{constructor(t){this.context=t}get nodespaceManager(){return this.context.rf.getNodespaceManager()}get libManager(){return this.context.rf.getLibManager()}get workerManager(){return this.context.rf.getWorkerManager()}get stateManager(){return this.context.rf.getStateManager()}get pluginManager(){return this.context.rf.getPluginManager()}get reactFlowManager(){return this.context.rf.getReactFlowManager()}}const A5=({src_nid:e,src_ioid:t,trg_nid:n,trg_ioid:r})=>[`${e}:${t}`,`${n}:${r}`].sort().join("--"),Zfe=({})=>{const e=new Map;return{nodesstates:e,get_node:(t,n=!0)=>{const r=e.get(t);if(!r&&n){const o=e.keys();throw new Error(`Node ${t} not found, available nodes: ${Array.from(o)}`)}return r}}};class Qfe extends fl{constructor(t){super(t),this.on_node_action=n=>{switch(n.type){case"add":return this._add_node(n);case"update":return this._update_node(n);case"delete":return this._delete_node(n);case"error":return this._error_action(n);case"trigger":return this._trigger_action(n);default:this.context.rf.logger.error("Unknown node action",n);return}},this.on_edge_action=n=>{const r=this.reactFlowManager.useReactFlowStore.getState();switch(n.type){case"add":if(n.from_remote){const o=r.getEdges(),a=A5(n);if(o.some(u=>u.id===a))return;const s={id:a,source:n.src_nid,target:n.trg_nid,sourceHandle:n.src_ioid,targetHandle:n.trg_ioid,className:"funcnodes-edge animated",zIndex:1003};this.context.rf.logger.info("Adding edge",s),r.update_edges([...o,s]),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;case"delete":if(n.from_remote){const o=r.getEdges(),a=A5(n);this.context.rf.logger.info("Deleting edge",a);const s=o.filter(u=>u.id!==a);r.update_edges(s),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;default:this.context.rf.logger.error("Unknown edge action",n)}},this.on_group_action=n=>{switch(n.type){case"set":return this._set_groups(n.groups);case"update":return this._update_group(n);default:this.context.rf.logger.error("Unknown group action",n)}},this.clear_all=()=>{this.workerManager.worker?.disconnect(),this.workerManager.set_worker(void 0),this.workerManager.workermanager?.setWorker(void 0),this.libManager.lib.libstate.getState().set({lib:{shelves:[]},external_worker:[]}),this.nodespace.nodesstates.clear(),this.reactFlowManager.useReactFlowStore.getState().update_nodes([]),this.reactFlowManager.useReactFlowStore.getState().update_edges([]),this.stateManager.auto_progress()},this.center_node=n=>{if(!this.reactFlowManager.rf_instance)return;n=Array.isArray(n)?n:[n];const r=this.reactFlowManager.useReactFlowStore.getState().getNodes().filter(o=>n.includes(o.id));r.length>0&&this.reactFlowManager.rf_instance?.fitView({padding:.2,nodes:r})},this.auto_resize_group=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n);if(o===void 0||o.type!=="group")return;const a=o.data.group.node_ids.map(h=>r.getNode(h)).filter(h=>h!==void 0),s=o.data.group.child_groups.map(h=>r.getNode(h)).filter(h=>h!==void 0),u=[...a,...s],c=this.reactFlowManager.rf_instance?.getNodesBounds(u);if(c===void 0)return;const f={...o,position:{x:c.x,y:c.y},height:c.height,width:c.width};f.data.group.position=[c.x,c.y],r.partial_update_nodes([f])},this.change_group_position=n=>{if(n.position===void 0)return;const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const a=[...o.data.group.node_ids,...o.data.group.child_groups],s=this.reactFlowManager.rf_instance?.getNodesBounds(a);if(s===void 0)return;const u=n.position.x-s?.x,c=n.position.y-s?.y,f=[];for(const h of a){const p=r.getNode(h);p!==void 0&&f.push({id:h,type:"position",position:{x:p.position.x+u,y:p.position.y+c}})}r.onNodesChange(f)},this.change_fn_node_position=n=>{n.position!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:pos":[n.position.x,n.position.y]}},from_remote:!1})},this.change_group_dimensions=n=>{if(n.dimensions===void 0)return;const o=this.reactFlowManager.useReactFlowStore.getState().getNode(n.id);o!==void 0&&this.reactFlowManager.useReactFlowStore.getState().partial_update_nodes($v([n],[o]))},this.change_fn_node_dimensions=n=>{n.dimensions!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:size":[n.dimensions.width,n.dimensions.height]}},from_remote:!1})},this._update_group=n=>{if(n.from_remote){const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const{new_obj:a,change:s}=ha(o.data.group,n.group);s&&(o.data.group=a),r.partial_update_nodes([o])}else this.workerManager.worker&&this.workerManager.worker.api.group.locally_update_group(n)},this._set_groups=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),{default_nodes:o}=lb(r.getNodes()),a=[...o],s={};for(const c in n){const f=n[c];for(const p of f.node_ids)s[p]=c;for(const p of f.child_groups)s[p]=c;f.position===void 0&&(f.position=[0,0]);const h={id:c,type:"group",data:{group:n[c],id:c},position:{x:f.position[0],y:f.position[1]},zIndex:2};f.parent_group&&(h.data.groupID=f.parent_group),a.push(h)}for(const c of a)c.id in s?c.data.groupID=s[c.id]:c.data.groupID=void 0;const u=ub(a);r.update_nodes(u);for(const c of u.reverse())c.type==="group"&&this.auto_resize_group(c.id)},this._add_node=n=>{this.context.rf.logger.info("add node",n);const r=this.reactFlowManager.useReactFlowStore.getState();if(n.from_remote){let o=this.nodespace.get_node(n.node.id,!1);if(o)return;if(!o)try{o=Wre(n.node),this.nodespace.nodesstates.set(n.node.id,o)}catch(c){this.context.rf.logger.error(`Failed to create node store ${c}`);return}const a=o.getState();this.context.rf.logger.info("Add node",a.id,a.name);const s=toe(o,this.context.rf),u=[...r.getNodes(),s];this.reactFlowManager.useReactFlowStore.getState().update_nodes(u);for(const c of s.io_order)this.workerManager.worker?.api.node.get_io_value({nid:s.id,ioid:c});return setTimeout(()=>{this.workerManager.worker?.api.hooks.call_hooks("node_added",{node:a.id})},0),a}},this._update_node=n=>{if(Object.keys(n.node).length===0){this.context.rf.logger.error("Node update is empty",new Error(JSON.stringify(n)));return}if(n.node.in_trigger&&(n.node.error=void 0),n.from_remote){const r=this.nodespace.get_node(n.id,!1);if(!r){console.error("Node not found to update",n.id);return}return r.update(n.node),r.getState()}else this.workerManager.worker&&this.workerManager.worker.api.node.locally_update_node(n)},this._delete_node=n=>{this.context.rf.logger.info("Deleting node",n.id),n.from_remote?this.reactFlowManager.useReactFlowStore.getState().onNodesChange([{type:"remove",id:n.id}]):this.workerManager.worker?.api.node.remove_node(n.id)},this._error_action=n=>(this.context.rf.logger.error("Error",new Error(JSON.stringify(n))),this.on_node_action({type:"update",id:n.id,node:{in_trigger:!1,error:n.error},from_remote:!0})),this._trigger_action=n=>{if(n.from_remote)return this.on_node_action({type:"update",id:n.id,node:{in_trigger:!0,error:void 0},from_remote:!0});this.workerManager.worker?.api.node.trigger_node(n.id)},this.nodespace=Zfe({})}center_all(){this.reactFlowManager.rf_instance?.fitView({padding:.2})}}const Jfe=()=>({libstate:gr((e,t)=>({lib:{shelves:[]},external_worker:[],set:n=>e(r=>({...r,...n})),get_lib:()=>t().lib,get_external_worker:()=>t().external_worker}))});class ede extends fl{constructor(t){super(t),this.lib=Jfe()}}class tde extends fl{constructor(t){super(t),this.workers=gr((n,r)=>({})),this.workerstate=gr((n,r)=>({is_open:!1}))}set_worker(t){t!==this.worker&&(this._unsubscribeFromWorker&&(this._unsubscribeFromWorker(),this._unsubscribeFromWorker=void 0),t&&(this._unsubscribeFromWorker=t.state.subscribe(n=>{this.workerstate.setState(n)}),this.workerstate.setState(t.state.getState())),this.worker=t,t?.set_zustand(this.context.rf))}}class nde extends fl{constructor(t){super(t),this.progress_state=gr((n,r)=>({message:"please select worker",status:"info",progress:0,blocking:!1})),this.local_settings=gr((n,r)=>({view_settings:{expand_node_props:!1,expand_lib:!1}})),this.local_state=gr((n,r)=>({selected_nodes:[],selected_edges:[],selected_groups:[],funcnodescontainerRef:null}))}set_progress(t){if(t.message==="")return this.auto_progress();const n=this.progress_state.getState(),{new_obj:r,change:o}=ha(n,t);o&&this.progress_state.setState(r)}auto_progress(){const t=this.workerManager.workermanager,n=this.workerManager.worker;if(t!==void 0&&!t.open)return this.set_progress({progress:0,message:"connecting to worker manager",status:"error",blocking:!1});if(n===void 0)return this.set_progress({progress:0,message:"please select worker",status:"error",blocking:!1});if(!n.is_open)return this.set_progress({progress:0,message:"connecting to worker",status:"info",blocking:!0});this.set_progress({progress:1,message:"running",status:"info",blocking:!1})}update_view_settings(t){UN(this.local_settings,{view_settings:t})}}const R5="1.0.0",rde=["1"],ode=e=>{if(!e.v.toString().includes(".")||!rde.includes(e.v.toString().split(".")[0]))throw new Error(`Unsupported version: ${e.v}`);return{...e,v:R5}};class ide extends fl{constructor(t){super(t),this.plugins=gr((n,r)=>({})),this.render_options=gr((n,r)=>({}))}add_plugin(t,n){if(n!==void 0)try{const r=ode(n);this.plugins.setState(o=>({...o,[t]:r}))}catch(r){r instanceof Error?this.context.rf.logger.error(`Error loading plugin ${t}`,r):this.context.rf.logger.error(`Error loading plugin ${t}`,new Error(String(r))),this.stateManager.toaster?.error({title:"Error",description:`Error loading plugin ${t}: ${r instanceof Error?r.message:String(r)}`,duration:5e3})}}update_render_options(t){UN(this.render_options,t)}async add_packed_plugin(t,n){if(n.js)for(const r of n.js){const o=document.createElement("script");o.text=atob(r),document.body.appendChild(o)}if(n.css)for(const r of n.css){const o=document.createElement("style");o.innerHTML=atob(r),document.head.appendChild(o)}if(n.module!==void 0){const r=atob(n.module);try{const a=await new Function("React","FuncNodesReactFlow",`
826
826
  return (async () => {
827
827
  ${r}
828
828
  return FuncNodesPlugin;