From cd04bc42e1915d24fb3e55d33e7a0c6950229aac Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 5 Apr 2025 06:19:23 +0800 Subject: [PATCH] Update webui assets --- .../api/webui/assets/{index-Bg3XABfE.js => index-Cb_7ABt2.js} | 2 +- lightrag/api/webui/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename lightrag/api/webui/assets/{index-Bg3XABfE.js => index-Cb_7ABt2.js} (96%) diff --git a/lightrag/api/webui/assets/index-Bg3XABfE.js b/lightrag/api/webui/assets/index-Cb_7ABt2.js similarity index 96% rename from lightrag/api/webui/assets/index-Bg3XABfE.js rename to lightrag/api/webui/assets/index-Cb_7ABt2.js index 3593652f..4d1b9337 100644 --- a/lightrag/api/webui/assets/index-Bg3XABfE.js +++ b/lightrag/api/webui/assets/index-Cb_7ABt2.js @@ -1108,7 +1108,7 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var EO;function Mre(){if(EO)return Jm;EO=1;var e=$f();function t(g,m){return g===m&&(g!==0||1/g===1/m)||g!==g&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(g,m){var b=m(),y=r({inst:{value:b,getSnapshot:m}}),v=y[0].inst,x=y[1];return o(function(){v.value=b,v.getSnapshot=m,c(v)&&x({inst:v})},[g,b,m]),a(function(){return c(v)&&x({inst:v}),g(function(){c(v)&&x({inst:v})})},[g]),s(b),b}function c(g){var m=g.getSnapshot;g=g.value;try{var b=m();return!n(g,b)}catch{return!0}}function d(g,m){return m()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return Jm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,Jm}var wO;function Pre(){return wO||(wO=1,Qm.exports=Mre()),Qm.exports}var Fre=Pre(),uu='[cmdk-group=""]',eb='[cmdk-group-items=""]',zre='[cmdk-group-heading=""]',PT='[cmdk-item=""]',xO=`${PT}:not([aria-disabled="true"])`,n0="cmdk-item-select",ui="data-value",Bre=(e,t,n)=>Lre(e,t,n),m5=w.createContext(void 0),rc=()=>w.useContext(m5),b5=w.createContext(void 0),FT=()=>w.useContext(b5),y5=w.createContext(void 0),v5=w.forwardRef((e,t)=>{let n=Ss(()=>{var U,P;return{search:"",value:(P=(U=e.value)!=null?U:e.defaultValue)!=null?P:"",filtered:{count:0,items:new Map,groups:new Set}}}),r=Ss(()=>new Set),a=Ss(()=>new Map),o=Ss(()=>new Map),s=Ss(()=>new Set),u=S5(e),{label:c,children:d,value:p,onValueChange:g,filter:m,shouldFilter:b,loop:y,disablePointerSelection:v=!1,vimBindings:x=!0,...A}=e,k=An(),R=An(),O=An(),N=w.useRef(null),C=Xre();vi(()=>{if(p!==void 0){let U=p.trim();n.current.value=U,_.emit()}},[p]),vi(()=>{C(6,B)},[]);let _=w.useMemo(()=>({subscribe:U=>(s.current.add(U),()=>s.current.delete(U)),snapshot:()=>n.current,setState:(U,P,K)=>{var ee,le,X;if(!Object.is(n.current[U],P)){if(n.current[U]=P,U==="search")$(),D(),C(1,H);else if(U==="value"&&(K||C(5,B),((ee=u.current)==null?void 0:ee.value)!==void 0)){let J=P??"";(X=(le=u.current).onValueChange)==null||X.call(le,J);return}_.emit()}},emit:()=>{s.current.forEach(U=>U())}}),[]),L=w.useMemo(()=>({value:(U,P,K)=>{var ee;P!==((ee=o.current.get(U))==null?void 0:ee.value)&&(o.current.set(U,{value:P,keywords:K}),n.current.filtered.items.set(U,I(P,K)),C(2,()=>{D(),_.emit()}))},item:(U,P)=>(r.current.add(U),P&&(a.current.has(P)?a.current.get(P).add(U):a.current.set(P,new Set([U]))),C(3,()=>{$(),D(),n.current.value||H(),_.emit()}),()=>{o.current.delete(U),r.current.delete(U),n.current.filtered.items.delete(U);let K=W();C(4,()=>{$(),(K==null?void 0:K.getAttribute("id"))===U&&H(),_.emit()})}),group:U=>(a.current.has(U)||a.current.set(U,new Set),()=>{o.current.delete(U),a.current.delete(U)}),filter:()=>u.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:k,inputId:O,labelId:R,listInnerRef:N}),[]);function I(U,P){var K,ee;let le=(ee=(K=u.current)==null?void 0:K.filter)!=null?ee:Bre;return U?le(U,n.current.search,P):0}function D(){if(!n.current.search||u.current.shouldFilter===!1)return;let U=n.current.filtered.items,P=[];n.current.filtered.groups.forEach(ee=>{let le=a.current.get(ee),X=0;le.forEach(J=>{let he=U.get(J);X=Math.max(he,X)}),P.push([ee,X])});let K=N.current;Q().sort((ee,le)=>{var X,J;let he=ee.getAttribute("id"),oe=le.getAttribute("id");return((X=U.get(oe))!=null?X:0)-((J=U.get(he))!=null?J:0)}).forEach(ee=>{let le=ee.closest(eb);le?le.appendChild(ee.parentElement===le?ee:ee.closest(`${eb} > *`)):K.appendChild(ee.parentElement===K?ee:ee.closest(`${eb} > *`))}),P.sort((ee,le)=>le[1]-ee[1]).forEach(ee=>{var le;let X=(le=N.current)==null?void 0:le.querySelector(`${uu}[${ui}="${encodeURIComponent(ee[0])}"]`);X==null||X.parentElement.appendChild(X)})}function H(){let U=Q().find(K=>K.getAttribute("aria-disabled")!=="true"),P=U==null?void 0:U.getAttribute(ui);_.setState("value",P||void 0)}function $(){var U,P,K,ee;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let le=0;for(let X of r.current){let J=(P=(U=o.current.get(X))==null?void 0:U.value)!=null?P:"",he=(ee=(K=o.current.get(X))==null?void 0:K.keywords)!=null?ee:[],oe=I(J,he);n.current.filtered.items.set(X,oe),oe>0&&le++}for(let[X,J]of a.current)for(let he of J)if(n.current.filtered.items.get(he)>0){n.current.filtered.groups.add(X);break}n.current.filtered.count=le}function B(){var U,P,K;let ee=W();ee&&(((U=ee.parentElement)==null?void 0:U.firstChild)===ee&&((K=(P=ee.closest(uu))==null?void 0:P.querySelector(zre))==null||K.scrollIntoView({block:"nearest"})),ee.scrollIntoView({block:"nearest"}))}function W(){var U;return(U=N.current)==null?void 0:U.querySelector(`${PT}[aria-selected="true"]`)}function Q(){var U;return Array.from(((U=N.current)==null?void 0:U.querySelectorAll(xO))||[])}function G(U){let P=Q()[U];P&&_.setState("value",P.getAttribute(ui))}function j(U){var P;let K=W(),ee=Q(),le=ee.findIndex(J=>J===K),X=ee[le+U];(P=u.current)!=null&&P.loop&&(X=le+U<0?ee[ee.length-1]:le+U===ee.length?ee[0]:ee[le+U]),X&&_.setState("value",X.getAttribute(ui))}function F(U){let P=W(),K=P==null?void 0:P.closest(uu),ee;for(;K&&!ee;)K=U>0?Yre(K,uu):Kre(K,uu),ee=K==null?void 0:K.querySelector(xO);ee?_.setState("value",ee.getAttribute(ui)):j(U)}let Y=()=>G(Q().length-1),M=U=>{U.preventDefault(),U.metaKey?Y():U.altKey?F(1):j(1)},V=U=>{U.preventDefault(),U.metaKey?G(0):U.altKey?F(-1):j(-1)};return w.createElement(Je.div,{ref:t,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:U=>{var P;if((P=A.onKeyDown)==null||P.call(A,U),!U.defaultPrevented)switch(U.key){case"n":case"j":{x&&U.ctrlKey&&M(U);break}case"ArrowDown":{M(U);break}case"p":case"k":{x&&U.ctrlKey&&V(U);break}case"ArrowUp":{V(U);break}case"Home":{U.preventDefault(),G(0);break}case"End":{U.preventDefault(),Y();break}case"Enter":if(!U.nativeEvent.isComposing&&U.keyCode!==229){U.preventDefault();let K=W();if(K){let ee=new Event(n0);K.dispatchEvent(ee)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:L.inputId,id:L.labelId,style:Qre},c),Tp(e,U=>w.createElement(b5.Provider,{value:_},w.createElement(m5.Provider,{value:L},U))))}),Ure=w.forwardRef((e,t)=>{var n,r;let a=An(),o=w.useRef(null),s=w.useContext(y5),u=rc(),c=S5(e),d=(r=(n=c.current)==null?void 0:n.forceMount)!=null?r:s==null?void 0:s.forceMount;vi(()=>{if(!d)return u.item(a,s==null?void 0:s.id)},[d]);let p=E5(a,o,[e.value,e.children,o],e.keywords),g=FT(),m=Si(C=>C.value&&C.value===p.current),b=Si(C=>d||u.filter()===!1?!0:C.search?C.filtered.items.get(a)>0:!0);w.useEffect(()=>{let C=o.current;if(!(!C||e.disabled))return C.addEventListener(n0,y),()=>C.removeEventListener(n0,y)},[b,e.onSelect,e.disabled]);function y(){var C,_;v(),(_=(C=c.current).onSelect)==null||_.call(C,p.current)}function v(){g.setState("value",p.current,!0)}if(!b)return null;let{disabled:x,value:A,onSelect:k,forceMount:R,keywords:O,...N}=e;return w.createElement(Je.div,{ref:Ru([o,t]),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!x,"aria-selected":!!m,"data-disabled":!!x,"data-selected":!!m,onPointerMove:x||u.getDisablePointerSelection()?void 0:v,onClick:x?void 0:y},e.children)}),jre=w.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...o}=e,s=An(),u=w.useRef(null),c=w.useRef(null),d=An(),p=rc(),g=Si(b=>a||p.filter()===!1?!0:b.search?b.filtered.groups.has(s):!0);vi(()=>p.group(s),[]),E5(s,u,[e.value,e.heading,c]);let m=w.useMemo(()=>({id:s,forceMount:a}),[a]);return w.createElement(Je.div,{ref:Ru([u,t]),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},n&&w.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:d},n),Tp(e,b=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?d:void 0},w.createElement(y5.Provider,{value:m},b))))}),Gre=w.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=w.useRef(null),o=Si(s=>!s.search);return!n&&!o?null:w.createElement(Je.div,{ref:Ru([a,t]),...r,"cmdk-separator":"",role:"separator"})}),Hre=w.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,o=FT(),s=Si(p=>p.search),u=Si(p=>p.value),c=rc(),d=w.useMemo(()=>{var p;let g=(p=c.listInnerRef.current)==null?void 0:p.querySelector(`${PT}[${ui}="${encodeURIComponent(u)}"]`);return g==null?void 0:g.getAttribute("id")},[]);return w.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),w.createElement(Je.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":d,id:c.inputId,type:"text",value:a?e.value:s,onChange:p=>{a||o.setState("search",p.target.value),n==null||n(p.target.value)}})}),$re=w.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,o=w.useRef(null),s=w.useRef(null),u=rc();return w.useEffect(()=>{if(s.current&&o.current){let c=s.current,d=o.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let m=c.offsetHeight;d.style.setProperty("--cmdk-list-height",m.toFixed(1)+"px")})});return g.observe(c),()=>{cancelAnimationFrame(p),g.unobserve(c)}}},[]),w.createElement(Je.div,{ref:Ru([o,t]),...a,"cmdk-list":"",role:"listbox","aria-label":r,id:u.listId},Tp(e,c=>w.createElement("div",{ref:Ru([s,u.listInnerRef]),"cmdk-list-sizer":""},c)))}),qre=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:o,container:s,...u}=e;return w.createElement(K0,{open:n,onOpenChange:r},w.createElement(X0,{container:s},w.createElement(rp,{"cmdk-overlay":"",className:a}),w.createElement(ap,{"aria-label":e.label,"cmdk-dialog":"",className:o},w.createElement(v5,{ref:t,...u}))))}),Vre=w.forwardRef((e,t)=>Si(n=>n.filtered.count===0)?w.createElement(Je.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Wre=w.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...o}=e;return w.createElement(Je.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Tp(e,s=>w.createElement("div",{"aria-hidden":!0},s)))}),Vn=Object.assign(v5,{List:$re,Item:Ure,Input:Hre,Group:jre,Separator:Gre,Dialog:qre,Empty:Vre,Loading:Wre});function Yre(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Kre(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function S5(e){let t=w.useRef(e);return vi(()=>{t.current=e}),t}var vi=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Ss(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function Ru(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function Si(e){let t=FT(),n=()=>e(t.snapshot());return Fre.useSyncExternalStore(t.subscribe,n,n)}function E5(e,t,n,r=[]){let a=w.useRef(),o=rc();return vi(()=>{var s;let u=(()=>{var d;for(let p of n){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(d=p.current.textContent)==null?void 0:d.trim():a.current}})(),c=r.map(d=>d.trim());o.value(e,u,c),(s=t.current)==null||s.setAttribute(ui,u),a.current=u}),a}var Xre=()=>{let[e,t]=w.useState(),n=Ss(()=>new Map);return vi(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function Zre(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Tp({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(Zre(t),{ref:t.ref},n(t.props.children)):n(t)}var Qre={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Ap=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn,{ref:n,className:Le("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));Ap.displayName=Vn.displayName;const zT=w.forwardRef(({className:e,...t},n)=>E.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[E.jsx(HZ,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),E.jsx(Vn.Input,{ref:n,className:Le("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));zT.displayName=Vn.Input.displayName;const Rp=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.List,{ref:n,className:Le("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));Rp.displayName=Vn.List.displayName;const BT=w.forwardRef((e,t)=>E.jsx(Vn.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));BT.displayName=Vn.Empty.displayName;const el=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Group,{ref:n,className:Le("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t}));el.displayName=Vn.Group.displayName;const Jre=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Separator,{ref:n,className:Le("bg-border -mx-1 h-px",e),...t}));Jre.displayName=Vn.Separator.displayName;const tl=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Item,{ref:n,className:Le("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));tl.displayName=Vn.Item.displayName;const eae=({layout:e,autoRunFor:t,mainLayout:n})=>{const r=kr(),[a,o]=w.useState(!1),s=w.useRef(null),{t:u}=kt(),c=w.useCallback(()=>{if(r)try{const p=r.getGraph();if(!p||p.order===0)return;const g=n.positions();U4(p,g,{duration:300})}catch(p){console.error("Error updating positions:",p),s.current&&(window.clearInterval(s.current),s.current=null,o(!1))}},[r,n]),d=w.useCallback(()=>{if(a){console.log("Stopping layout animation"),s.current&&(window.clearInterval(s.current),s.current=null);try{typeof e.kill=="function"?(e.kill(),console.log("Layout algorithm killed")):typeof e.stop=="function"&&(e.stop(),console.log("Layout algorithm stopped"))}catch(p){console.error("Error stopping layout algorithm:",p)}o(!1)}else console.log("Starting layout animation"),c(),s.current=window.setInterval(()=>{c()},200),o(!0),setTimeout(()=>{if(s.current){console.log("Auto-stopping layout animation after 3 seconds"),window.clearInterval(s.current),s.current=null,o(!1);try{typeof e.kill=="function"?e.kill():typeof e.stop=="function"&&e.stop()}catch(p){console.error("Error stopping layout algorithm:",p)}}},3e3)},[a,e,c]);return w.useEffect(()=>{if(!r){console.log("No sigma instance available");return}let p=null;return t!==void 0&&t>-1&&r.getGraph().order>0&&(console.log("Auto-starting layout animation"),c(),s.current=window.setInterval(()=>{c()},200),o(!0),t>0&&(p=window.setTimeout(()=>{console.log("Auto-stopping layout animation after timeout"),s.current&&(window.clearInterval(s.current),s.current=null),o(!1)},t))),()=>{s.current&&(window.clearInterval(s.current),s.current=null),p&&window.clearTimeout(p),o(!1)}},[t,r,c]),E.jsx(rt,{size:"icon",onClick:d,tooltip:u(a?"graphPanel.sideBar.layoutsControl.stopAnimation":"graphPanel.sideBar.layoutsControl.startAnimation"),variant:Pr,children:a?E.jsx(IZ,{}):E.jsx(LZ,{})})},tae=()=>{const e=kr(),{t}=kt(),[n,r]=w.useState("Circular"),[a,o]=w.useState(!1),s=Me.use.graphLayoutMaxIterations(),u=Yne(),c=$ne(),d=Tre(),p=Sre({maxIterations:s,settings:{margin:5,expansion:1.1,gridSize:1,ratio:1,speed:3}}),g=tre({maxIterations:s,settings:{attraction:3e-4,repulsion:.02,gravity:.02,inertia:.4,maxMove:100}}),m=f5({iterations:s}),b=Ere(),y=nre(),v=dre(),x=w.useMemo(()=>({Circular:{layout:u},Circlepack:{layout:c},Random:{layout:d},Noverlaps:{layout:p,worker:b},"Force Directed":{layout:g,worker:y},"Force Atlas":{layout:m,worker:v}}),[c,u,g,m,p,d,y,b,v]),A=w.useCallback(k=>{console.debug("Running layout:",k);const{positions:R}=x[k].layout;try{const O=e.getGraph();if(!O){console.error("No graph available");return}const N=R();console.log("Positions calculated, animating nodes"),U4(O,N,{duration:400}),r(k)}catch(O){console.error("Error running layout:",O)}},[x,e]);return E.jsxs(E.Fragment,{children:[E.jsx("div",{children:x[n]&&"worker"in x[n]&&E.jsx(eae,{layout:x[n].worker,mainLayout:x[n].layout})}),E.jsx("div",{children:E.jsxs(mp,{open:a,onOpenChange:o,children:[E.jsx(bp,{asChild:!0,children:E.jsx(rt,{size:"icon",variant:Pr,onClick:()=>o(k=>!k),tooltip:t("graphPanel.sideBar.layoutsControl.layoutGraph"),children:E.jsx(vZ,{})})}),E.jsx(Xu,{side:"right",align:"center",className:"p-1",children:E.jsx(Ap,{children:E.jsx(Rp,{children:E.jsx(el,{children:Object.keys(x).map(k=>E.jsx(tl,{onSelect:()=>{A(k)},className:"cursor-pointer text-xs",children:t(`graphPanel.sideBar.layoutsControl.layouts.${k}`)},k))})})})})]})})]})},w5=()=>{const e=w.useContext(JB);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},Ld=e=>!!(e.type.startsWith("mouse")&&e.buttons!==0),nae=({disableHoverEffect:e})=>{const t=kr(),n=q4(),r=$4(),a=Me.use.graphLayoutMaxIterations(),{assign:o}=f5({iterations:a}),{theme:s}=w5(),u=Me.use.enableHideUnselectedEdges(),c=Me.use.enableEdgeEvents(),d=Me.use.showEdgeLabel(),p=Me.use.showNodeLabel(),g=$e.use.selectedNode(),m=$e.use.focusedNode(),b=$e.use.selectedEdge(),y=$e.use.focusedEdge(),v=$e.use.sigmaGraph();return w.useEffect(()=>{if(v&&t){try{typeof t.setGraph=="function"?(t.setGraph(v),console.log("Binding graph to sigma instance")):(t.graph=v,console.warn("Simgma missing setGraph function, set graph property directly"))}catch(x){console.error("Error setting graph on sigma instance:",x)}o(),console.log("Initial layout applied to graph")}},[t,v,o,a]),w.useEffect(()=>{t&&($e.getState().sigmaInstance||(console.log("Setting sigma instance from GraphControl"),$e.getState().setSigmaInstance(t)))},[t]),w.useEffect(()=>{const{setFocusedNode:x,setSelectedNode:A,setFocusedEdge:k,setSelectedEdge:R,clearSelection:O}=$e.getState(),N={enterNode:C=>{Ld(C.event.original)||x(C.node)},leaveNode:C=>{Ld(C.event.original)||x(null)},clickNode:C=>{A(C.node),R(null)},clickStage:()=>O()};c&&(N.clickEdge=C=>{R(C.edge),A(null)},N.enterEdge=C=>{Ld(C.event.original)||k(C.edge)},N.leaveEdge=C=>{Ld(C.event.original)||k(null)}),n(N)},[n,c]),w.useEffect(()=>{const x=s==="dark",A=x?oV:void 0,k=x?uV:void 0;r({enableEdgeEvents:c,renderEdgeLabels:d,renderLabels:p,nodeReducer:(R,O)=>{const N=t.getGraph(),C={...O,highlighted:O.highlighted||!1,labelColor:A};if(!e){C.highlighted=!1;const _=m||g,L=y||b;if(_&&N.hasNode(_))try{(R===_||N.neighbors(_).includes(R))&&(C.highlighted=!0,R===g&&(C.borderColor=lV))}catch(I){console.error("Error in nodeReducer:",I)}else if(L&&N.hasEdge(L))N.extremities(L).includes(R)&&(C.highlighted=!0,C.size=3);else return C;C.highlighted?x&&(C.labelColor=iV):C.color=sV}return C},edgeReducer:(R,O)=>{const N=t.getGraph(),C={...O,hidden:!1,labelColor:A,color:k};if(!e){const _=m||g;if(_&&N.hasNode(_))try{u?N.extremities(R).includes(_)||(C.hidden=!0):N.extremities(R).includes(_)&&(C.color=D_)}catch(L){console.error("Error in edgeReducer:",L)}else{const L=b&&N.hasEdge(b)?b:null,I=y&&N.hasEdge(y)?y:null;(L||I)&&(R===L?C.color=cV:R===I?C.color=D_:u&&(C.hidden=!0))}}return C}})},[g,m,b,y,r,t,e,s,u,c,d,p]),null},rae=()=>{const{zoomIn:e,zoomOut:t,reset:n}=V4({duration:200,factor:1.5}),r=kr(),{t:a}=kt(),o=w.useCallback(()=>e(),[e]),s=w.useCallback(()=>t(),[t]),u=w.useCallback(()=>{if(r)try{r.setCustomBBox(null),r.refresh();const p=r.getGraph();if(!(p!=null&&p.order)||p.nodes().length===0){n();return}r.getCamera().animate({x:.5,y:.5,ratio:1.1},{duration:1e3})}catch(p){console.error("Error resetting zoom:",p),n()}},[r,n]),c=w.useCallback(()=>{if(!r)return;const p=r.getCamera(),m=p.angle+Math.PI/8;p.animate({angle:m},{duration:200})},[r]),d=w.useCallback(()=>{if(!r)return;const p=r.getCamera(),m=p.angle-Math.PI/8;p.animate({angle:m},{duration:200})},[r]);return E.jsxs(E.Fragment,{children:[E.jsx(rt,{variant:Pr,onClick:d,tooltip:a("graphPanel.sideBar.zoomControl.rotateCameraCounterClockwise"),size:"icon",children:E.jsx(FZ,{})}),E.jsx(rt,{variant:Pr,onClick:c,tooltip:a("graphPanel.sideBar.zoomControl.rotateCamera"),size:"icon",children:E.jsx(BZ,{})}),E.jsx(rt,{variant:Pr,onClick:u,tooltip:a("graphPanel.sideBar.zoomControl.resetZoom"),size:"icon",children:E.jsx(pZ,{})}),E.jsx(rt,{variant:Pr,onClick:o,tooltip:a("graphPanel.sideBar.zoomControl.zoomIn"),size:"icon",children:E.jsx(nQ,{})}),E.jsx(rt,{variant:Pr,onClick:s,tooltip:a("graphPanel.sideBar.zoomControl.zoomOut"),size:"icon",children:E.jsx(aQ,{})})]})},aae=()=>{const{isFullScreen:e,toggle:t}=Ute(),{t:n}=kt();return E.jsx(E.Fragment,{children:e?E.jsx(rt,{variant:Pr,onClick:t,tooltip:n("graphPanel.sideBar.fullScreenControl.windowed"),size:"icon",children:E.jsx(CZ,{})}):E.jsx(rt,{variant:Pr,onClick:t,tooltip:n("graphPanel.sideBar.fullScreenControl.fullScreen"),size:"icon",children:E.jsx(AZ,{})})})};var UT="Checkbox",[oae,uke]=Hr(UT),[iae,sae]=oae(UT),x5=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:o,required:s,disabled:u,value:c="on",onCheckedChange:d,form:p,...g}=e,[m,b]=w.useState(null),y=mt(t,O=>b(O)),v=w.useRef(!1),x=m?p||!!m.closest("form"):!0,[A=!1,k]=Ua({prop:a,defaultProp:o,onChange:d}),R=w.useRef(A);return w.useEffect(()=>{const O=m==null?void 0:m.form;if(O){const N=()=>k(R.current);return O.addEventListener("reset",N),()=>O.removeEventListener("reset",N)}},[m,k]),E.jsxs(iae,{scope:n,state:A,disabled:u,children:[E.jsx(Je.button,{type:"button",role:"checkbox","aria-checked":Ro(A)?"mixed":A,"aria-required":s,"data-state":A5(A),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:y,onKeyDown:Ke(e.onKeyDown,O=>{O.key==="Enter"&&O.preventDefault()}),onClick:Ke(e.onClick,O=>{k(N=>Ro(N)?!0:!N),x&&(v.current=O.isPropagationStopped(),v.current||O.stopPropagation())})}),x&&E.jsx(lae,{control:m,bubbles:!v.current,name:r,value:c,checked:A,required:s,disabled:u,form:p,style:{transform:"translateX(-100%)"},defaultChecked:Ro(o)?!1:o})]})});x5.displayName=UT;var k5="CheckboxIndicator",T5=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,o=sae(k5,n);return E.jsx(xr,{present:r||Ro(o.state)||o.state===!0,children:E.jsx(Je.span,{"data-state":A5(o.state),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});T5.displayName=k5;var lae=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:a,...o}=e,s=w.useRef(null),u=e3(n),c=cj(t);w.useEffect(()=>{const p=s.current,g=window.HTMLInputElement.prototype,b=Object.getOwnPropertyDescriptor(g,"checked").set;if(u!==n&&b){const y=new Event("click",{bubbles:r});p.indeterminate=Ro(n),b.call(p,Ro(n)?!1:n),p.dispatchEvent(y)}},[u,n,r]);const d=w.useRef(Ro(n)?!1:n);return E.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??d.current,...o,tabIndex:-1,ref:s,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Ro(e){return e==="indeterminate"}function A5(e){return Ro(e)?"indeterminate":e?"checked":"unchecked"}var R5=x5,uae=T5;const _s=w.forwardRef(({className:e,...t},n)=>E.jsx(R5,{ref:n,className:Le("peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-muted data-[state=checked]:text-muted-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:E.jsx(uae,{className:Le("flex items-center justify-center text-current"),children:E.jsx(bT,{className:"h-4 w-4"})})}));_s.displayName=R5.displayName;var cae="Separator",kO="horizontal",dae=["horizontal","vertical"],C5=w.forwardRef((e,t)=>{const{decorative:n,orientation:r=kO,...a}=e,o=fae(r)?r:kO,u=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return E.jsx(Je.div,{"data-orientation":o,...u,...a,ref:t})});C5.displayName=cae;function fae(e){return dae.includes(e)}var _5=C5;const Es=w.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>E.jsx(_5,{ref:a,decorative:n,orientation:t,className:Le("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Es.displayName=_5.displayName;const vo=({checked:e,onCheckedChange:t,label:n})=>E.jsxs("div",{className:"flex items-center gap-2",children:[E.jsx(_s,{checked:e,onCheckedChange:t}),E.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n})]}),tb=({value:e,onEditFinished:t,label:n,min:r,max:a,defaultValue:o})=>{const{t:s}=kt(),[u,c]=w.useState(e),d=w.useCallback(m=>{const b=m.target.value.trim();if(b.length===0){c(null);return}const y=Number.parseInt(b);if(!isNaN(y)&&y!==u){if(r!==void 0&&ya)return;c(y)}},[u,r,a]),p=w.useCallback(()=>{u!==null&&e!==u&&t(u)},[e,u,t]),g=w.useCallback(()=>{o!==void 0&&e!==o&&(c(o),t(o))},[o,e,t]);return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n}),E.jsxs("div",{className:"flex items-center gap-1",children:[E.jsx(ia,{type:"number",value:u===null?"":u,onChange:d,className:"h-6 w-full min-w-0 pr-1",min:r,max:a,onBlur:p,onKeyDown:m=>{m.key==="Enter"&&p()}}),o!==void 0&&E.jsx(rt,{variant:"ghost",size:"icon",className:"h-6 w-6 flex-shrink-0 hover:bg-muted text-muted-foreground hover:text-foreground",onClick:g,type:"button",title:s("graphPanel.sideBar.settings.resetToDefault"),children:E.jsx(ZZ,{className:"h-3.5 w-3.5"})})]})]})};function pae(){const[e,t]=w.useState(!1),n=Me.use.showPropertyPanel(),r=Me.use.showNodeSearchBar(),a=Me.use.showNodeLabel(),o=Me.use.enableEdgeEvents(),s=Me.use.enableNodeDrag(),u=Me.use.enableHideUnselectedEdges(),c=Me.use.showEdgeLabel(),d=Me.use.graphQueryMaxDepth(),p=Me.use.graphMaxNodes(),g=Me.use.graphLayoutMaxIterations(),m=Me.use.enableHealthCheck(),b=w.useCallback(()=>Me.setState(D=>({enableNodeDrag:!D.enableNodeDrag})),[]),y=w.useCallback(()=>Me.setState(D=>({enableEdgeEvents:!D.enableEdgeEvents})),[]),v=w.useCallback(()=>Me.setState(D=>({enableHideUnselectedEdges:!D.enableHideUnselectedEdges})),[]),x=w.useCallback(()=>Me.setState(D=>({showEdgeLabel:!D.showEdgeLabel})),[]),A=w.useCallback(()=>Me.setState(D=>({showPropertyPanel:!D.showPropertyPanel})),[]),k=w.useCallback(()=>Me.setState(D=>({showNodeSearchBar:!D.showNodeSearchBar})),[]),R=w.useCallback(()=>Me.setState(D=>({showNodeLabel:!D.showNodeLabel})),[]),O=w.useCallback(()=>Me.setState(D=>({enableHealthCheck:!D.enableHealthCheck})),[]),N=w.useCallback(D=>{if(D<1)return;Me.setState({graphQueryMaxDepth:D});const H=Me.getState().queryLabel;Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(H)},300)},[]),C=w.useCallback(D=>{if(D<1||D>1e3)return;Me.setState({graphMaxNodes:D});const H=Me.getState().queryLabel;Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(H)},300)},[]),_=w.useCallback(D=>{D<1||Me.setState({graphLayoutMaxIterations:D})},[]),{t:L}=kt(),I=()=>t(!1);return E.jsx(E.Fragment,{children:E.jsxs(mp,{open:e,onOpenChange:t,children:[E.jsx(bp,{asChild:!0,children:E.jsx(rt,{variant:Pr,tooltip:L("graphPanel.sideBar.settings.settings"),size:"icon",children:E.jsx(WZ,{})})}),E.jsx(Xu,{side:"right",align:"start",className:"mb-2 p-2",onCloseAutoFocus:D=>D.preventDefault(),children:E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx(vo,{checked:m,onCheckedChange:O,label:L("graphPanel.sideBar.settings.healthCheck")}),E.jsx(Es,{}),E.jsx(vo,{checked:n,onCheckedChange:A,label:L("graphPanel.sideBar.settings.showPropertyPanel")}),E.jsx(vo,{checked:r,onCheckedChange:k,label:L("graphPanel.sideBar.settings.showSearchBar")}),E.jsx(Es,{}),E.jsx(vo,{checked:a,onCheckedChange:R,label:L("graphPanel.sideBar.settings.showNodeLabel")}),E.jsx(vo,{checked:s,onCheckedChange:b,label:L("graphPanel.sideBar.settings.nodeDraggable")}),E.jsx(Es,{}),E.jsx(vo,{checked:c,onCheckedChange:x,label:L("graphPanel.sideBar.settings.showEdgeLabel")}),E.jsx(vo,{checked:u,onCheckedChange:v,label:L("graphPanel.sideBar.settings.hideUnselectedEdges")}),E.jsx(vo,{checked:o,onCheckedChange:y,label:L("graphPanel.sideBar.settings.edgeEvents")}),E.jsx(Es,{}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxQueryDepth"),min:1,value:d,defaultValue:3,onEditFinished:N}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxNodes"),min:1,max:1e3,value:p,defaultValue:1e3,onEditFinished:C}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxLayoutIterations"),min:1,max:30,value:g,defaultValue:15,onEditFinished:_}),E.jsx(Es,{}),E.jsx(rt,{onClick:I,variant:"outline",size:"sm",className:"ml-auto px-4",children:L("graphPanel.sideBar.settings.save")})]})})]})})}const gae="ENTRIES",N5="KEYS",O5="VALUES",bn="";class nb{constructor(t,n){const r=t._tree,a=Array.from(r.keys());this.set=t,this._type=n,this._path=a.length>0?[{node:r,keys:a}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:n}=gs(this._path);if(gs(n)===bn)return{done:!1,value:this.result()};const r=t.get(gs(n));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=gs(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>gs(t)).filter(t=>t!==bn).join("")}value(){return gs(this._path).node.get(bn)}result(){switch(this._type){case O5:return this.value();case N5:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const gs=e=>e[e.length-1],hae=(e,t,n)=>{const r=new Map;if(t===void 0)return r;const a=t.length+1,o=a+n,s=new Uint8Array(o*a).fill(n+1);for(let u=0;u{const c=o*s;e:for(const d of e.keys())if(d===bn){const p=a[c-1];p<=n&&r.set(u,[e.get(d),p])}else{let p=o;for(let g=0;gn)continue e}I5(e.get(d),t,n,r,a,p,s,u+d)}};class To{constructor(t=new Map,n=""){this._size=void 0,this._tree=t,this._prefix=n}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[n,r]=_f(this._tree,t.slice(this._prefix.length));if(n===void 0){const[a,o]=jT(r);for(const s of a.keys())if(s!==bn&&s.startsWith(o)){const u=new Map;return u.set(s.slice(o.length),a.get(s)),new To(u,t)}}return new To(n,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,mae(this._tree,t)}entries(){return new nb(this,gae)}forEach(t){for(const[n,r]of this)t(n,r,this)}fuzzyGet(t,n){return hae(this._tree,t,n)}get(t){const n=r0(this._tree,t);return n!==void 0?n.get(bn):void 0}has(t){const n=r0(this._tree,t);return n!==void 0&&n.has(bn)}keys(){return new nb(this,N5)}set(t,n){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,rb(this._tree,t).set(bn,n),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=rb(this._tree,t);return r.set(bn,n(r.get(bn))),this}fetch(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=rb(this._tree,t);let a=r.get(bn);return a===void 0&&r.set(bn,a=n()),a}values(){return new nb(this,O5)}[Symbol.iterator](){return this.entries()}static from(t){const n=new To;for(const[r,a]of t)n.set(r,a);return n}static fromObject(t){return To.from(Object.entries(t))}}const _f=(e,t,n=[])=>{if(t.length===0||e==null)return[e,n];for(const r of e.keys())if(r!==bn&&t.startsWith(r))return n.push([e,r]),_f(e.get(r),t.slice(r.length),n);return n.push([e,t]),_f(void 0,"",n)},r0=(e,t)=>{if(t.length===0||e==null)return e;for(const n of e.keys())if(n!==bn&&t.startsWith(n))return r0(e.get(n),t.slice(n.length))},rb=(e,t)=>{const n=t.length;e:for(let r=0;e&&r{const[n,r]=_f(e,t);if(n!==void 0){if(n.delete(bn),n.size===0)D5(r);else if(n.size===1){const[a,o]=n.entries().next().value;L5(r,a,o)}}},D5=e=>{if(e.length===0)return;const[t,n]=jT(e);if(t.delete(n),t.size===0)D5(e.slice(0,-1));else if(t.size===1){const[r,a]=t.entries().next().value;r!==bn&&L5(e.slice(0,-1),r,a)}},L5=(e,t,n)=>{if(e.length===0)return;const[r,a]=jT(e);r.set(a+t,n),r.delete(a)},jT=e=>e[e.length-1],GT="or",M5="and",bae="and_not";class Co{constructor(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const n=t.autoVacuum==null||t.autoVacuum===!0?ib:t.autoVacuum;this._options={...ob,...t,autoVacuum:n,searchOptions:{...TO,...t.searchOptions||{}},autoSuggestOptions:{...wae,...t.autoSuggestOptions||{}}},this._index=new To,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=o0,this.addFields(this._options.fields)}add(t){const{extractField:n,tokenize:r,processTerm:a,fields:o,idField:s}=this._options,u=n(t,s);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${s}"`);if(this._idToShortId.has(u))throw new Error(`MiniSearch: duplicate ID ${u}`);const c=this.addDocumentId(u);this.saveStoredFields(c,t);for(const d of o){const p=n(t,d);if(p==null)continue;const g=r(p.toString(),d),m=this._fieldIds[d],b=new Set(g).size;this.addFieldLength(c,m,this._documentCount-1,b);for(const y of g){const v=a(y,d);if(Array.isArray(v))for(const x of v)this.addTerm(m,c,x);else v&&this.addTerm(m,c,v)}}}addAll(t){for(const n of t)this.add(n)}addAllAsync(t,n={}){const{chunkSize:r=10}=n,a={chunk:[],promise:Promise.resolve()},{chunk:o,promise:s}=t.reduce(({chunk:u,promise:c},d,p)=>(u.push(d),(p+1)%r===0?{chunk:[],promise:c.then(()=>new Promise(g=>setTimeout(g,0))).then(()=>this.addAll(u))}:{chunk:u,promise:c}),a);return s.then(()=>this.addAll(o))}remove(t){const{tokenize:n,processTerm:r,extractField:a,fields:o,idField:s}=this._options,u=a(t,s);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${s}"`);const c=this._idToShortId.get(u);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${u}: it is not in the index`);for(const d of o){const p=a(t,d);if(p==null)continue;const g=n(p.toString(),d),m=this._fieldIds[d],b=new Set(g).size;this.removeFieldLength(c,m,this._documentCount,b);for(const y of g){const v=r(y,d);if(Array.isArray(v))for(const x of v)this.removeTerm(m,c,x);else v&&this.removeTerm(m,c,v)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(u),this._fieldLength.delete(c),this._documentCount-=1}removeAll(t){if(t)for(const n of t)this.remove(n);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new To,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(t){const n=this._idToShortId.get(t);if(n==null)throw new Error(`MiniSearch: cannot discard document with ID ${t}: it is not in the index`);this._idToShortId.delete(t),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach((r,a)=>{this.removeFieldLength(n,a,this._documentCount,r)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:t,minDirtCount:n,batchSize:r,batchWait:a}=this._options.autoVacuum;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:n,minDirtFactor:t})}discardAll(t){const n=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const r of t)this.discard(r)}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()}replace(t){const{idField:n,extractField:r}=this._options,a=r(t,n);this.discard(a),this.add(t)}vacuum(t={}){return this.conditionalVacuum(t)}conditionalVacuum(t,n){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const r=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=o0,this.performVacuuming(t,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)}async performVacuuming(t,n){const r=this._dirtCount;if(this.vacuumConditionsMet(n)){const a=t.batchSize||a0.batchSize,o=t.batchWait||a0.batchWait;let s=1;for(const[u,c]of this._index){for(const[d,p]of c)for(const[g]of p)this._documentIds.has(g)||(p.size<=1?c.delete(d):p.delete(g));this._index.get(u).size===0&&this._index.delete(u),s%a===0&&await new Promise(d=>setTimeout(d,o)),s+=1}this._dirtCount-=r}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(t){if(t==null)return!0;let{minDirtCount:n,minDirtFactor:r}=t;return n=n||ib.minDirtCount,r=r||ib.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=r}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(t){return this._idToShortId.has(t)}getStoredFields(t){const n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)}search(t,n={}){const{searchOptions:r}=this._options,a={...r,...n},o=this.executeQuery(t,n),s=[];for(const[u,{score:c,terms:d,match:p}]of o){const g=d.length||1,m={id:this._documentIds.get(u),score:c*g,terms:Object.keys(p),queryTerms:d,match:p};Object.assign(m,this._storedFields.get(u)),(a.filter==null||a.filter(m))&&s.push(m)}return t===Co.wildcard&&a.boostDocument==null||s.sort(RO),s}autoSuggest(t,n={}){n={...this._options.autoSuggestOptions,...n};const r=new Map;for(const{score:o,terms:s}of this.search(t,n)){const u=s.join(" "),c=r.get(u);c!=null?(c.score+=o,c.count+=1):r.set(u,{score:o,terms:s,count:1})}const a=[];for(const[o,{score:s,terms:u,count:c}]of r)a.push({suggestion:o,terms:u,score:s/c});return a.sort(RO),a}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)}static async loadJSONAsync(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(t),n)}static getDefault(t){if(ob.hasOwnProperty(t))return ab(ob,t);throw new Error(`MiniSearch: unknown option "${t}"`)}static loadJS(t,n){const{index:r,documentIds:a,fieldLength:o,storedFields:s,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=Md(a),c._fieldLength=Md(o),c._storedFields=Md(s);for(const[d,p]of c._documentIds)c._idToShortId.set(p,d);for(const[d,p]of r){const g=new Map;for(const m of Object.keys(p)){let b=p[m];u===1&&(b=b.ds),g.set(parseInt(m,10),Md(b))}c._index.set(d,g)}return c}static async loadJSAsync(t,n){const{index:r,documentIds:a,fieldLength:o,storedFields:s,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=await Pd(a),c._fieldLength=await Pd(o),c._storedFields=await Pd(s);for(const[p,g]of c._documentIds)c._idToShortId.set(g,p);let d=0;for(const[p,g]of r){const m=new Map;for(const b of Object.keys(g)){let y=g[b];u===1&&(y=y.ds),m.set(parseInt(b,10),await Pd(y))}++d%1e3===0&&await P5(0),c._index.set(p,m)}return c}static instantiateMiniSearch(t,n){const{documentCount:r,nextId:a,fieldIds:o,averageFieldLength:s,dirtCount:u,serializationVersion:c}=t;if(c!==1&&c!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const d=new Co(n);return d._documentCount=r,d._nextId=a,d._idToShortId=new Map,d._fieldIds=o,d._avgFieldLength=s,d._dirtCount=u||0,d._index=new To,d}executeQuery(t,n={}){if(t===Co.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){const m={...n,...t,queries:void 0},b=t.queries.map(y=>this.executeQuery(y,m));return this.combineResults(b,m.combineWith)}const{tokenize:r,processTerm:a,searchOptions:o}=this._options,s={tokenize:r,processTerm:a,...o,...n},{tokenize:u,processTerm:c}=s,g=u(t).flatMap(m=>c(m)).filter(m=>!!m).map(Eae(s)).map(m=>this.executeQuerySpec(m,s));return this.combineResults(g,s.combineWith)}executeQuerySpec(t,n){const r={...this._options.searchOptions,...n},a=(r.fields||this._options.fields).reduce((v,x)=>({...v,[x]:ab(r.boost,x)||1}),{}),{boostDocument:o,weights:s,maxFuzzy:u,bm25:c}=r,{fuzzy:d,prefix:p}={...TO.weights,...s},g=this._index.get(t.term),m=this.termResults(t.term,t.term,1,t.termBoost,g,a,o,c);let b,y;if(t.prefix&&(b=this._index.atPrefix(t.term)),t.fuzzy){const v=t.fuzzy===!0?.2:t.fuzzy,x=v<1?Math.min(u,Math.round(t.term.length*v)):v;x&&(y=this._index.fuzzyGet(t.term,x))}if(b)for(const[v,x]of b){const A=v.length-t.term.length;if(!A)continue;y==null||y.delete(v);const k=p*v.length/(v.length+.3*A);this.termResults(t.term,v,k,t.termBoost,x,a,o,c,m)}if(y)for(const v of y.keys()){const[x,A]=y.get(v);if(!A)continue;const k=d*v.length/(v.length+A);this.termResults(t.term,v,k,t.termBoost,x,a,o,c,m)}return m}executeWildcardQuery(t){const n=new Map,r={...this._options.searchOptions,...t};for(const[a,o]of this._documentIds){const s=r.boostDocument?r.boostDocument(o,"",this._storedFields.get(a)):1;n.set(a,{score:s,terms:[],match:{}})}return n}combineResults(t,n=GT){if(t.length===0)return new Map;const r=n.toLowerCase(),a=yae[r];if(!a)throw new Error(`Invalid combination operator: ${n}`);return t.reduce(a)||new Map}toJSON(){const t=[];for(const[n,r]of this._index){const a={};for(const[o,s]of r)a[o]=Object.fromEntries(s);t.push([n,a])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}termResults(t,n,r,a,o,s,u,c,d=new Map){if(o==null)return d;for(const p of Object.keys(s)){const g=s[p],m=this._fieldIds[p],b=o.get(m);if(b==null)continue;let y=b.size;const v=this._avgFieldLength[m];for(const x of b.keys()){if(!this._documentIds.has(x)){this.removeTerm(m,x,n),y-=1;continue}const A=u?u(this._documentIds.get(x),n,this._storedFields.get(x)):1;if(!A)continue;const k=b.get(x),R=this._fieldLength.get(x)[m],O=Sae(k,y,this._documentCount,R,v,c),N=r*a*g*A*O,C=d.get(x);if(C){C.score+=N,xae(C.terms,t);const _=ab(C.match,n);_?_.push(p):C.match[n]=[p]}else d.set(x,{score:N,terms:[t],match:{[n]:[p]}})}}return d}addTerm(t,n,r){const a=this._index.fetch(r,CO);let o=a.get(t);if(o==null)o=new Map,o.set(n,1),a.set(t,o);else{const s=o.get(n);o.set(n,(s||0)+1)}}removeTerm(t,n,r){if(!this._index.has(r)){this.warnDocumentChanged(n,t,r);return}const a=this._index.fetch(r,CO),o=a.get(t);o==null||o.get(n)==null?this.warnDocumentChanged(n,t,r):o.get(n)<=1?o.size<=1?a.delete(t):o.delete(n):o.set(n,o.get(n)-1),this._index.get(r).size===0&&this._index.delete(r)}warnDocumentChanged(t,n,r){for(const a of Object.keys(this._fieldIds))if(this._fieldIds[a]===n){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(t)} has changed before removal: term "${r}" was not present in field "${a}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(t){const n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n}addFields(t){for(let n=0;nObject.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,yae={[GT]:(e,t)=>{for(const n of t.keys()){const r=e.get(n);if(r==null)e.set(n,t.get(n));else{const{score:a,terms:o,match:s}=t.get(n);r.score=r.score+a,r.match=Object.assign(r.match,s),AO(r.terms,o)}}return e},[M5]:(e,t)=>{const n=new Map;for(const r of t.keys()){const a=e.get(r);if(a==null)continue;const{score:o,terms:s,match:u}=t.get(r);AO(a.terms,s),n.set(r,{score:a.score+o,terms:a.terms,match:Object.assign(a.match,u)})}return n},[bae]:(e,t)=>{for(const n of t.keys())e.delete(n);return e}},vae={k:1.2,b:.7,d:.5},Sae=(e,t,n,r,a,o)=>{const{k:s,b:u,d:c}=o;return Math.log(1+(n-t+.5)/(t+.5))*(c+e*(s+1)/(e+s*(1-u+u*r/a)))},Eae=e=>(t,n,r)=>{const a=typeof e.fuzzy=="function"?e.fuzzy(t,n,r):e.fuzzy||!1,o=typeof e.prefix=="function"?e.prefix(t,n,r):e.prefix===!0,s=typeof e.boostTerm=="function"?e.boostTerm(t,n,r):1;return{term:t,fuzzy:a,prefix:o,termBoost:s}},ob={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(kae),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},TO={combineWith:GT,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:vae},wae={combineWith:M5,prefix:(e,t,n)=>t===n.length-1},a0={batchSize:1e3,batchWait:10},o0={minDirtFactor:.1,minDirtCount:20},ib={...a0,...o0},xae=(e,t)=>{e.includes(t)||e.push(t)},AO=(e,t)=>{for(const n of t)e.includes(n)||e.push(n)},RO=({score:e},{score:t})=>t-e,CO=()=>new Map,Md=e=>{const t=new Map;for(const n of Object.keys(e))t.set(parseInt(n,10),e[n]);return t},Pd=async e=>{const t=new Map;let n=0;for(const r of Object.keys(e))t.set(parseInt(r,10),e[r]),++n%1e3===0&&await P5(0);return t},P5=e=>new Promise(t=>setTimeout(t,e)),kae=/[\n\r\p{Z}\p{P}]+/u,Tae={index:new Co({fields:[]})};w.createContext(Tae);const i0=({label:e,color:t,hidden:n,labels:r={}})=>ve.createElement("div",{className:"node"},ve.createElement("span",{className:"render "+(n?"circle":"disc"),style:{backgroundColor:t||"#000"}}),ve.createElement("span",{className:`label ${n?"text-muted":""} ${e?"":"text-italic"}`},e||r.no_label||"No label")),Aae=({id:e,labels:t})=>{const n=kr(),r=w.useMemo(()=>{const a=n.getGraph().getNodeAttributes(e),o=n.getSetting("nodeReducer");return Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},a),o?o(e,a):{})},[n,e]);return ve.createElement(i0,Object.assign({},r,{labels:t}))},Rae=({label:e,color:t,source:n,target:r,hidden:a,directed:o,labels:s={}})=>ve.createElement("div",{className:"edge"},ve.createElement(i0,Object.assign({},n,{labels:s})),ve.createElement("div",{className:"body"},ve.createElement("div",{className:"render"},ve.createElement("span",{className:a?"dotted":"dash",style:{borderColor:t||"#000"}})," ",o&&ve.createElement("span",{className:"arrow",style:{borderTopColor:t||"#000"}})),ve.createElement("span",{className:`label ${a?"text-muted":""} ${e?"":"fst-italic"}`},e||s.no_label||"No label")),ve.createElement(i0,Object.assign({},r,{labels:s}))),Cae=({id:e,labels:t})=>{const n=kr(),r=w.useMemo(()=>{const a=n.getGraph().getEdgeAttributes(e),o=n.getSetting("nodeReducer"),s=n.getSetting("edgeReducer"),u=n.getGraph().getNodeAttributes(n.getGraph().source(e)),c=n.getGraph().getNodeAttributes(n.getGraph().target(e));return Object.assign(Object.assign(Object.assign({color:n.getSetting("defaultEdgeColor"),directed:n.getGraph().isDirected(e)},a),s?s(e,a):{}),{source:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},u),o?o(e,u):{}),target:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},c),o?o(e,c):{})})},[n,e]);return ve.createElement(Rae,Object.assign({},r,{labels:t}))};function HT(e,t){const[n,r]=w.useState(e);return w.useEffect(()=>{const a=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(a)}},[e,t]),n}function _ae({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,notFound:o,loadingSkeleton:s,label:u,placeholder:c="Select...",value:d,onChange:p,onFocus:g,disabled:m=!1,className:b,noResultsMessage:y}){const[v,x]=w.useState(!1),[A,k]=w.useState(!1),[R,O]=w.useState([]),[N,C]=w.useState(!1),[_,L]=w.useState(null),[I,D]=w.useState(""),H=HT(I,t?0:150),$=w.useRef(null);w.useEffect(()=>{x(!0)},[]),w.useEffect(()=>{const j=F=>{$.current&&!$.current.contains(F.target)&&A&&k(!1)};return document.addEventListener("mousedown",j),()=>{document.removeEventListener("mousedown",j)}},[A]);const B=w.useCallback(async j=>{try{C(!0),L(null);const F=await e(j);O(F)}catch(F){L(F instanceof Error?F.message:"Failed to fetch options")}finally{C(!1)}},[e]);w.useEffect(()=>{v&&(t?H&&O(j=>j.filter(F=>n?n(F,H):!0)):B(H))},[v,H,t,n,B]),w.useEffect(()=>{!v||!d||B(d)},[v,d,B]);const W=w.useCallback(j=>{p(j),requestAnimationFrame(()=>{const F=document.activeElement;F==null||F.blur(),k(!1)})},[p]),Q=w.useCallback(()=>{k(!0),B(I)},[I,B]),G=w.useCallback(j=>{j.target.closest(".cmd-item")&&j.preventDefault()},[]);return E.jsx("div",{ref:$,className:Le(m&&"cursor-not-allowed opacity-50",b),onMouseDown:G,children:E.jsxs(Ap,{shouldFilter:!1,className:"bg-transparent",children:[E.jsxs("div",{children:[E.jsx(zT,{placeholder:c,value:I,className:"max-h-8",onFocus:Q,onValueChange:j=>{D(j),A||k(!0)}}),N&&E.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:E.jsx(Fj,{className:"h-4 w-4 animate-spin"})})]}),E.jsxs(Rp,{hidden:!A,children:[_&&E.jsx("div",{className:"text-destructive p-4 text-center",children:_}),N&&R.length===0&&(s||E.jsx(Nae,{})),!N&&!_&&R.length===0&&(o||E.jsx(BT,{children:y??`No ${u.toLowerCase()} found.`})),E.jsx(el,{children:R.map((j,F)=>E.jsxs(ve.Fragment,{children:[E.jsx(tl,{value:a(j),onSelect:W,onMouseMove:()=>g(a(j)),className:"truncate cmd-item",children:r(j)},a(j)+`${F}`),F!==R.length-1&&E.jsx("div",{className:"bg-foreground/10 h-[1px]"},`divider-${F}`)]},a(j)+`-fragment-${F}`))})]})]})})}function Nae(){return E.jsx(el,{children:E.jsx(tl,{disabled:!0,children:E.jsxs("div",{className:"flex w-full items-center gap-2",children:[E.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),E.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[E.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),E.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const sb="__message_item",Oae=({id:e})=>{const t=$e.use.sigmaGraph();return t!=null&&t.hasNode(e)?E.jsx(Aae,{id:e}):null};function Iae(e){return E.jsxs("div",{children:[e.type==="nodes"&&E.jsx(Oae,{id:e.id}),e.type==="edges"&&E.jsx(Cae,{id:e.id}),e.type==="message"&&E.jsx("div",{children:e.message})]})}const Dae=({onChange:e,onFocus:t,value:n})=>{const{t:r}=kt(),a=$e.use.sigmaGraph(),o=$e.use.searchEngine();w.useEffect(()=>{a&&$e.getState().resetSearchEngine()},[a]),w.useEffect(()=>{if(!a||a.nodes().length===0||o)return;const u=new Co({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),c=a.nodes().map(d=>({id:d,label:a.getNodeAttribute(d,"label")}));u.addAll(c),$e.getState().setSearchEngine(u)},[a,o]);const s=w.useCallback(async u=>{if(t&&t(null),!a||!o)return[];if(a.nodes().length===0)return[];if(!u)return a.nodes().filter(p=>a.hasNode(p)).slice(0,bd).map(p=>({id:p,type:"nodes"}));const c=o.search(u).filter(d=>a.hasNode(d.id)).map(d=>({id:d.id,type:"nodes"}));return c.length<=bd?c:[...c.slice(0,bd),{type:"message",id:sb,message:r("graphPanel.search.message",{count:c.length-bd})}]},[a,o,t,r]);return E.jsx(_ae,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:s,renderOption:Iae,getOptionValue:u=>u.id,value:n&&n.type!=="message"?n.id:null,onChange:u=>{u!==sb&&e(u?{id:u,type:"nodes"}:null)},onFocus:u=>{u!==sb&&t&&t(u?{id:u,type:"nodes"}:null)},label:"item",placeholder:r("graphPanel.search.placeholder")})},Lae=({...e})=>E.jsx(Dae,{...e});function Mae({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,getDisplayValue:o,notFound:s,loadingSkeleton:u,label:c,placeholder:d="Select...",value:p,onChange:g,disabled:m=!1,className:b,triggerClassName:y,searchInputClassName:v,noResultsMessage:x,triggerTooltip:A,clearable:k=!0}){const[R,O]=w.useState(!1),[N,C]=w.useState(!1),[_,L]=w.useState([]),[I,D]=w.useState(!1),[H,$]=w.useState(null),[B,W]=w.useState(p),[Q,G]=w.useState(null),[j,F]=w.useState(""),Y=HT(j,t?0:150),[M,V]=w.useState([]);w.useEffect(()=>{O(!0),W(p)},[p]),w.useEffect(()=>{if(p&&_.length>0){const P=_.find(K=>a(K)===p);P&&G(P)}},[p,_,a]),w.useEffect(()=>{R||(async()=>{try{D(!0),$(null);const K=await e(p);V(K),L(K)}catch(K){$(K instanceof Error?K.message:"Failed to fetch options")}finally{D(!1)}})()},[R,e,p]),w.useEffect(()=>{const P=async()=>{try{D(!0),$(null);const K=await e(Y);V(K),L(K)}catch(K){$(K instanceof Error?K.message:"Failed to fetch options")}finally{D(!1)}};R&&t?t&&L(Y?M.filter(K=>n?n(K,Y):!0):M):P()},[e,Y,R,t,n]);const U=w.useCallback(P=>{const K=k&&P===B?"":P;W(K),G(_.find(ee=>a(ee)===K)||null),g(K),C(!1)},[B,g,k,_,a]);return E.jsxs(mp,{open:N,onOpenChange:C,children:[E.jsx(bp,{asChild:!0,children:E.jsxs(rt,{variant:"outline",role:"combobox","aria-expanded":N,className:Le("justify-between",m&&"cursor-not-allowed opacity-50",y),disabled:m,tooltip:A,side:"bottom",children:[Q?o(Q):d,E.jsx(rZ,{className:"opacity-50",size:10})]})}),E.jsx(Xu,{className:Le("p-0",b),onCloseAutoFocus:P=>P.preventDefault(),children:E.jsxs(Ap,{shouldFilter:!1,children:[E.jsxs("div",{className:"relative w-full border-b",children:[E.jsx(zT,{placeholder:`Search ${c.toLowerCase()}...`,value:j,onValueChange:P=>{F(P)},className:v}),I&&_.length>0&&E.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:E.jsx(Fj,{className:"h-4 w-4 animate-spin"})})]}),E.jsxs(Rp,{children:[H&&E.jsx("div",{className:"text-destructive p-4 text-center",children:H}),I&&_.length===0&&(u||E.jsx(Pae,{})),!I&&!H&&_.length===0&&(s||E.jsx(BT,{children:x??`No ${c.toLowerCase()} found.`})),E.jsx(el,{children:_.map(P=>E.jsxs(tl,{value:a(P),onSelect:U,className:"truncate",children:[r(P),E.jsx(bT,{className:Le("ml-auto h-3 w-3",B===a(P)?"opacity-100":"opacity-0")})]},a(P)))})]})]})})]})}function Pae(){return E.jsx(el,{children:E.jsx(tl,{disabled:!0,children:E.jsxs("div",{className:"flex w-full items-center gap-2",children:[E.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),E.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[E.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),E.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const Fae=()=>{const{t:e}=kt(),t=Me.use.queryLabel(),n=$e.use.allDatabaseLabels(),r=w.useCallback(()=>{const s=new Co({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=n.map((c,d)=>({id:d,value:c}));return s.addAll(u),{labels:n,searchEngine:s}},[n]),a=w.useCallback(async s=>{const{labels:u,searchEngine:c}=r();let d=u;return s&&(d=c.search(s).map(p=>u[p.id])),d.length<=L_?d:[...d.slice(0,L_),"..."]},[r]),o=w.useCallback(()=>{$e.getState().setLabelsFetchAttempted(!1),$e.getState().setGraphDataFetchAttempted(!1),$e.getState().setLastSuccessfulQueryLabel("");const s=Me.getState().queryLabel;s?(Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(s)},0)):Me.getState().setQueryLabel("*")},[]);return E.jsxs("div",{className:"flex items-center",children:[E.jsx(rt,{size:"icon",variant:Pr,onClick:o,tooltip:e("graphPanel.graphLabels.refreshTooltip"),className:"mr-1",children:E.jsx(zj,{className:"h-4 w-4"})}),E.jsx(Mae,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:e("graphPanel.graphLabels.selectTooltip"),fetcher:a,renderOption:s=>E.jsx("div",{children:s}),getOptionValue:s=>s,getDisplayValue:s=>E.jsx("div",{children:s}),notFound:E.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:e("graphPanel.graphLabels.label"),placeholder:e("graphPanel.graphLabels.placeholder"),value:t!==null?t:"*",onChange:s=>{const u=Me.getState().queryLabel;s==="..."&&(s="*"),s===u&&s!=="*"&&(s="*"),$e.getState().setGraphDataFetchAttempted(!1),Me.getState().setQueryLabel(s)},clearable:!1})]})},Jn=({text:e,className:t,tooltipClassName:n,tooltip:r,side:a,onClick:o})=>r?E.jsx(gT,{delayDuration:200,children:E.jsxs(hT,{children:[E.jsx(mT,{asChild:!0,children:E.jsx("label",{className:Le(t,o!==void 0?"cursor-pointer":void 0),onClick:o,children:e})}),E.jsx(pp,{side:a,className:n,children:r})]})}):E.jsx("label",{className:Le(t,o!==void 0?"cursor-pointer":void 0),onClick:o,children:e});var nf={exports:{}},zae=nf.exports,_O;function Bae(){return _O||(_O=1,function(e){(function(t,n,r){function a(c){var d=this,p=u();d.next=function(){var g=2091639*d.s0+d.c*23283064365386963e-26;return d.s0=d.s1,d.s1=d.s2,d.s2=g-(d.c=g|0)},d.c=1,d.s0=p(" "),d.s1=p(" "),d.s2=p(" "),d.s0-=p(c),d.s0<0&&(d.s0+=1),d.s1-=p(c),d.s1<0&&(d.s1+=1),d.s2-=p(c),d.s2<0&&(d.s2+=1),p=null}function o(c,d){return d.c=c.c,d.s0=c.s0,d.s1=c.s1,d.s2=c.s2,d}function s(c,d){var p=new a(c),g=d&&d.state,m=p.next;return m.int32=function(){return p.next()*4294967296|0},m.double=function(){return m()+(m()*2097152|0)*11102230246251565e-32},m.quick=m,g&&(typeof g=="object"&&o(g,p),m.state=function(){return o(p,{})}),m}function u(){var c=4022871197,d=function(p){p=String(p);for(var g=0;g>>0,m-=c,m*=c,c=m>>>0,m-=c,c+=m*4294967296}return(c>>>0)*23283064365386963e-26};return d}n&&n.exports?n.exports=s:this.alea=s})(zae,e)}(nf)),nf.exports}var rf={exports:{}},Uae=rf.exports,NO;function jae(){return NO||(NO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.x=0,c.y=0,c.z=0,c.w=0,c.next=function(){var g=c.x^c.x<<11;return c.x=c.y,c.y=c.z,c.z=c.w,c.w^=c.w>>>19^g^g>>>8},u===(u|0)?c.x=u:d+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xor128=s})(Uae,e)}(rf)),rf.exports}var af={exports:{}},Gae=af.exports,OO;function Hae(){return OO||(OO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.next=function(){var g=c.x^c.x>>>2;return c.x=c.y,c.y=c.z,c.z=c.w,c.w=c.v,(c.d=c.d+362437|0)+(c.v=c.v^c.v<<4^(g^g<<1))|0},c.x=0,c.y=0,c.z=0,c.w=0,c.v=0,u===(u|0)?c.x=u:d+=u;for(var p=0;p>>4),c.next()}function o(u,c){return c.x=u.x,c.y=u.y,c.z=u.z,c.w=u.w,c.v=u.v,c.d=u.d,c}function s(u,c){var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xorwow=s})(Gae,e)}(af)),af.exports}var of={exports:{}},$ae=of.exports,IO;function qae(){return IO||(IO=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.x,g=c.i,m,b;return m=p[g],m^=m>>>7,b=m^m<<24,m=p[g+1&7],b^=m^m>>>10,m=p[g+3&7],b^=m^m>>>3,m=p[g+4&7],b^=m^m<<7,m=p[g+7&7],m=m^m<<13,b^=m^m<<9,p[g]=b,c.i=g+1&7,b};function d(p,g){var m,b=[];if(g===(g|0))b[0]=g;else for(g=""+g,m=0;m0;--m)p.next()}d(c,u)}function o(u,c){return c.x=u.x.slice(),c.i=u.i,c}function s(u,c){u==null&&(u=+new Date);var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(p.x&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xorshift7=s})($ae,e)}(of)),of.exports}var sf={exports:{}},Vae=sf.exports,DO;function Wae(){return DO||(DO=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.w,g=c.X,m=c.i,b,y;return c.w=p=p+1640531527|0,y=g[m+34&127],b=g[m=m+1&127],y^=y<<13,b^=b<<17,y^=y>>>15,b^=b>>>12,y=g[m]=y^b,c.i=m,y+(p^p>>>16)|0};function d(p,g){var m,b,y,v,x,A=[],k=128;for(g===(g|0)?(b=g,g=null):(g=g+"\0",b=0,k=Math.max(k,g.length)),y=0,v=-32;v>>15,b^=b<<4,b^=b>>>13,v>=0&&(x=x+1640531527|0,m=A[v&127]^=b+x,y=m==0?y+1:0);for(y>=128&&(A[(g&&g.length||0)&127]=-1),y=127,v=4*128;v>0;--v)b=A[y+34&127],m=A[y=y+1&127],b^=b<<13,m^=m<<17,b^=b>>>15,m^=m>>>12,A[y]=b^m;p.w=x,p.X=A,p.i=y}d(c,u)}function o(u,c){return c.i=u.i,c.w=u.w,c.X=u.X.slice(),c}function s(u,c){u==null&&(u=+new Date);var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(p.X&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xor4096=s})(Vae,e)}(sf)),sf.exports}var lf={exports:{}},Yae=lf.exports,LO;function Kae(){return LO||(LO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.next=function(){var g=c.b,m=c.c,b=c.d,y=c.a;return g=g<<25^g>>>7^m,m=m-b|0,b=b<<24^b>>>8^y,y=y-g|0,c.b=g=g<<20^g>>>12^m,c.c=m=m-b|0,c.d=b<<16^m>>>16^y,c.a=y-g|0},c.a=0,c.b=0,c.c=-1640531527,c.d=1367130551,u===Math.floor(u)?(c.a=u/4294967296|0,c.b=u|0):d+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.tychei=s})(Yae,e)}(lf)),lf.exports}var uf={exports:{}};const Xae={},Zae=Object.freeze(Object.defineProperty({__proto__:null,default:Xae},Symbol.toStringTag,{value:"Module"})),Qae=iq(Zae);var Jae=uf.exports,MO;function eoe(){return MO||(MO=1,function(e){(function(t,n,r){var a=256,o=6,s=52,u="random",c=r.pow(a,o),d=r.pow(2,s),p=d*2,g=a-1,m;function b(O,N,C){var _=[];N=N==!0?{entropy:!0}:N||{};var L=A(x(N.entropy?[O,R(n)]:O??k(),3),_),I=new y(_),D=function(){for(var H=I.g(o),$=c,B=0;H=p;)H/=2,$/=2,B>>>=1;return(H+B)/$};return D.int32=function(){return I.g(4)|0},D.quick=function(){return I.g(4)/4294967296},D.double=D,A(R(I.S),n),(N.pass||C||function(H,$,B,W){return W&&(W.S&&v(W,I),H.state=function(){return v(I,{})}),B?(r[u]=H,$):H})(D,L,"global"in N?N.global:this==r,N.state)}function y(O){var N,C=O.length,_=this,L=0,I=_.i=_.j=0,D=_.S=[];for(C||(O=[C++]);L{if(!e)return console.log("Graph validation failed: graph is null"),!1;if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return console.log("Graph validation failed: nodes or edges is not an array"),!1;if(e.nodes.length===0)return console.log("Graph validation failed: nodes array is empty"),!1;for(const t of e.nodes)if(!t.id||!t.labels||!t.properties)return console.log("Graph validation failed: invalid node structure"),!1;for(const t of e.edges)if(!t.id||!t.source||!t.target)return console.log("Graph validation failed: invalid edge structure"),!1;for(const t of e.edges){const n=e.getNode(t.source),r=e.getNode(t.target);if(n==null||r==null)return console.log("Graph validation failed: edge references non-existent node"),!1}return console.log("Graph validation passed"),!0},aoe=async(e,t,n)=>{let r=null;if(!$e.getState().lastSuccessfulQueryLabel){console.log("Last successful queryLabel is empty");try{await $e.getState().fetchAllDatabaseLabels()}catch(u){console.error("Failed to fetch all database labels:",u)}}const o=e||"*";try{console.log(`Fetching graph label: ${o}, depth: ${t}, nodes: ${n}`),r=await KB(o,t,n)}catch(u){return Sr.getState().setErrorMessage(Gn(u),"Query Graphs Error!"),null}let s=null;if(r){const u={},c={};for(let m=0;m0){const m=wk-li;for(const b of r.nodes)b.size=Math.round(li+m*Math.pow((b.degree-d)/g,.5))}s=new vV,s.nodes=r.nodes,s.edges=r.edges,s.nodeIdMap=u,s.edgeIdMap=c,roe(s)||(s=null,console.warn("Invalid graph data")),console.log("Graph data loaded")}return{rawGraph:s,is_truncated:r.is_truncated}},ooe=e=>{var n;if(!e||!e.nodes.length)return console.log("No graph data available, skipping sigma graph creation"),null;const t=new Au;for(const r of(e==null?void 0:e.nodes)??[]){Nf(r.id+Date.now().toString(),{global:!0});const a=Math.random(),o=Math.random();t.addNode(r.id,{label:r.labels.join(", "),color:r.color,x:a,y:o,size:r.size,borderColor:Ek,borderSize:.2})}for(const r of(e==null?void 0:e.edges)??[])r.dynamicId=t.addDirectedEdge(r.source,r.target,{label:((n=r.properties)==null?void 0:n.keywords)||void 0});return t},ioe=()=>{const{t:e}=kt(),t=Me.use.queryLabel(),n=$e.use.rawGraph(),r=$e.use.sigmaGraph(),a=Me.use.graphQueryMaxDepth(),o=Me.use.graphMaxNodes(),s=$e.use.isFetching(),u=$e.use.nodeToExpand(),c=$e.use.nodeToPrune(),d=w.useRef(!1),p=w.useRef(!1),g=w.useRef(!1),m=w.useCallback(A=>(n==null?void 0:n.getNode(A))||null,[n]),b=w.useCallback((A,k=!0)=>(n==null?void 0:n.getEdge(A,k))||null,[n]),y=w.useRef(!1);w.useEffect(()=>{if(!t&&(n!==null||r!==null)){const A=$e.getState();A.reset(),A.setGraphDataFetchAttempted(!1),A.setLabelsFetchAttempted(!1),d.current=!1,p.current=!1}},[t,n,r]),w.useEffect(()=>{if(!y.current&&!(!t&&g.current)&&!s&&!$e.getState().graphDataFetchAttempted){y.current=!0,$e.getState().setGraphDataFetchAttempted(!0);const A=$e.getState();A.setIsFetching(!0),A.clearSelection(),A.sigmaGraph&&A.sigmaGraph.forEachNode(C=>{var _;(_=A.sigmaGraph)==null||_.setNodeAttribute(C,"highlighted",!1)}),console.log("Preparing graph data...");const k=t,R=a,O=o;let N;k?N=aoe(k,R,O):(console.log("Query label is empty, show empty graph"),N=Promise.resolve({rawGraph:null,is_truncated:!1})),N.then(C=>{const _=$e.getState(),L=C==null?void 0:C.rawGraph;if(C!=null&&C.is_truncated&&Ft.info(e("graphPanel.dataIsTruncated","Graph data is truncated to Max Nodes")),_.reset(),!L||!L.nodes||L.nodes.length===0){const I=new Au;I.addNode("empty-graph-node",{label:e("graphPanel.emptyGraph"),color:"#cccccc",x:.5,y:.5,size:15,borderColor:Ek,borderSize:.2}),_.setSigmaGraph(I),_.setRawGraph(null),_.setGraphIsEmpty(!0),k&&Me.getState().setQueryLabel(""),_.setLastSuccessfulQueryLabel(""),console.log("Graph data is empty, created graph with empty graph node")}else{const I=ooe(L);L.buildDynamicMap(),_.setSigmaGraph(I),_.setRawGraph(L),_.setGraphIsEmpty(!1),_.setLastSuccessfulQueryLabel(k),_.setMoveToSelectedNode(!0)}d.current=!0,p.current=!0,y.current=!1,_.setIsFetching(!1),(!L||!L.nodes||L.nodes.length===0)&&!k&&(g.current=!0)}).catch(C=>{console.error("Error fetching graph data:",C);const _=$e.getState();_.setIsFetching(!1),d.current=!1,y.current=!1,_.setGraphDataFetchAttempted(!1),_.setLastSuccessfulQueryLabel("")})}},[t,a,o,s,e]),w.useEffect(()=>{u&&((async k=>{var R,O,N,C;if(!(!k||!r||!n))try{const _=n.getNode(k);if(!_){console.error("Node not found:",k);return}const L=_.labels[0];if(!L){console.error("Node has no label:",k);return}const I=await KB(L,2,1e3);if(!I||!I.nodes||!I.edges){console.error("Failed to fetch extended graph");return}const D=[];for(const X of I.nodes){Nf(X.id,{global:!0});const J=yB();D.push({id:X.id,labels:X.labels,properties:X.properties,size:10,x:Math.random(),y:Math.random(),color:J,degree:0})}const H=[];for(const X of I.edges)H.push({id:X.id,source:X.source,target:X.target,type:X.type,properties:X.properties,dynamicId:""});const $={};r.forEachNode(X=>{$[X]={x:r.getNodeAttribute(X,"x"),y:r.getNodeAttribute(X,"y")}});const B=new Set(r.nodes()),W=new Set,Q=new Set,G=1;let j=0;r.forEachNode(X=>{const J=r.degree(X);j=Math.max(j,J)});for(const X of D){if(B.has(X.id))continue;H.some(he=>he.source===k&&he.target===X.id||he.target===k&&he.source===X.id)&&W.add(X.id)}const F=new Map,Y=new Map,M=new Set;for(const X of H){const J=B.has(X.source)||W.has(X.source),he=B.has(X.target)||W.has(X.target);J&&he?(Q.add(X.id),W.has(X.source)?F.set(X.source,(F.get(X.source)||0)+1):B.has(X.source)&&Y.set(X.source,(Y.get(X.source)||0)+1),W.has(X.target)?F.set(X.target,(F.get(X.target)||0)+1):B.has(X.target)&&Y.set(X.target,(Y.get(X.target)||0)+1)):(r.hasNode(X.source)?M.add(X.source):W.has(X.source)&&(M.add(X.source),F.set(X.source,(F.get(X.source)||0)+1)),r.hasNode(X.target)?M.add(X.target):W.has(X.target)&&(M.add(X.target),F.set(X.target,(F.get(X.target)||0)+1)))}const V=(X,J,he,oe)=>{const Se=oe-he||1,we=wk-li;for(const Ie of J)if(X.hasNode(Ie)){let Ce=X.degree(Ie);Ce+=1;const Ee=Math.min(Ce,oe+1),te=Math.round(li+we*Math.pow((Ee-he)/Se,.5)),fe=X.getNodeAttribute(Ie,"size");te>fe&&X.setNodeAttribute(Ie,"size",te)}};if(W.size===0){V(r,M,G,j),Ft.info(e("graphPanel.propertiesView.node.noNewNodes"));return}for(const[,X]of F.entries())j=Math.max(j,X);for(const[X,J]of Y.entries()){const oe=r.degree(X)+J;j=Math.max(j,oe)}const U=j-G||1,P=wk-li,K=((R=$e.getState().sigmaInstance)==null?void 0:R.getCamera().ratio)||1,ee=Math.max(Math.sqrt(_.size)*4,Math.sqrt(W.size)*3)/K;Nf(Date.now().toString(),{global:!0});const le=Math.random()*2*Math.PI;console.log("nodeSize:",_.size,"nodesToAdd:",W.size),console.log("cameraRatio:",Math.round(K*100)/100,"spreadFactor:",Math.round(ee*100)/100);for(const X of W){const J=D.find(Ee=>Ee.id===X),he=F.get(X)||0,oe=Math.min(he,j+1),Se=Math.round(li+P*Math.pow((oe-G)/U,.5)),we=2*Math.PI*(Array.from(W).indexOf(X)/W.size),Ie=((O=$[X])==null?void 0:O.x)||$[_.id].x+Math.cos(le+we)*ee,Ce=((N=$[X])==null?void 0:N.y)||$[_.id].y+Math.sin(le+we)*ee;r.addNode(X,{label:J.labels.join(", "),color:J.color,x:Ie,y:Ce,size:Se,borderColor:Ek,borderSize:.2}),n.getNode(X)||(J.size=Se,J.x=Ie,J.y=Ce,J.degree=he,n.nodes.push(J),n.nodeIdMap[X]=n.nodes.length-1)}for(const X of Q){const J=H.find(he=>he.id===X);r.hasEdge(J.source,J.target)||r.hasEdge(J.target,J.source)||(J.dynamicId=r.addDirectedEdge(J.source,J.target,{label:((C=J.properties)==null?void 0:C.keywords)||void 0}),n.getEdge(J.id,!1)?console.error("Edge already exists in rawGraph:",J.id):(n.edges.push(J),n.edgeIdMap[J.id]=n.edges.length-1,n.edgeDynamicIdMap[J.dynamicId]=n.edges.length-1))}if(n.buildDynamicMap(),$e.getState().resetSearchEngine(),V(r,M,G,j),r.hasNode(k)){const X=r.degree(k),J=Math.min(X,j+1),he=Math.round(li+P*Math.pow((J-G)/U,.5));r.setNodeAttribute(k,"size",he),_.size=he,_.degree=X}}catch(_){console.error("Error expanding node:",_)}})(u),window.setTimeout(()=>{$e.getState().triggerNodeExpand(null)},0))},[u,r,n,e]);const v=w.useCallback((A,k)=>{const R=new Set([A]);return k.forEachNode(O=>{if(O===A)return;const N=k.neighbors(O);N.length===1&&N[0]===A&&R.add(O)}),R},[]);return w.useEffect(()=>{c&&((k=>{if(!(!k||!r||!n))try{const R=$e.getState();if(!r.hasNode(k)){console.error("Node not found:",k);return}const O=v(k,r);if(O.size===r.nodes().length){Ft.error(e("graphPanel.propertiesView.node.deleteAllNodesError"));return}R.clearSelection();for(const N of O){r.dropNode(N);const C=n.nodeIdMap[N];if(C!==void 0){const _=n.edges.filter(L=>L.source===N||L.target===N);for(const L of _){const I=n.edgeIdMap[L.id];if(I!==void 0){n.edges.splice(I,1);for(const[D,H]of Object.entries(n.edgeIdMap))H>I&&(n.edgeIdMap[D]=H-1);delete n.edgeIdMap[L.id],delete n.edgeDynamicIdMap[L.dynamicId]}}n.nodes.splice(C,1);for(const[L,I]of Object.entries(n.nodeIdMap))I>C&&(n.nodeIdMap[L]=I-1);delete n.nodeIdMap[N]}}n.buildDynamicMap(),$e.getState().resetSearchEngine(),O.size>1&&Ft.info(e("graphPanel.propertiesView.node.nodesRemoved",{count:O.size}))}catch(R){console.error("Error pruning node:",R)}})(c),window.setTimeout(()=>{$e.getState().triggerNodePrune(null)},0))},[c,r,n,v,e]),{lightrageGraph:w.useCallback(()=>{if(r)return r;console.log("Creating new Sigma graph instance");const A=new Au;return $e.getState().setSigmaGraph(A),A},[r]),getNode:m,getEdge:b}},soe=()=>{const{getNode:e,getEdge:t}=ioe(),n=$e.use.selectedNode(),r=$e.use.focusedNode(),a=$e.use.selectedEdge(),o=$e.use.focusedEdge(),[s,u]=w.useState(null),[c,d]=w.useState(null);return w.useEffect(()=>{let p=null,g=null;r?(p="node",g=e(r)):n?(p="node",g=e(n)):o?(p="edge",g=t(o,!0)):a&&(p="edge",g=t(a,!0)),g?(p=="node"?u(loe(g)):u(uoe(g)),d(p)):(u(null),d(null))},[r,n,o,a,u,d,e,t]),s?E.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:c=="node"?E.jsx(coe,{node:s}):E.jsx(doe,{edge:s})}):E.jsx(E.Fragment,{})},loe=e=>{const t=$e.getState(),n=[];if(t.sigmaGraph&&t.rawGraph)try{if(!t.sigmaGraph.hasNode(e.id))return{...e,relationships:[]};const r=t.sigmaGraph.edges(e.id);for(const a of r){if(!t.sigmaGraph.hasEdge(a))continue;const o=t.rawGraph.getEdge(a,!0);if(o){const u=e.id===o.source?o.target:o.source;if(!t.sigmaGraph.hasNode(u))continue;const c=t.rawGraph.getNode(u);c&&n.push({type:"Neighbour",id:u,label:c.properties.entity_id?c.properties.entity_id:c.labels.join(", ")})}}}catch(r){console.error("Error refining node properties:",r)}return{...e,relationships:n}},uoe=e=>{const t=$e.getState();let n,r;if(t.sigmaGraph&&t.rawGraph)try{if(!t.sigmaGraph.hasEdge(e.id))return{...e,sourceNode:void 0,targetNode:void 0};t.sigmaGraph.hasNode(e.source)&&(n=t.rawGraph.getNode(e.source)),t.sigmaGraph.hasNode(e.target)&&(r=t.rawGraph.getNode(e.target))}catch(a){console.error("Error refining edge properties:",a)}return{...e,sourceNode:n,targetNode:r}},na=({name:e,value:t,onClick:n,tooltip:r})=>{const{t:a}=kt(),o=s=>{const u=`graphPanel.propertiesView.node.propertyNames.${s}`,c=a(u);return c===u?s:c};return E.jsxs("div",{className:"flex items-center gap-2",children:[E.jsx("label",{className:"text-primary/60 tracking-wide whitespace-nowrap",children:o(e)}),":",E.jsx(Jn,{className:"hover:bg-primary/20 rounded p-1 overflow-hidden text-ellipsis",tooltipClassName:"max-w-80",text:t,tooltip:r||(typeof t=="string"?t:JSON.stringify(t,null,2)),side:"left",onClick:n})]})},coe=({node:e})=>{const{t}=kt(),n=()=>{$e.getState().triggerNodeExpand(e.id)},r=()=>{$e.getState().triggerNodePrune(e.id)};return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsxs("div",{className:"flex justify-between items-center",children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-blue-700",children:t("graphPanel.propertiesView.node.title")}),E.jsxs("div",{className:"flex gap-3",children:[E.jsx(rt,{size:"icon",variant:"ghost",className:"h-7 w-7 border border-gray-400 hover:bg-gray-200 dark:border-gray-600 dark:hover:bg-gray-700",onClick:n,tooltip:t("graphPanel.propertiesView.node.expandNode"),children:E.jsx(hZ,{className:"h-4 w-4 text-gray-700 dark:text-gray-300"})}),E.jsx(rt,{size:"icon",variant:"ghost",className:"h-7 w-7 border border-gray-400 hover:bg-gray-200 dark:border-gray-600 dark:hover:bg-gray-700",onClick:r,tooltip:t("graphPanel.propertiesView.node.pruneNode"),children:E.jsx(jZ,{className:"h-4 w-4 text-gray-900 dark:text-gray-300"})})]})]}),E.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[E.jsx(na,{name:t("graphPanel.propertiesView.node.id"),value:e.id}),E.jsx(na,{name:t("graphPanel.propertiesView.node.labels"),value:e.labels.join(", "),onClick:()=>{$e.getState().setSelectedNode(e.id,!0)}}),E.jsx(na,{name:t("graphPanel.propertiesView.node.degree"),value:e.degree})]}),E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-amber-700",children:t("graphPanel.propertiesView.node.properties")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(a=>E.jsx(na,{name:a,value:e.properties[a]},a))}),e.relationships.length>0&&E.jsxs(E.Fragment,{children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-emerald-700",children:t("graphPanel.propertiesView.node.relationships")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:e.relationships.map(({type:a,id:o,label:s})=>E.jsx(na,{name:a,value:s,onClick:()=>{$e.getState().setSelectedNode(o,!0)}},o))})]})]})},doe=({edge:e})=>{const{t}=kt();return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-violet-700",children:t("graphPanel.propertiesView.edge.title")}),E.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[E.jsx(na,{name:t("graphPanel.propertiesView.edge.id"),value:e.id}),e.type&&E.jsx(na,{name:t("graphPanel.propertiesView.edge.type"),value:e.type}),E.jsx(na,{name:t("graphPanel.propertiesView.edge.source"),value:e.sourceNode?e.sourceNode.labels.join(", "):e.source,onClick:()=>{$e.getState().setSelectedNode(e.source,!0)}}),E.jsx(na,{name:t("graphPanel.propertiesView.edge.target"),value:e.targetNode?e.targetNode.labels.join(", "):e.target,onClick:()=>{$e.getState().setSelectedNode(e.target,!0)}})]}),E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-amber-700",children:t("graphPanel.propertiesView.edge.properties")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(n=>E.jsx(na,{name:n,value:e.properties[n]},n))})]})},foe=()=>{const{t:e}=kt(),t=Me.use.graphQueryMaxDepth(),n=Me.use.graphMaxNodes();return E.jsxs("div",{className:"absolute bottom-4 left-[calc(1rem+2.5rem)] flex items-center gap-2 text-xs text-gray-400",children:[E.jsxs("div",{children:[e("graphPanel.sideBar.settings.depth"),": ",t]}),E.jsxs("div",{children:[e("graphPanel.sideBar.settings.max"),": ",n]})]})},FO={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:P4,curvedArrow:Fne,curvedNoArrow:Pne},nodeProgramClasses:{default:vne,circel:Ju,point:Wte},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},poe=()=>{const e=q4(),t=kr(),[n,r]=w.useState(null);return w.useEffect(()=>{e({downNode:a=>{r(a.node),t.getGraph().setNodeAttribute(a.node,"highlighted",!0)},mousemovebody:a=>{if(!n)return;const o=t.viewportToGraph(a);t.getGraph().setNodeAttribute(n,"x",o.x),t.getGraph().setNodeAttribute(n,"y",o.y),a.preventSigmaDefault(),a.original.preventDefault(),a.original.stopPropagation()},mouseup:()=>{n&&(r(null),t.getGraph().removeNodeAttribute(n,"highlighted"))},mousedown:a=>{a.original.buttons!==0&&!t.getCustomBBox()&&t.setCustomBBox(t.getBBox())}})},[e,t,n]),null},goe=()=>{const[e,t]=w.useState(FO),n=w.useRef(null),r=$e.use.selectedNode(),a=$e.use.focusedNode(),o=$e.use.moveToSelectedNode(),s=$e.use.isFetching(),u=Me.use.showPropertyPanel(),c=Me.use.showNodeSearchBar(),d=Me.use.enableNodeDrag();w.useEffect(()=>{t(FO),console.log("Initialized sigma settings")},[]),w.useEffect(()=>()=>{const y=$e.getState().sigmaInstance;if(y)try{y.kill(),$e.getState().setSigmaInstance(null),console.log("Cleared sigma instance on Graphviewer unmount")}catch(v){console.error("Error cleaning up sigma instance:",v)}},[]);const p=w.useCallback(y=>{y===null?$e.getState().setFocusedNode(null):y.type==="nodes"&&$e.getState().setFocusedNode(y.id)},[]),g=w.useCallback(y=>{y===null?$e.getState().setSelectedNode(null):y.type==="nodes"&&$e.getState().setSelectedNode(y.id,!0)},[]),m=w.useMemo(()=>a??r,[a,r]),b=w.useMemo(()=>r?{type:"nodes",id:r}:null,[r]);return E.jsxs("div",{className:"relative h-full w-full overflow-hidden",children:[E.jsxs(jte,{settings:e,className:"!bg-background !size-full overflow-hidden",ref:n,children:[E.jsx(nae,{}),d&&E.jsx(poe,{}),E.jsx(zne,{node:m,move:o}),E.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[E.jsx(Fae,{}),c&&E.jsx(Lae,{value:b,onFocus:p,onChange:g})]}),E.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[E.jsx(tae,{}),E.jsx(rae,{}),E.jsx(aae,{}),E.jsx(pae,{})]}),u&&E.jsx("div",{className:"absolute top-2 right-2",children:E.jsx(soe,{})}),E.jsx(foe,{})]}),s&&E.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/80 z-10",children:E.jsxs("div",{className:"text-center",children:[E.jsx("div",{className:"mb-2 h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"}),E.jsx("p",{children:"Loading Graph Data..."})]})})]})},F5=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{className:"relative w-full overflow-auto",children:E.jsx("table",{ref:n,className:Le("w-full caption-bottom text-sm",e),...t})}));F5.displayName="Table";const z5=w.forwardRef(({className:e,...t},n)=>E.jsx("thead",{ref:n,className:Le("[&_tr]:border-b",e),...t}));z5.displayName="TableHeader";const B5=w.forwardRef(({className:e,...t},n)=>E.jsx("tbody",{ref:n,className:Le("[&_tr:last-child]:border-0",e),...t}));B5.displayName="TableBody";const hoe=w.forwardRef(({className:e,...t},n)=>E.jsx("tfoot",{ref:n,className:Le("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t}));hoe.displayName="TableFooter";const s0=w.forwardRef(({className:e,...t},n)=>E.jsx("tr",{ref:n,className:Le("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t}));s0.displayName="TableRow";const wo=w.forwardRef(({className:e,...t},n)=>E.jsx("th",{ref:n,className:Le("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));wo.displayName="TableHead";const xo=w.forwardRef(({className:e,...t},n)=>E.jsx("td",{ref:n,className:Le("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));xo.displayName="TableCell";const moe=w.forwardRef(({className:e,...t},n)=>E.jsx("caption",{ref:n,className:Le("text-muted-foreground mt-4 text-sm",e),...t}));moe.displayName="TableCaption";const Fs=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("bg-card text-card-foreground rounded-xl border shadow",e),...t}));Fs.displayName="Card";const Cu=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("flex flex-col space-y-1.5 p-6",e),...t}));Cu.displayName="CardHeader";const _u=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("leading-none font-semibold tracking-tight",e),...t}));_u.displayName="CardTitle";const Cp=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("text-muted-foreground text-sm",e),...t}));Cp.displayName="CardDescription";const Nu=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("p-6 pt-0",e),...t}));Nu.displayName="CardContent";const boe=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("flex items-center p-6 pt-0",e),...t}));boe.displayName="CardFooter";function yoe({title:e,description:t,icon:n=uZ,action:r,className:a,...o}){return E.jsxs(Fs,{className:Le("flex w-full flex-col items-center justify-center space-y-6 bg-transparent p-16",a),...o,children:[E.jsx("div",{className:"mr-4 shrink-0 rounded-full border border-dashed p-4",children:E.jsx(n,{className:"text-muted-foreground size-8","aria-hidden":"true"})}),E.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[E.jsx(_u,{children:e}),t?E.jsx(Cp,{children:t}):null]}),r||null]})}var ub={exports:{}},cb,zO;function voe(){if(zO)return cb;zO=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return cb=e,cb}var db,BO;function Soe(){if(BO)return db;BO=1;var e=voe();function t(){}function n(){}return n.resetWarningCache=t,db=function(){function r(s,u,c,d,p,g){if(g!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}r.isRequired=r;function a(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return o.PropTypes=o,o},db}var UO;function Eoe(){return UO||(UO=1,ub.exports=Soe()()),ub.exports}var woe=Eoe();const It=cn(woe),xoe=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function zs(e,t,n){const r=koe(e),{webkitRelativePath:a}=e,o=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof r.path!="string"&&jO(r,"path",o),jO(r,"relativePath",o),r}function koe(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),a=xoe.get(r);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function jO(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const Toe=[".DS_Store","Thumbs.db"];function Aoe(e){return ki(this,void 0,void 0,function*(){return Of(e)&&Roe(e.dataTransfer)?Ooe(e.dataTransfer,e.type):Coe(e)?_oe(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?Noe(e):[]})}function Roe(e){return Of(e)}function Coe(e){return Of(e)&&Of(e.target)}function Of(e){return typeof e=="object"&&e!==null}function _oe(e){return l0(e.target.files).map(t=>zs(t))}function Noe(e){return ki(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>zs(n))})}function Ooe(e,t){return ki(this,void 0,void 0,function*(){if(e.items){const n=l0(e.items).filter(a=>a.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(Ioe));return GO(U5(r))}return GO(l0(e.files).map(n=>zs(n)))})}function GO(e){return e.filter(t=>Toe.indexOf(t.name)===-1)}function l0(e){if(e===null)return[];const t=[];for(let n=0;n[...t,...Array.isArray(n)?U5(n):[n]],[])}function HO(e,t){return ki(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const o=yield e.getAsFileSystemHandle();if(o===null)throw new Error(`${e} is not a File`);if(o!==void 0){const s=yield o.getFile();return s.handle=o,zs(s)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return zs(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function Doe(e){return ki(this,void 0,void 0,function*(){return e.isDirectory?j5(e):Loe(e)})}function j5(e){const t=e.createReader();return new Promise((n,r)=>{const a=[];function o(){t.readEntries(s=>ki(this,void 0,void 0,function*(){if(s.length){const u=Promise.all(s.map(Doe));a.push(u),o()}else try{const u=yield Promise.all(a);n(u)}catch(u){r(u)}}),s=>{r(s)})}o()})}function Loe(e){return ki(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const a=zs(r,e.fullPath);t(a)},r=>{n(r)})})})}var Fd={},$O;function Moe(){return $O||($O=1,Fd.__esModule=!0,Fd.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",a=(e.type||"").toLowerCase(),o=a.replace(/\/.*$/,"");return n.some(function(s){var u=s.trim().toLowerCase();return u.charAt(0)==="."?r.toLowerCase().endsWith(u):u.endsWith("/*")?o===u.replace(/\/.*$/,""):a===u})}return!0}),Fd}var Poe=Moe();const fb=cn(Poe);function qO(e){return Boe(e)||zoe(e)||H5(e)||Foe()}function Foe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. + */var EO;function Mre(){if(EO)return Jm;EO=1;var e=$f();function t(g,m){return g===m&&(g!==0||1/g===1/m)||g!==g&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(g,m){var b=m(),y=r({inst:{value:b,getSnapshot:m}}),v=y[0].inst,x=y[1];return o(function(){v.value=b,v.getSnapshot=m,c(v)&&x({inst:v})},[g,b,m]),a(function(){return c(v)&&x({inst:v}),g(function(){c(v)&&x({inst:v})})},[g]),s(b),b}function c(g){var m=g.getSnapshot;g=g.value;try{var b=m();return!n(g,b)}catch{return!0}}function d(g,m){return m()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return Jm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,Jm}var wO;function Pre(){return wO||(wO=1,Qm.exports=Mre()),Qm.exports}var Fre=Pre(),uu='[cmdk-group=""]',eb='[cmdk-group-items=""]',zre='[cmdk-group-heading=""]',PT='[cmdk-item=""]',xO=`${PT}:not([aria-disabled="true"])`,n0="cmdk-item-select",ui="data-value",Bre=(e,t,n)=>Lre(e,t,n),m5=w.createContext(void 0),rc=()=>w.useContext(m5),b5=w.createContext(void 0),FT=()=>w.useContext(b5),y5=w.createContext(void 0),v5=w.forwardRef((e,t)=>{let n=Ss(()=>{var U,P;return{search:"",value:(P=(U=e.value)!=null?U:e.defaultValue)!=null?P:"",filtered:{count:0,items:new Map,groups:new Set}}}),r=Ss(()=>new Set),a=Ss(()=>new Map),o=Ss(()=>new Map),s=Ss(()=>new Set),u=S5(e),{label:c,children:d,value:p,onValueChange:g,filter:m,shouldFilter:b,loop:y,disablePointerSelection:v=!1,vimBindings:x=!0,...A}=e,k=An(),R=An(),O=An(),N=w.useRef(null),C=Xre();vi(()=>{if(p!==void 0){let U=p.trim();n.current.value=U,_.emit()}},[p]),vi(()=>{C(6,B)},[]);let _=w.useMemo(()=>({subscribe:U=>(s.current.add(U),()=>s.current.delete(U)),snapshot:()=>n.current,setState:(U,P,K)=>{var ee,le,X;if(!Object.is(n.current[U],P)){if(n.current[U]=P,U==="search")$(),D(),C(1,H);else if(U==="value"&&(K||C(5,B),((ee=u.current)==null?void 0:ee.value)!==void 0)){let J=P??"";(X=(le=u.current).onValueChange)==null||X.call(le,J);return}_.emit()}},emit:()=>{s.current.forEach(U=>U())}}),[]),L=w.useMemo(()=>({value:(U,P,K)=>{var ee;P!==((ee=o.current.get(U))==null?void 0:ee.value)&&(o.current.set(U,{value:P,keywords:K}),n.current.filtered.items.set(U,I(P,K)),C(2,()=>{D(),_.emit()}))},item:(U,P)=>(r.current.add(U),P&&(a.current.has(P)?a.current.get(P).add(U):a.current.set(P,new Set([U]))),C(3,()=>{$(),D(),n.current.value||H(),_.emit()}),()=>{o.current.delete(U),r.current.delete(U),n.current.filtered.items.delete(U);let K=W();C(4,()=>{$(),(K==null?void 0:K.getAttribute("id"))===U&&H(),_.emit()})}),group:U=>(a.current.has(U)||a.current.set(U,new Set),()=>{o.current.delete(U),a.current.delete(U)}),filter:()=>u.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:k,inputId:O,labelId:R,listInnerRef:N}),[]);function I(U,P){var K,ee;let le=(ee=(K=u.current)==null?void 0:K.filter)!=null?ee:Bre;return U?le(U,n.current.search,P):0}function D(){if(!n.current.search||u.current.shouldFilter===!1)return;let U=n.current.filtered.items,P=[];n.current.filtered.groups.forEach(ee=>{let le=a.current.get(ee),X=0;le.forEach(J=>{let he=U.get(J);X=Math.max(he,X)}),P.push([ee,X])});let K=N.current;Q().sort((ee,le)=>{var X,J;let he=ee.getAttribute("id"),oe=le.getAttribute("id");return((X=U.get(oe))!=null?X:0)-((J=U.get(he))!=null?J:0)}).forEach(ee=>{let le=ee.closest(eb);le?le.appendChild(ee.parentElement===le?ee:ee.closest(`${eb} > *`)):K.appendChild(ee.parentElement===K?ee:ee.closest(`${eb} > *`))}),P.sort((ee,le)=>le[1]-ee[1]).forEach(ee=>{var le;let X=(le=N.current)==null?void 0:le.querySelector(`${uu}[${ui}="${encodeURIComponent(ee[0])}"]`);X==null||X.parentElement.appendChild(X)})}function H(){let U=Q().find(K=>K.getAttribute("aria-disabled")!=="true"),P=U==null?void 0:U.getAttribute(ui);_.setState("value",P||void 0)}function $(){var U,P,K,ee;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let le=0;for(let X of r.current){let J=(P=(U=o.current.get(X))==null?void 0:U.value)!=null?P:"",he=(ee=(K=o.current.get(X))==null?void 0:K.keywords)!=null?ee:[],oe=I(J,he);n.current.filtered.items.set(X,oe),oe>0&&le++}for(let[X,J]of a.current)for(let he of J)if(n.current.filtered.items.get(he)>0){n.current.filtered.groups.add(X);break}n.current.filtered.count=le}function B(){var U,P,K;let ee=W();ee&&(((U=ee.parentElement)==null?void 0:U.firstChild)===ee&&((K=(P=ee.closest(uu))==null?void 0:P.querySelector(zre))==null||K.scrollIntoView({block:"nearest"})),ee.scrollIntoView({block:"nearest"}))}function W(){var U;return(U=N.current)==null?void 0:U.querySelector(`${PT}[aria-selected="true"]`)}function Q(){var U;return Array.from(((U=N.current)==null?void 0:U.querySelectorAll(xO))||[])}function G(U){let P=Q()[U];P&&_.setState("value",P.getAttribute(ui))}function j(U){var P;let K=W(),ee=Q(),le=ee.findIndex(J=>J===K),X=ee[le+U];(P=u.current)!=null&&P.loop&&(X=le+U<0?ee[ee.length-1]:le+U===ee.length?ee[0]:ee[le+U]),X&&_.setState("value",X.getAttribute(ui))}function F(U){let P=W(),K=P==null?void 0:P.closest(uu),ee;for(;K&&!ee;)K=U>0?Yre(K,uu):Kre(K,uu),ee=K==null?void 0:K.querySelector(xO);ee?_.setState("value",ee.getAttribute(ui)):j(U)}let Y=()=>G(Q().length-1),M=U=>{U.preventDefault(),U.metaKey?Y():U.altKey?F(1):j(1)},V=U=>{U.preventDefault(),U.metaKey?G(0):U.altKey?F(-1):j(-1)};return w.createElement(Je.div,{ref:t,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:U=>{var P;if((P=A.onKeyDown)==null||P.call(A,U),!U.defaultPrevented)switch(U.key){case"n":case"j":{x&&U.ctrlKey&&M(U);break}case"ArrowDown":{M(U);break}case"p":case"k":{x&&U.ctrlKey&&V(U);break}case"ArrowUp":{V(U);break}case"Home":{U.preventDefault(),G(0);break}case"End":{U.preventDefault(),Y();break}case"Enter":if(!U.nativeEvent.isComposing&&U.keyCode!==229){U.preventDefault();let K=W();if(K){let ee=new Event(n0);K.dispatchEvent(ee)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:L.inputId,id:L.labelId,style:Qre},c),Tp(e,U=>w.createElement(b5.Provider,{value:_},w.createElement(m5.Provider,{value:L},U))))}),Ure=w.forwardRef((e,t)=>{var n,r;let a=An(),o=w.useRef(null),s=w.useContext(y5),u=rc(),c=S5(e),d=(r=(n=c.current)==null?void 0:n.forceMount)!=null?r:s==null?void 0:s.forceMount;vi(()=>{if(!d)return u.item(a,s==null?void 0:s.id)},[d]);let p=E5(a,o,[e.value,e.children,o],e.keywords),g=FT(),m=Si(C=>C.value&&C.value===p.current),b=Si(C=>d||u.filter()===!1?!0:C.search?C.filtered.items.get(a)>0:!0);w.useEffect(()=>{let C=o.current;if(!(!C||e.disabled))return C.addEventListener(n0,y),()=>C.removeEventListener(n0,y)},[b,e.onSelect,e.disabled]);function y(){var C,_;v(),(_=(C=c.current).onSelect)==null||_.call(C,p.current)}function v(){g.setState("value",p.current,!0)}if(!b)return null;let{disabled:x,value:A,onSelect:k,forceMount:R,keywords:O,...N}=e;return w.createElement(Je.div,{ref:Ru([o,t]),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!x,"aria-selected":!!m,"data-disabled":!!x,"data-selected":!!m,onPointerMove:x||u.getDisablePointerSelection()?void 0:v,onClick:x?void 0:y},e.children)}),jre=w.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...o}=e,s=An(),u=w.useRef(null),c=w.useRef(null),d=An(),p=rc(),g=Si(b=>a||p.filter()===!1?!0:b.search?b.filtered.groups.has(s):!0);vi(()=>p.group(s),[]),E5(s,u,[e.value,e.heading,c]);let m=w.useMemo(()=>({id:s,forceMount:a}),[a]);return w.createElement(Je.div,{ref:Ru([u,t]),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},n&&w.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:d},n),Tp(e,b=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?d:void 0},w.createElement(y5.Provider,{value:m},b))))}),Gre=w.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=w.useRef(null),o=Si(s=>!s.search);return!n&&!o?null:w.createElement(Je.div,{ref:Ru([a,t]),...r,"cmdk-separator":"",role:"separator"})}),Hre=w.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,o=FT(),s=Si(p=>p.search),u=Si(p=>p.value),c=rc(),d=w.useMemo(()=>{var p;let g=(p=c.listInnerRef.current)==null?void 0:p.querySelector(`${PT}[${ui}="${encodeURIComponent(u)}"]`);return g==null?void 0:g.getAttribute("id")},[]);return w.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),w.createElement(Je.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":d,id:c.inputId,type:"text",value:a?e.value:s,onChange:p=>{a||o.setState("search",p.target.value),n==null||n(p.target.value)}})}),$re=w.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,o=w.useRef(null),s=w.useRef(null),u=rc();return w.useEffect(()=>{if(s.current&&o.current){let c=s.current,d=o.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let m=c.offsetHeight;d.style.setProperty("--cmdk-list-height",m.toFixed(1)+"px")})});return g.observe(c),()=>{cancelAnimationFrame(p),g.unobserve(c)}}},[]),w.createElement(Je.div,{ref:Ru([o,t]),...a,"cmdk-list":"",role:"listbox","aria-label":r,id:u.listId},Tp(e,c=>w.createElement("div",{ref:Ru([s,u.listInnerRef]),"cmdk-list-sizer":""},c)))}),qre=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:o,container:s,...u}=e;return w.createElement(K0,{open:n,onOpenChange:r},w.createElement(X0,{container:s},w.createElement(rp,{"cmdk-overlay":"",className:a}),w.createElement(ap,{"aria-label":e.label,"cmdk-dialog":"",className:o},w.createElement(v5,{ref:t,...u}))))}),Vre=w.forwardRef((e,t)=>Si(n=>n.filtered.count===0)?w.createElement(Je.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Wre=w.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...o}=e;return w.createElement(Je.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Tp(e,s=>w.createElement("div",{"aria-hidden":!0},s)))}),Vn=Object.assign(v5,{List:$re,Item:Ure,Input:Hre,Group:jre,Separator:Gre,Dialog:qre,Empty:Vre,Loading:Wre});function Yre(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Kre(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function S5(e){let t=w.useRef(e);return vi(()=>{t.current=e}),t}var vi=typeof window>"u"?w.useEffect:w.useLayoutEffect;function Ss(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function Ru(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function Si(e){let t=FT(),n=()=>e(t.snapshot());return Fre.useSyncExternalStore(t.subscribe,n,n)}function E5(e,t,n,r=[]){let a=w.useRef(),o=rc();return vi(()=>{var s;let u=(()=>{var d;for(let p of n){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(d=p.current.textContent)==null?void 0:d.trim():a.current}})(),c=r.map(d=>d.trim());o.value(e,u,c),(s=t.current)==null||s.setAttribute(ui,u),a.current=u}),a}var Xre=()=>{let[e,t]=w.useState(),n=Ss(()=>new Map);return vi(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function Zre(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Tp({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(Zre(t),{ref:t.ref},n(t.props.children)):n(t)}var Qre={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Ap=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn,{ref:n,className:Le("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));Ap.displayName=Vn.displayName;const zT=w.forwardRef(({className:e,...t},n)=>E.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[E.jsx(HZ,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),E.jsx(Vn.Input,{ref:n,className:Le("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));zT.displayName=Vn.Input.displayName;const Rp=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.List,{ref:n,className:Le("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));Rp.displayName=Vn.List.displayName;const BT=w.forwardRef((e,t)=>E.jsx(Vn.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));BT.displayName=Vn.Empty.displayName;const el=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Group,{ref:n,className:Le("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t}));el.displayName=Vn.Group.displayName;const Jre=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Separator,{ref:n,className:Le("bg-border -mx-1 h-px",e),...t}));Jre.displayName=Vn.Separator.displayName;const tl=w.forwardRef(({className:e,...t},n)=>E.jsx(Vn.Item,{ref:n,className:Le("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));tl.displayName=Vn.Item.displayName;const eae=({layout:e,autoRunFor:t,mainLayout:n})=>{const r=kr(),[a,o]=w.useState(!1),s=w.useRef(null),{t:u}=kt(),c=w.useCallback(()=>{if(r)try{const p=r.getGraph();if(!p||p.order===0)return;const g=n.positions();U4(p,g,{duration:300})}catch(p){console.error("Error updating positions:",p),s.current&&(window.clearInterval(s.current),s.current=null,o(!1))}},[r,n]),d=w.useCallback(()=>{if(a){console.log("Stopping layout animation"),s.current&&(window.clearInterval(s.current),s.current=null);try{typeof e.kill=="function"?(e.kill(),console.log("Layout algorithm killed")):typeof e.stop=="function"&&(e.stop(),console.log("Layout algorithm stopped"))}catch(p){console.error("Error stopping layout algorithm:",p)}o(!1)}else console.log("Starting layout animation"),c(),s.current=window.setInterval(()=>{c()},200),o(!0),setTimeout(()=>{if(s.current){console.log("Auto-stopping layout animation after 3 seconds"),window.clearInterval(s.current),s.current=null,o(!1);try{typeof e.kill=="function"?e.kill():typeof e.stop=="function"&&e.stop()}catch(p){console.error("Error stopping layout algorithm:",p)}}},3e3)},[a,e,c]);return w.useEffect(()=>{if(!r){console.log("No sigma instance available");return}let p=null;return t!==void 0&&t>-1&&r.getGraph().order>0&&(console.log("Auto-starting layout animation"),c(),s.current=window.setInterval(()=>{c()},200),o(!0),t>0&&(p=window.setTimeout(()=>{console.log("Auto-stopping layout animation after timeout"),s.current&&(window.clearInterval(s.current),s.current=null),o(!1)},t))),()=>{s.current&&(window.clearInterval(s.current),s.current=null),p&&window.clearTimeout(p),o(!1)}},[t,r,c]),E.jsx(rt,{size:"icon",onClick:d,tooltip:u(a?"graphPanel.sideBar.layoutsControl.stopAnimation":"graphPanel.sideBar.layoutsControl.startAnimation"),variant:Pr,children:a?E.jsx(IZ,{}):E.jsx(LZ,{})})},tae=()=>{const e=kr(),{t}=kt(),[n,r]=w.useState("Circular"),[a,o]=w.useState(!1),s=Me.use.graphLayoutMaxIterations(),u=Yne(),c=$ne(),d=Tre(),p=Sre({maxIterations:s,settings:{margin:5,expansion:1.1,gridSize:1,ratio:1,speed:3}}),g=tre({maxIterations:s,settings:{attraction:3e-4,repulsion:.02,gravity:.02,inertia:.4,maxMove:100}}),m=f5({iterations:s}),b=Ere(),y=nre(),v=dre(),x=w.useMemo(()=>({Circular:{layout:u},Circlepack:{layout:c},Random:{layout:d},Noverlaps:{layout:p,worker:b},"Force Directed":{layout:g,worker:y},"Force Atlas":{layout:m,worker:v}}),[c,u,g,m,p,d,y,b,v]),A=w.useCallback(k=>{console.debug("Running layout:",k);const{positions:R}=x[k].layout;try{const O=e.getGraph();if(!O){console.error("No graph available");return}const N=R();console.log("Positions calculated, animating nodes"),U4(O,N,{duration:400}),r(k)}catch(O){console.error("Error running layout:",O)}},[x,e]);return E.jsxs(E.Fragment,{children:[E.jsx("div",{children:x[n]&&"worker"in x[n]&&E.jsx(eae,{layout:x[n].worker,mainLayout:x[n].layout})}),E.jsx("div",{children:E.jsxs(mp,{open:a,onOpenChange:o,children:[E.jsx(bp,{asChild:!0,children:E.jsx(rt,{size:"icon",variant:Pr,onClick:()=>o(k=>!k),tooltip:t("graphPanel.sideBar.layoutsControl.layoutGraph"),children:E.jsx(vZ,{})})}),E.jsx(Xu,{side:"right",align:"center",className:"p-1",children:E.jsx(Ap,{children:E.jsx(Rp,{children:E.jsx(el,{children:Object.keys(x).map(k=>E.jsx(tl,{onSelect:()=>{A(k)},className:"cursor-pointer text-xs",children:t(`graphPanel.sideBar.layoutsControl.layouts.${k}`)},k))})})})})]})})]})},w5=()=>{const e=w.useContext(JB);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},Ld=e=>!!(e.type.startsWith("mouse")&&e.buttons!==0),nae=({disableHoverEffect:e})=>{const t=kr(),n=q4(),r=$4(),a=Me.use.graphLayoutMaxIterations(),{assign:o}=f5({iterations:a}),{theme:s}=w5(),u=Me.use.enableHideUnselectedEdges(),c=Me.use.enableEdgeEvents(),d=Me.use.showEdgeLabel(),p=Me.use.showNodeLabel(),g=$e.use.selectedNode(),m=$e.use.focusedNode(),b=$e.use.selectedEdge(),y=$e.use.focusedEdge(),v=$e.use.sigmaGraph();return w.useEffect(()=>{if(v&&t){try{typeof t.setGraph=="function"?(t.setGraph(v),console.log("Binding graph to sigma instance")):(t.graph=v,console.warn("Simgma missing setGraph function, set graph property directly"))}catch(x){console.error("Error setting graph on sigma instance:",x)}o(),console.log("Initial layout applied to graph")}},[t,v,o,a]),w.useEffect(()=>{t&&($e.getState().sigmaInstance||(console.log("Setting sigma instance from GraphControl"),$e.getState().setSigmaInstance(t)))},[t]),w.useEffect(()=>{const{setFocusedNode:x,setSelectedNode:A,setFocusedEdge:k,setSelectedEdge:R,clearSelection:O}=$e.getState(),N={enterNode:C=>{Ld(C.event.original)||x(C.node)},leaveNode:C=>{Ld(C.event.original)||x(null)},clickNode:C=>{A(C.node),R(null)},clickStage:()=>O()};c&&(N.clickEdge=C=>{R(C.edge),A(null)},N.enterEdge=C=>{Ld(C.event.original)||k(C.edge)},N.leaveEdge=C=>{Ld(C.event.original)||k(null)}),n(N)},[n,c]),w.useEffect(()=>{const x=s==="dark",A=x?oV:void 0,k=x?uV:void 0;r({enableEdgeEvents:c,renderEdgeLabels:d,renderLabels:p,nodeReducer:(R,O)=>{const N=t.getGraph(),C={...O,highlighted:O.highlighted||!1,labelColor:A};if(!e){C.highlighted=!1;const _=m||g,L=y||b;if(_&&N.hasNode(_))try{(R===_||N.neighbors(_).includes(R))&&(C.highlighted=!0,R===g&&(C.borderColor=lV))}catch(I){console.error("Error in nodeReducer:",I)}else if(L&&N.hasEdge(L))N.extremities(L).includes(R)&&(C.highlighted=!0,C.size=3);else return C;C.highlighted?x&&(C.labelColor=iV):C.color=sV}return C},edgeReducer:(R,O)=>{const N=t.getGraph(),C={...O,hidden:!1,labelColor:A,color:k};if(!e){const _=m||g;if(_&&N.hasNode(_))try{u?N.extremities(R).includes(_)||(C.hidden=!0):N.extremities(R).includes(_)&&(C.color=D_)}catch(L){console.error("Error in edgeReducer:",L)}else{const L=b&&N.hasEdge(b)?b:null,I=y&&N.hasEdge(y)?y:null;(L||I)&&(R===L?C.color=cV:R===I?C.color=D_:u&&(C.hidden=!0))}}return C}})},[g,m,b,y,r,t,e,s,u,c,d,p]),null},rae=()=>{const{zoomIn:e,zoomOut:t,reset:n}=V4({duration:200,factor:1.5}),r=kr(),{t:a}=kt(),o=w.useCallback(()=>e(),[e]),s=w.useCallback(()=>t(),[t]),u=w.useCallback(()=>{if(r)try{r.setCustomBBox(null),r.refresh();const p=r.getGraph();if(!(p!=null&&p.order)||p.nodes().length===0){n();return}r.getCamera().animate({x:.5,y:.5,ratio:1.1},{duration:1e3})}catch(p){console.error("Error resetting zoom:",p),n()}},[r,n]),c=w.useCallback(()=>{if(!r)return;const p=r.getCamera(),m=p.angle+Math.PI/8;p.animate({angle:m},{duration:200})},[r]),d=w.useCallback(()=>{if(!r)return;const p=r.getCamera(),m=p.angle-Math.PI/8;p.animate({angle:m},{duration:200})},[r]);return E.jsxs(E.Fragment,{children:[E.jsx(rt,{variant:Pr,onClick:d,tooltip:a("graphPanel.sideBar.zoomControl.rotateCameraCounterClockwise"),size:"icon",children:E.jsx(FZ,{})}),E.jsx(rt,{variant:Pr,onClick:c,tooltip:a("graphPanel.sideBar.zoomControl.rotateCamera"),size:"icon",children:E.jsx(BZ,{})}),E.jsx(rt,{variant:Pr,onClick:u,tooltip:a("graphPanel.sideBar.zoomControl.resetZoom"),size:"icon",children:E.jsx(pZ,{})}),E.jsx(rt,{variant:Pr,onClick:o,tooltip:a("graphPanel.sideBar.zoomControl.zoomIn"),size:"icon",children:E.jsx(nQ,{})}),E.jsx(rt,{variant:Pr,onClick:s,tooltip:a("graphPanel.sideBar.zoomControl.zoomOut"),size:"icon",children:E.jsx(aQ,{})})]})},aae=()=>{const{isFullScreen:e,toggle:t}=Ute(),{t:n}=kt();return E.jsx(E.Fragment,{children:e?E.jsx(rt,{variant:Pr,onClick:t,tooltip:n("graphPanel.sideBar.fullScreenControl.windowed"),size:"icon",children:E.jsx(CZ,{})}):E.jsx(rt,{variant:Pr,onClick:t,tooltip:n("graphPanel.sideBar.fullScreenControl.fullScreen"),size:"icon",children:E.jsx(AZ,{})})})};var UT="Checkbox",[oae,uke]=Hr(UT),[iae,sae]=oae(UT),x5=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:o,required:s,disabled:u,value:c="on",onCheckedChange:d,form:p,...g}=e,[m,b]=w.useState(null),y=mt(t,O=>b(O)),v=w.useRef(!1),x=m?p||!!m.closest("form"):!0,[A=!1,k]=Ua({prop:a,defaultProp:o,onChange:d}),R=w.useRef(A);return w.useEffect(()=>{const O=m==null?void 0:m.form;if(O){const N=()=>k(R.current);return O.addEventListener("reset",N),()=>O.removeEventListener("reset",N)}},[m,k]),E.jsxs(iae,{scope:n,state:A,disabled:u,children:[E.jsx(Je.button,{type:"button",role:"checkbox","aria-checked":Ro(A)?"mixed":A,"aria-required":s,"data-state":A5(A),"data-disabled":u?"":void 0,disabled:u,value:c,...g,ref:y,onKeyDown:Ke(e.onKeyDown,O=>{O.key==="Enter"&&O.preventDefault()}),onClick:Ke(e.onClick,O=>{k(N=>Ro(N)?!0:!N),x&&(v.current=O.isPropagationStopped(),v.current||O.stopPropagation())})}),x&&E.jsx(lae,{control:m,bubbles:!v.current,name:r,value:c,checked:A,required:s,disabled:u,form:p,style:{transform:"translateX(-100%)"},defaultChecked:Ro(o)?!1:o})]})});x5.displayName=UT;var k5="CheckboxIndicator",T5=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,o=sae(k5,n);return E.jsx(xr,{present:r||Ro(o.state)||o.state===!0,children:E.jsx(Je.span,{"data-state":A5(o.state),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});T5.displayName=k5;var lae=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:a,...o}=e,s=w.useRef(null),u=e3(n),c=cj(t);w.useEffect(()=>{const p=s.current,g=window.HTMLInputElement.prototype,b=Object.getOwnPropertyDescriptor(g,"checked").set;if(u!==n&&b){const y=new Event("click",{bubbles:r});p.indeterminate=Ro(n),b.call(p,Ro(n)?!1:n),p.dispatchEvent(y)}},[u,n,r]);const d=w.useRef(Ro(n)?!1:n);return E.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??d.current,...o,tabIndex:-1,ref:s,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Ro(e){return e==="indeterminate"}function A5(e){return Ro(e)?"indeterminate":e?"checked":"unchecked"}var R5=x5,uae=T5;const _s=w.forwardRef(({className:e,...t},n)=>E.jsx(R5,{ref:n,className:Le("peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-muted data-[state=checked]:text-muted-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:E.jsx(uae,{className:Le("flex items-center justify-center text-current"),children:E.jsx(bT,{className:"h-4 w-4"})})}));_s.displayName=R5.displayName;var cae="Separator",kO="horizontal",dae=["horizontal","vertical"],C5=w.forwardRef((e,t)=>{const{decorative:n,orientation:r=kO,...a}=e,o=fae(r)?r:kO,u=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return E.jsx(Je.div,{"data-orientation":o,...u,...a,ref:t})});C5.displayName=cae;function fae(e){return dae.includes(e)}var _5=C5;const Es=w.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>E.jsx(_5,{ref:a,decorative:n,orientation:t,className:Le("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Es.displayName=_5.displayName;const vo=({checked:e,onCheckedChange:t,label:n})=>E.jsxs("div",{className:"flex items-center gap-2",children:[E.jsx(_s,{checked:e,onCheckedChange:t}),E.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n})]}),tb=({value:e,onEditFinished:t,label:n,min:r,max:a,defaultValue:o})=>{const{t:s}=kt(),[u,c]=w.useState(e),d=w.useCallback(m=>{const b=m.target.value.trim();if(b.length===0){c(null);return}const y=Number.parseInt(b);if(!isNaN(y)&&y!==u){if(r!==void 0&&ya)return;c(y)}},[u,r,a]),p=w.useCallback(()=>{u!==null&&e!==u&&t(u)},[e,u,t]),g=w.useCallback(()=>{o!==void 0&&e!==o&&(c(o),t(o))},[o,e,t]);return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n}),E.jsxs("div",{className:"flex items-center gap-1",children:[E.jsx(ia,{type:"number",value:u===null?"":u,onChange:d,className:"h-6 w-full min-w-0 pr-1",min:r,max:a,onBlur:p,onKeyDown:m=>{m.key==="Enter"&&p()}}),o!==void 0&&E.jsx(rt,{variant:"ghost",size:"icon",className:"h-6 w-6 flex-shrink-0 hover:bg-muted text-muted-foreground hover:text-foreground",onClick:g,type:"button",title:s("graphPanel.sideBar.settings.resetToDefault"),children:E.jsx(ZZ,{className:"h-3.5 w-3.5"})})]})]})};function pae(){const[e,t]=w.useState(!1),n=Me.use.showPropertyPanel(),r=Me.use.showNodeSearchBar(),a=Me.use.showNodeLabel(),o=Me.use.enableEdgeEvents(),s=Me.use.enableNodeDrag(),u=Me.use.enableHideUnselectedEdges(),c=Me.use.showEdgeLabel(),d=Me.use.graphQueryMaxDepth(),p=Me.use.graphMaxNodes(),g=Me.use.graphLayoutMaxIterations(),m=Me.use.enableHealthCheck(),b=w.useCallback(()=>Me.setState(D=>({enableNodeDrag:!D.enableNodeDrag})),[]),y=w.useCallback(()=>Me.setState(D=>({enableEdgeEvents:!D.enableEdgeEvents})),[]),v=w.useCallback(()=>Me.setState(D=>({enableHideUnselectedEdges:!D.enableHideUnselectedEdges})),[]),x=w.useCallback(()=>Me.setState(D=>({showEdgeLabel:!D.showEdgeLabel})),[]),A=w.useCallback(()=>Me.setState(D=>({showPropertyPanel:!D.showPropertyPanel})),[]),k=w.useCallback(()=>Me.setState(D=>({showNodeSearchBar:!D.showNodeSearchBar})),[]),R=w.useCallback(()=>Me.setState(D=>({showNodeLabel:!D.showNodeLabel})),[]),O=w.useCallback(()=>Me.setState(D=>({enableHealthCheck:!D.enableHealthCheck})),[]),N=w.useCallback(D=>{if(D<1)return;Me.setState({graphQueryMaxDepth:D});const H=Me.getState().queryLabel;Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(H)},300)},[]),C=w.useCallback(D=>{if(D<1||D>1e3)return;Me.setState({graphMaxNodes:D});const H=Me.getState().queryLabel;Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(H)},300)},[]),_=w.useCallback(D=>{D<1||Me.setState({graphLayoutMaxIterations:D})},[]),{t:L}=kt(),I=()=>t(!1);return E.jsx(E.Fragment,{children:E.jsxs(mp,{open:e,onOpenChange:t,children:[E.jsx(bp,{asChild:!0,children:E.jsx(rt,{variant:Pr,tooltip:L("graphPanel.sideBar.settings.settings"),size:"icon",children:E.jsx(WZ,{})})}),E.jsx(Xu,{side:"right",align:"start",className:"mb-2 p-2",onCloseAutoFocus:D=>D.preventDefault(),children:E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx(vo,{checked:m,onCheckedChange:O,label:L("graphPanel.sideBar.settings.healthCheck")}),E.jsx(Es,{}),E.jsx(vo,{checked:n,onCheckedChange:A,label:L("graphPanel.sideBar.settings.showPropertyPanel")}),E.jsx(vo,{checked:r,onCheckedChange:k,label:L("graphPanel.sideBar.settings.showSearchBar")}),E.jsx(Es,{}),E.jsx(vo,{checked:a,onCheckedChange:R,label:L("graphPanel.sideBar.settings.showNodeLabel")}),E.jsx(vo,{checked:s,onCheckedChange:b,label:L("graphPanel.sideBar.settings.nodeDraggable")}),E.jsx(Es,{}),E.jsx(vo,{checked:c,onCheckedChange:x,label:L("graphPanel.sideBar.settings.showEdgeLabel")}),E.jsx(vo,{checked:u,onCheckedChange:v,label:L("graphPanel.sideBar.settings.hideUnselectedEdges")}),E.jsx(vo,{checked:o,onCheckedChange:y,label:L("graphPanel.sideBar.settings.edgeEvents")}),E.jsx(Es,{}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxQueryDepth"),min:1,value:d,defaultValue:3,onEditFinished:N}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxNodes"),min:1,max:1e3,value:p,defaultValue:1e3,onEditFinished:C}),E.jsx(tb,{label:L("graphPanel.sideBar.settings.maxLayoutIterations"),min:1,max:30,value:g,defaultValue:15,onEditFinished:_}),E.jsx(Es,{}),E.jsx(rt,{onClick:I,variant:"outline",size:"sm",className:"ml-auto px-4",children:L("graphPanel.sideBar.settings.save")})]})})]})})}const gae="ENTRIES",N5="KEYS",O5="VALUES",bn="";class nb{constructor(t,n){const r=t._tree,a=Array.from(r.keys());this.set=t,this._type=n,this._path=a.length>0?[{node:r,keys:a}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:n}=gs(this._path);if(gs(n)===bn)return{done:!1,value:this.result()};const r=t.get(gs(n));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=gs(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>gs(t)).filter(t=>t!==bn).join("")}value(){return gs(this._path).node.get(bn)}result(){switch(this._type){case O5:return this.value();case N5:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const gs=e=>e[e.length-1],hae=(e,t,n)=>{const r=new Map;if(t===void 0)return r;const a=t.length+1,o=a+n,s=new Uint8Array(o*a).fill(n+1);for(let u=0;u{const c=o*s;e:for(const d of e.keys())if(d===bn){const p=a[c-1];p<=n&&r.set(u,[e.get(d),p])}else{let p=o;for(let g=0;gn)continue e}I5(e.get(d),t,n,r,a,p,s,u+d)}};class To{constructor(t=new Map,n=""){this._size=void 0,this._tree=t,this._prefix=n}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[n,r]=_f(this._tree,t.slice(this._prefix.length));if(n===void 0){const[a,o]=jT(r);for(const s of a.keys())if(s!==bn&&s.startsWith(o)){const u=new Map;return u.set(s.slice(o.length),a.get(s)),new To(u,t)}}return new To(n,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,mae(this._tree,t)}entries(){return new nb(this,gae)}forEach(t){for(const[n,r]of this)t(n,r,this)}fuzzyGet(t,n){return hae(this._tree,t,n)}get(t){const n=r0(this._tree,t);return n!==void 0?n.get(bn):void 0}has(t){const n=r0(this._tree,t);return n!==void 0&&n.has(bn)}keys(){return new nb(this,N5)}set(t,n){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,rb(this._tree,t).set(bn,n),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=rb(this._tree,t);return r.set(bn,n(r.get(bn))),this}fetch(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const r=rb(this._tree,t);let a=r.get(bn);return a===void 0&&r.set(bn,a=n()),a}values(){return new nb(this,O5)}[Symbol.iterator](){return this.entries()}static from(t){const n=new To;for(const[r,a]of t)n.set(r,a);return n}static fromObject(t){return To.from(Object.entries(t))}}const _f=(e,t,n=[])=>{if(t.length===0||e==null)return[e,n];for(const r of e.keys())if(r!==bn&&t.startsWith(r))return n.push([e,r]),_f(e.get(r),t.slice(r.length),n);return n.push([e,t]),_f(void 0,"",n)},r0=(e,t)=>{if(t.length===0||e==null)return e;for(const n of e.keys())if(n!==bn&&t.startsWith(n))return r0(e.get(n),t.slice(n.length))},rb=(e,t)=>{const n=t.length;e:for(let r=0;e&&r{const[n,r]=_f(e,t);if(n!==void 0){if(n.delete(bn),n.size===0)D5(r);else if(n.size===1){const[a,o]=n.entries().next().value;L5(r,a,o)}}},D5=e=>{if(e.length===0)return;const[t,n]=jT(e);if(t.delete(n),t.size===0)D5(e.slice(0,-1));else if(t.size===1){const[r,a]=t.entries().next().value;r!==bn&&L5(e.slice(0,-1),r,a)}},L5=(e,t,n)=>{if(e.length===0)return;const[r,a]=jT(e);r.set(a+t,n),r.delete(a)},jT=e=>e[e.length-1],GT="or",M5="and",bae="and_not";class Co{constructor(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const n=t.autoVacuum==null||t.autoVacuum===!0?ib:t.autoVacuum;this._options={...ob,...t,autoVacuum:n,searchOptions:{...TO,...t.searchOptions||{}},autoSuggestOptions:{...wae,...t.autoSuggestOptions||{}}},this._index=new To,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=o0,this.addFields(this._options.fields)}add(t){const{extractField:n,tokenize:r,processTerm:a,fields:o,idField:s}=this._options,u=n(t,s);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${s}"`);if(this._idToShortId.has(u))throw new Error(`MiniSearch: duplicate ID ${u}`);const c=this.addDocumentId(u);this.saveStoredFields(c,t);for(const d of o){const p=n(t,d);if(p==null)continue;const g=r(p.toString(),d),m=this._fieldIds[d],b=new Set(g).size;this.addFieldLength(c,m,this._documentCount-1,b);for(const y of g){const v=a(y,d);if(Array.isArray(v))for(const x of v)this.addTerm(m,c,x);else v&&this.addTerm(m,c,v)}}}addAll(t){for(const n of t)this.add(n)}addAllAsync(t,n={}){const{chunkSize:r=10}=n,a={chunk:[],promise:Promise.resolve()},{chunk:o,promise:s}=t.reduce(({chunk:u,promise:c},d,p)=>(u.push(d),(p+1)%r===0?{chunk:[],promise:c.then(()=>new Promise(g=>setTimeout(g,0))).then(()=>this.addAll(u))}:{chunk:u,promise:c}),a);return s.then(()=>this.addAll(o))}remove(t){const{tokenize:n,processTerm:r,extractField:a,fields:o,idField:s}=this._options,u=a(t,s);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${s}"`);const c=this._idToShortId.get(u);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${u}: it is not in the index`);for(const d of o){const p=a(t,d);if(p==null)continue;const g=n(p.toString(),d),m=this._fieldIds[d],b=new Set(g).size;this.removeFieldLength(c,m,this._documentCount,b);for(const y of g){const v=r(y,d);if(Array.isArray(v))for(const x of v)this.removeTerm(m,c,x);else v&&this.removeTerm(m,c,v)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(u),this._fieldLength.delete(c),this._documentCount-=1}removeAll(t){if(t)for(const n of t)this.remove(n);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new To,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(t){const n=this._idToShortId.get(t);if(n==null)throw new Error(`MiniSearch: cannot discard document with ID ${t}: it is not in the index`);this._idToShortId.delete(t),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach((r,a)=>{this.removeFieldLength(n,a,this._documentCount,r)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:t,minDirtCount:n,batchSize:r,batchWait:a}=this._options.autoVacuum;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:n,minDirtFactor:t})}discardAll(t){const n=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const r of t)this.discard(r)}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()}replace(t){const{idField:n,extractField:r}=this._options,a=r(t,n);this.discard(a),this.add(t)}vacuum(t={}){return this.conditionalVacuum(t)}conditionalVacuum(t,n){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const r=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=o0,this.performVacuuming(t,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)}async performVacuuming(t,n){const r=this._dirtCount;if(this.vacuumConditionsMet(n)){const a=t.batchSize||a0.batchSize,o=t.batchWait||a0.batchWait;let s=1;for(const[u,c]of this._index){for(const[d,p]of c)for(const[g]of p)this._documentIds.has(g)||(p.size<=1?c.delete(d):p.delete(g));this._index.get(u).size===0&&this._index.delete(u),s%a===0&&await new Promise(d=>setTimeout(d,o)),s+=1}this._dirtCount-=r}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(t){if(t==null)return!0;let{minDirtCount:n,minDirtFactor:r}=t;return n=n||ib.minDirtCount,r=r||ib.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=r}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(t){return this._idToShortId.has(t)}getStoredFields(t){const n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)}search(t,n={}){const{searchOptions:r}=this._options,a={...r,...n},o=this.executeQuery(t,n),s=[];for(const[u,{score:c,terms:d,match:p}]of o){const g=d.length||1,m={id:this._documentIds.get(u),score:c*g,terms:Object.keys(p),queryTerms:d,match:p};Object.assign(m,this._storedFields.get(u)),(a.filter==null||a.filter(m))&&s.push(m)}return t===Co.wildcard&&a.boostDocument==null||s.sort(RO),s}autoSuggest(t,n={}){n={...this._options.autoSuggestOptions,...n};const r=new Map;for(const{score:o,terms:s}of this.search(t,n)){const u=s.join(" "),c=r.get(u);c!=null?(c.score+=o,c.count+=1):r.set(u,{score:o,terms:s,count:1})}const a=[];for(const[o,{score:s,terms:u,count:c}]of r)a.push({suggestion:o,terms:u,score:s/c});return a.sort(RO),a}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)}static async loadJSONAsync(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(t),n)}static getDefault(t){if(ob.hasOwnProperty(t))return ab(ob,t);throw new Error(`MiniSearch: unknown option "${t}"`)}static loadJS(t,n){const{index:r,documentIds:a,fieldLength:o,storedFields:s,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=Md(a),c._fieldLength=Md(o),c._storedFields=Md(s);for(const[d,p]of c._documentIds)c._idToShortId.set(p,d);for(const[d,p]of r){const g=new Map;for(const m of Object.keys(p)){let b=p[m];u===1&&(b=b.ds),g.set(parseInt(m,10),Md(b))}c._index.set(d,g)}return c}static async loadJSAsync(t,n){const{index:r,documentIds:a,fieldLength:o,storedFields:s,serializationVersion:u}=t,c=this.instantiateMiniSearch(t,n);c._documentIds=await Pd(a),c._fieldLength=await Pd(o),c._storedFields=await Pd(s);for(const[p,g]of c._documentIds)c._idToShortId.set(g,p);let d=0;for(const[p,g]of r){const m=new Map;for(const b of Object.keys(g)){let y=g[b];u===1&&(y=y.ds),m.set(parseInt(b,10),await Pd(y))}++d%1e3===0&&await P5(0),c._index.set(p,m)}return c}static instantiateMiniSearch(t,n){const{documentCount:r,nextId:a,fieldIds:o,averageFieldLength:s,dirtCount:u,serializationVersion:c}=t;if(c!==1&&c!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const d=new Co(n);return d._documentCount=r,d._nextId=a,d._idToShortId=new Map,d._fieldIds=o,d._avgFieldLength=s,d._dirtCount=u||0,d._index=new To,d}executeQuery(t,n={}){if(t===Co.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){const m={...n,...t,queries:void 0},b=t.queries.map(y=>this.executeQuery(y,m));return this.combineResults(b,m.combineWith)}const{tokenize:r,processTerm:a,searchOptions:o}=this._options,s={tokenize:r,processTerm:a,...o,...n},{tokenize:u,processTerm:c}=s,g=u(t).flatMap(m=>c(m)).filter(m=>!!m).map(Eae(s)).map(m=>this.executeQuerySpec(m,s));return this.combineResults(g,s.combineWith)}executeQuerySpec(t,n){const r={...this._options.searchOptions,...n},a=(r.fields||this._options.fields).reduce((v,x)=>({...v,[x]:ab(r.boost,x)||1}),{}),{boostDocument:o,weights:s,maxFuzzy:u,bm25:c}=r,{fuzzy:d,prefix:p}={...TO.weights,...s},g=this._index.get(t.term),m=this.termResults(t.term,t.term,1,t.termBoost,g,a,o,c);let b,y;if(t.prefix&&(b=this._index.atPrefix(t.term)),t.fuzzy){const v=t.fuzzy===!0?.2:t.fuzzy,x=v<1?Math.min(u,Math.round(t.term.length*v)):v;x&&(y=this._index.fuzzyGet(t.term,x))}if(b)for(const[v,x]of b){const A=v.length-t.term.length;if(!A)continue;y==null||y.delete(v);const k=p*v.length/(v.length+.3*A);this.termResults(t.term,v,k,t.termBoost,x,a,o,c,m)}if(y)for(const v of y.keys()){const[x,A]=y.get(v);if(!A)continue;const k=d*v.length/(v.length+A);this.termResults(t.term,v,k,t.termBoost,x,a,o,c,m)}return m}executeWildcardQuery(t){const n=new Map,r={...this._options.searchOptions,...t};for(const[a,o]of this._documentIds){const s=r.boostDocument?r.boostDocument(o,"",this._storedFields.get(a)):1;n.set(a,{score:s,terms:[],match:{}})}return n}combineResults(t,n=GT){if(t.length===0)return new Map;const r=n.toLowerCase(),a=yae[r];if(!a)throw new Error(`Invalid combination operator: ${n}`);return t.reduce(a)||new Map}toJSON(){const t=[];for(const[n,r]of this._index){const a={};for(const[o,s]of r)a[o]=Object.fromEntries(s);t.push([n,a])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}termResults(t,n,r,a,o,s,u,c,d=new Map){if(o==null)return d;for(const p of Object.keys(s)){const g=s[p],m=this._fieldIds[p],b=o.get(m);if(b==null)continue;let y=b.size;const v=this._avgFieldLength[m];for(const x of b.keys()){if(!this._documentIds.has(x)){this.removeTerm(m,x,n),y-=1;continue}const A=u?u(this._documentIds.get(x),n,this._storedFields.get(x)):1;if(!A)continue;const k=b.get(x),R=this._fieldLength.get(x)[m],O=Sae(k,y,this._documentCount,R,v,c),N=r*a*g*A*O,C=d.get(x);if(C){C.score+=N,xae(C.terms,t);const _=ab(C.match,n);_?_.push(p):C.match[n]=[p]}else d.set(x,{score:N,terms:[t],match:{[n]:[p]}})}}return d}addTerm(t,n,r){const a=this._index.fetch(r,CO);let o=a.get(t);if(o==null)o=new Map,o.set(n,1),a.set(t,o);else{const s=o.get(n);o.set(n,(s||0)+1)}}removeTerm(t,n,r){if(!this._index.has(r)){this.warnDocumentChanged(n,t,r);return}const a=this._index.fetch(r,CO),o=a.get(t);o==null||o.get(n)==null?this.warnDocumentChanged(n,t,r):o.get(n)<=1?o.size<=1?a.delete(t):o.delete(n):o.set(n,o.get(n)-1),this._index.get(r).size===0&&this._index.delete(r)}warnDocumentChanged(t,n,r){for(const a of Object.keys(this._fieldIds))if(this._fieldIds[a]===n){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(t)} has changed before removal: term "${r}" was not present in field "${a}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(t){const n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n}addFields(t){for(let n=0;nObject.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,yae={[GT]:(e,t)=>{for(const n of t.keys()){const r=e.get(n);if(r==null)e.set(n,t.get(n));else{const{score:a,terms:o,match:s}=t.get(n);r.score=r.score+a,r.match=Object.assign(r.match,s),AO(r.terms,o)}}return e},[M5]:(e,t)=>{const n=new Map;for(const r of t.keys()){const a=e.get(r);if(a==null)continue;const{score:o,terms:s,match:u}=t.get(r);AO(a.terms,s),n.set(r,{score:a.score+o,terms:a.terms,match:Object.assign(a.match,u)})}return n},[bae]:(e,t)=>{for(const n of t.keys())e.delete(n);return e}},vae={k:1.2,b:.7,d:.5},Sae=(e,t,n,r,a,o)=>{const{k:s,b:u,d:c}=o;return Math.log(1+(n-t+.5)/(t+.5))*(c+e*(s+1)/(e+s*(1-u+u*r/a)))},Eae=e=>(t,n,r)=>{const a=typeof e.fuzzy=="function"?e.fuzzy(t,n,r):e.fuzzy||!1,o=typeof e.prefix=="function"?e.prefix(t,n,r):e.prefix===!0,s=typeof e.boostTerm=="function"?e.boostTerm(t,n,r):1;return{term:t,fuzzy:a,prefix:o,termBoost:s}},ob={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(kae),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},TO={combineWith:GT,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:vae},wae={combineWith:M5,prefix:(e,t,n)=>t===n.length-1},a0={batchSize:1e3,batchWait:10},o0={minDirtFactor:.1,minDirtCount:20},ib={...a0,...o0},xae=(e,t)=>{e.includes(t)||e.push(t)},AO=(e,t)=>{for(const n of t)e.includes(n)||e.push(n)},RO=({score:e},{score:t})=>t-e,CO=()=>new Map,Md=e=>{const t=new Map;for(const n of Object.keys(e))t.set(parseInt(n,10),e[n]);return t},Pd=async e=>{const t=new Map;let n=0;for(const r of Object.keys(e))t.set(parseInt(r,10),e[r]),++n%1e3===0&&await P5(0);return t},P5=e=>new Promise(t=>setTimeout(t,e)),kae=/[\n\r\p{Z}\p{P}]+/u,Tae={index:new Co({fields:[]})};w.createContext(Tae);const i0=({label:e,color:t,hidden:n,labels:r={}})=>ve.createElement("div",{className:"node"},ve.createElement("span",{className:"render "+(n?"circle":"disc"),style:{backgroundColor:t||"#000"}}),ve.createElement("span",{className:`label ${n?"text-muted":""} ${e?"":"text-italic"}`},e||r.no_label||"No label")),Aae=({id:e,labels:t})=>{const n=kr(),r=w.useMemo(()=>{const a=n.getGraph().getNodeAttributes(e),o=n.getSetting("nodeReducer");return Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},a),o?o(e,a):{})},[n,e]);return ve.createElement(i0,Object.assign({},r,{labels:t}))},Rae=({label:e,color:t,source:n,target:r,hidden:a,directed:o,labels:s={}})=>ve.createElement("div",{className:"edge"},ve.createElement(i0,Object.assign({},n,{labels:s})),ve.createElement("div",{className:"body"},ve.createElement("div",{className:"render"},ve.createElement("span",{className:a?"dotted":"dash",style:{borderColor:t||"#000"}})," ",o&&ve.createElement("span",{className:"arrow",style:{borderTopColor:t||"#000"}})),ve.createElement("span",{className:`label ${a?"text-muted":""} ${e?"":"fst-italic"}`},e||s.no_label||"No label")),ve.createElement(i0,Object.assign({},r,{labels:s}))),Cae=({id:e,labels:t})=>{const n=kr(),r=w.useMemo(()=>{const a=n.getGraph().getEdgeAttributes(e),o=n.getSetting("nodeReducer"),s=n.getSetting("edgeReducer"),u=n.getGraph().getNodeAttributes(n.getGraph().source(e)),c=n.getGraph().getNodeAttributes(n.getGraph().target(e));return Object.assign(Object.assign(Object.assign({color:n.getSetting("defaultEdgeColor"),directed:n.getGraph().isDirected(e)},a),s?s(e,a):{}),{source:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},u),o?o(e,u):{}),target:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},c),o?o(e,c):{})})},[n,e]);return ve.createElement(Rae,Object.assign({},r,{labels:t}))};function HT(e,t){const[n,r]=w.useState(e);return w.useEffect(()=>{const a=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(a)}},[e,t]),n}function _ae({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,notFound:o,loadingSkeleton:s,label:u,placeholder:c="Select...",value:d,onChange:p,onFocus:g,disabled:m=!1,className:b,noResultsMessage:y}){const[v,x]=w.useState(!1),[A,k]=w.useState(!1),[R,O]=w.useState([]),[N,C]=w.useState(!1),[_,L]=w.useState(null),[I,D]=w.useState(""),H=HT(I,t?0:150),$=w.useRef(null);w.useEffect(()=>{x(!0)},[]),w.useEffect(()=>{const j=F=>{$.current&&!$.current.contains(F.target)&&A&&k(!1)};return document.addEventListener("mousedown",j),()=>{document.removeEventListener("mousedown",j)}},[A]);const B=w.useCallback(async j=>{try{C(!0),L(null);const F=await e(j);O(F)}catch(F){L(F instanceof Error?F.message:"Failed to fetch options")}finally{C(!1)}},[e]);w.useEffect(()=>{v&&(t?H&&O(j=>j.filter(F=>n?n(F,H):!0)):B(H))},[v,H,t,n,B]),w.useEffect(()=>{!v||!d||B(d)},[v,d,B]);const W=w.useCallback(j=>{p(j),requestAnimationFrame(()=>{const F=document.activeElement;F==null||F.blur(),k(!1)})},[p]),Q=w.useCallback(()=>{k(!0),B(I)},[I,B]),G=w.useCallback(j=>{j.target.closest(".cmd-item")&&j.preventDefault()},[]);return E.jsx("div",{ref:$,className:Le(m&&"cursor-not-allowed opacity-50",b),onMouseDown:G,children:E.jsxs(Ap,{shouldFilter:!1,className:"bg-transparent",children:[E.jsxs("div",{children:[E.jsx(zT,{placeholder:c,value:I,className:"max-h-8",onFocus:Q,onValueChange:j=>{D(j),A||k(!0)}}),N&&E.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:E.jsx(Fj,{className:"h-4 w-4 animate-spin"})})]}),E.jsxs(Rp,{hidden:!A,children:[_&&E.jsx("div",{className:"text-destructive p-4 text-center",children:_}),N&&R.length===0&&(s||E.jsx(Nae,{})),!N&&!_&&R.length===0&&(o||E.jsx(BT,{children:y??`No ${u.toLowerCase()} found.`})),E.jsx(el,{children:R.map((j,F)=>E.jsxs(ve.Fragment,{children:[E.jsx(tl,{value:a(j),onSelect:W,onMouseMove:()=>g(a(j)),className:"truncate cmd-item",children:r(j)},a(j)+`${F}`),F!==R.length-1&&E.jsx("div",{className:"bg-foreground/10 h-[1px]"},`divider-${F}`)]},a(j)+`-fragment-${F}`))})]})]})})}function Nae(){return E.jsx(el,{children:E.jsx(tl,{disabled:!0,children:E.jsxs("div",{className:"flex w-full items-center gap-2",children:[E.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),E.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[E.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),E.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const sb="__message_item",Oae=({id:e})=>{const t=$e.use.sigmaGraph();return t!=null&&t.hasNode(e)?E.jsx(Aae,{id:e}):null};function Iae(e){return E.jsxs("div",{children:[e.type==="nodes"&&E.jsx(Oae,{id:e.id}),e.type==="edges"&&E.jsx(Cae,{id:e.id}),e.type==="message"&&E.jsx("div",{children:e.message})]})}const Dae=({onChange:e,onFocus:t,value:n})=>{const{t:r}=kt(),a=$e.use.sigmaGraph(),o=$e.use.searchEngine();w.useEffect(()=>{a&&$e.getState().resetSearchEngine()},[a]),w.useEffect(()=>{if(!a||a.nodes().length===0||o)return;const u=new Co({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),c=a.nodes().map(d=>({id:d,label:a.getNodeAttribute(d,"label")}));u.addAll(c),$e.getState().setSearchEngine(u)},[a,o]);const s=w.useCallback(async u=>{if(t&&t(null),!a||!o)return[];if(a.nodes().length===0)return[];if(!u)return a.nodes().filter(p=>a.hasNode(p)).slice(0,bd).map(p=>({id:p,type:"nodes"}));const c=o.search(u).filter(d=>a.hasNode(d.id)).map(d=>({id:d.id,type:"nodes"}));return c.length<=bd?c:[...c.slice(0,bd),{type:"message",id:sb,message:r("graphPanel.search.message",{count:c.length-bd})}]},[a,o,t,r]);return E.jsx(_ae,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:s,renderOption:Iae,getOptionValue:u=>u.id,value:n&&n.type!=="message"?n.id:null,onChange:u=>{u!==sb&&e(u?{id:u,type:"nodes"}:null)},onFocus:u=>{u!==sb&&t&&t(u?{id:u,type:"nodes"}:null)},label:"item",placeholder:r("graphPanel.search.placeholder")})},Lae=({...e})=>E.jsx(Dae,{...e});function Mae({fetcher:e,preload:t,filterFn:n,renderOption:r,getOptionValue:a,getDisplayValue:o,notFound:s,loadingSkeleton:u,label:c,placeholder:d="Select...",value:p,onChange:g,disabled:m=!1,className:b,triggerClassName:y,searchInputClassName:v,noResultsMessage:x,triggerTooltip:A,clearable:k=!0}){const[R,O]=w.useState(!1),[N,C]=w.useState(!1),[_,L]=w.useState([]),[I,D]=w.useState(!1),[H,$]=w.useState(null),[B,W]=w.useState(p),[Q,G]=w.useState(null),[j,F]=w.useState(""),Y=HT(j,t?0:150),[M,V]=w.useState([]);w.useEffect(()=>{O(!0),W(p)},[p]),w.useEffect(()=>{if(p&&_.length>0){const P=_.find(K=>a(K)===p);P&&G(P)}},[p,_,a]),w.useEffect(()=>{R||(async()=>{try{D(!0),$(null);const K=await e(p);V(K),L(K)}catch(K){$(K instanceof Error?K.message:"Failed to fetch options")}finally{D(!1)}})()},[R,e,p]),w.useEffect(()=>{const P=async()=>{try{D(!0),$(null);const K=await e(Y);V(K),L(K)}catch(K){$(K instanceof Error?K.message:"Failed to fetch options")}finally{D(!1)}};R&&t?t&&L(Y?M.filter(K=>n?n(K,Y):!0):M):P()},[e,Y,R,t,n]);const U=w.useCallback(P=>{const K=k&&P===B?"":P;W(K),G(_.find(ee=>a(ee)===K)||null),g(K),C(!1)},[B,g,k,_,a]);return E.jsxs(mp,{open:N,onOpenChange:C,children:[E.jsx(bp,{asChild:!0,children:E.jsxs(rt,{variant:"outline",role:"combobox","aria-expanded":N,className:Le("justify-between",m&&"cursor-not-allowed opacity-50",y),disabled:m,tooltip:A,side:"bottom",children:[Q?o(Q):d,E.jsx(rZ,{className:"opacity-50",size:10})]})}),E.jsx(Xu,{className:Le("p-0",b),onCloseAutoFocus:P=>P.preventDefault(),children:E.jsxs(Ap,{shouldFilter:!1,children:[E.jsxs("div",{className:"relative w-full border-b",children:[E.jsx(zT,{placeholder:`Search ${c.toLowerCase()}...`,value:j,onValueChange:P=>{F(P)},className:v}),I&&_.length>0&&E.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:E.jsx(Fj,{className:"h-4 w-4 animate-spin"})})]}),E.jsxs(Rp,{children:[H&&E.jsx("div",{className:"text-destructive p-4 text-center",children:H}),I&&_.length===0&&(u||E.jsx(Pae,{})),!I&&!H&&_.length===0&&(s||E.jsx(BT,{children:x??`No ${c.toLowerCase()} found.`})),E.jsx(el,{children:_.map(P=>E.jsxs(tl,{value:a(P),onSelect:U,className:"truncate",children:[r(P),E.jsx(bT,{className:Le("ml-auto h-3 w-3",B===a(P)?"opacity-100":"opacity-0")})]},a(P)))})]})]})})]})}function Pae(){return E.jsx(el,{children:E.jsx(tl,{disabled:!0,children:E.jsxs("div",{className:"flex w-full items-center gap-2",children:[E.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),E.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[E.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),E.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const Fae=()=>{const{t:e}=kt(),t=Me.use.queryLabel(),n=$e.use.allDatabaseLabels(),r=w.useCallback(()=>{const s=new Co({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=n.map((c,d)=>({id:d,value:c}));return s.addAll(u),{labels:n,searchEngine:s}},[n]),a=w.useCallback(async s=>{const{labels:u,searchEngine:c}=r();let d=u;return s&&(d=c.search(s).map(p=>u[p.id])),d.length<=L_?d:[...d.slice(0,L_),"..."]},[r]);w.useEffect(()=>{n.length>1&&t&&t!=="*"&&!n.includes(t)&&(console.log(`Label "${t}" not found in available labels, resetting to default`),Me.getState().setQueryLabel("*"))},[n,t]);const o=w.useCallback(()=>{$e.getState().setLabelsFetchAttempted(!1),$e.getState().setGraphDataFetchAttempted(!1),$e.getState().setLastSuccessfulQueryLabel("");const s=Me.getState().queryLabel;s?(Me.getState().setQueryLabel(""),setTimeout(()=>{Me.getState().setQueryLabel(s)},0)):Me.getState().setQueryLabel("*")},[]);return E.jsxs("div",{className:"flex items-center",children:[E.jsx(rt,{size:"icon",variant:Pr,onClick:o,tooltip:e("graphPanel.graphLabels.refreshTooltip"),className:"mr-1",children:E.jsx(zj,{className:"h-4 w-4"})}),E.jsx(Mae,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:e("graphPanel.graphLabels.selectTooltip"),fetcher:a,renderOption:s=>E.jsx("div",{children:s}),getOptionValue:s=>s,getDisplayValue:s=>E.jsx("div",{children:s}),notFound:E.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:e("graphPanel.graphLabels.label"),placeholder:e("graphPanel.graphLabels.placeholder"),value:t!==null?t:"*",onChange:s=>{const u=Me.getState().queryLabel;s==="..."&&(s="*"),s===u&&s!=="*"&&(s="*"),$e.getState().setGraphDataFetchAttempted(!1),Me.getState().setQueryLabel(s)},clearable:!1})]})},Jn=({text:e,className:t,tooltipClassName:n,tooltip:r,side:a,onClick:o})=>r?E.jsx(gT,{delayDuration:200,children:E.jsxs(hT,{children:[E.jsx(mT,{asChild:!0,children:E.jsx("label",{className:Le(t,o!==void 0?"cursor-pointer":void 0),onClick:o,children:e})}),E.jsx(pp,{side:a,className:n,children:r})]})}):E.jsx("label",{className:Le(t,o!==void 0?"cursor-pointer":void 0),onClick:o,children:e});var nf={exports:{}},zae=nf.exports,_O;function Bae(){return _O||(_O=1,function(e){(function(t,n,r){function a(c){var d=this,p=u();d.next=function(){var g=2091639*d.s0+d.c*23283064365386963e-26;return d.s0=d.s1,d.s1=d.s2,d.s2=g-(d.c=g|0)},d.c=1,d.s0=p(" "),d.s1=p(" "),d.s2=p(" "),d.s0-=p(c),d.s0<0&&(d.s0+=1),d.s1-=p(c),d.s1<0&&(d.s1+=1),d.s2-=p(c),d.s2<0&&(d.s2+=1),p=null}function o(c,d){return d.c=c.c,d.s0=c.s0,d.s1=c.s1,d.s2=c.s2,d}function s(c,d){var p=new a(c),g=d&&d.state,m=p.next;return m.int32=function(){return p.next()*4294967296|0},m.double=function(){return m()+(m()*2097152|0)*11102230246251565e-32},m.quick=m,g&&(typeof g=="object"&&o(g,p),m.state=function(){return o(p,{})}),m}function u(){var c=4022871197,d=function(p){p=String(p);for(var g=0;g>>0,m-=c,m*=c,c=m>>>0,m-=c,c+=m*4294967296}return(c>>>0)*23283064365386963e-26};return d}n&&n.exports?n.exports=s:this.alea=s})(zae,e)}(nf)),nf.exports}var rf={exports:{}},Uae=rf.exports,NO;function jae(){return NO||(NO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.x=0,c.y=0,c.z=0,c.w=0,c.next=function(){var g=c.x^c.x<<11;return c.x=c.y,c.y=c.z,c.z=c.w,c.w^=c.w>>>19^g^g>>>8},u===(u|0)?c.x=u:d+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xor128=s})(Uae,e)}(rf)),rf.exports}var af={exports:{}},Gae=af.exports,OO;function Hae(){return OO||(OO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.next=function(){var g=c.x^c.x>>>2;return c.x=c.y,c.y=c.z,c.z=c.w,c.w=c.v,(c.d=c.d+362437|0)+(c.v=c.v^c.v<<4^(g^g<<1))|0},c.x=0,c.y=0,c.z=0,c.w=0,c.v=0,u===(u|0)?c.x=u:d+=u;for(var p=0;p>>4),c.next()}function o(u,c){return c.x=u.x,c.y=u.y,c.z=u.z,c.w=u.w,c.v=u.v,c.d=u.d,c}function s(u,c){var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xorwow=s})(Gae,e)}(af)),af.exports}var of={exports:{}},$ae=of.exports,IO;function qae(){return IO||(IO=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.x,g=c.i,m,b;return m=p[g],m^=m>>>7,b=m^m<<24,m=p[g+1&7],b^=m^m>>>10,m=p[g+3&7],b^=m^m>>>3,m=p[g+4&7],b^=m^m<<7,m=p[g+7&7],m=m^m<<13,b^=m^m<<9,p[g]=b,c.i=g+1&7,b};function d(p,g){var m,b=[];if(g===(g|0))b[0]=g;else for(g=""+g,m=0;m0;--m)p.next()}d(c,u)}function o(u,c){return c.x=u.x.slice(),c.i=u.i,c}function s(u,c){u==null&&(u=+new Date);var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(p.x&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xorshift7=s})($ae,e)}(of)),of.exports}var sf={exports:{}},Vae=sf.exports,DO;function Wae(){return DO||(DO=1,function(e){(function(t,n,r){function a(u){var c=this;c.next=function(){var p=c.w,g=c.X,m=c.i,b,y;return c.w=p=p+1640531527|0,y=g[m+34&127],b=g[m=m+1&127],y^=y<<13,b^=b<<17,y^=y>>>15,b^=b>>>12,y=g[m]=y^b,c.i=m,y+(p^p>>>16)|0};function d(p,g){var m,b,y,v,x,A=[],k=128;for(g===(g|0)?(b=g,g=null):(g=g+"\0",b=0,k=Math.max(k,g.length)),y=0,v=-32;v>>15,b^=b<<4,b^=b>>>13,v>=0&&(x=x+1640531527|0,m=A[v&127]^=b+x,y=m==0?y+1:0);for(y>=128&&(A[(g&&g.length||0)&127]=-1),y=127,v=4*128;v>0;--v)b=A[y+34&127],m=A[y=y+1&127],b^=b<<13,m^=m<<17,b^=b>>>15,m^=m>>>12,A[y]=b^m;p.w=x,p.X=A,p.i=y}d(c,u)}function o(u,c){return c.i=u.i,c.w=u.w,c.X=u.X.slice(),c}function s(u,c){u==null&&(u=+new Date);var d=new a(u),p=c&&c.state,g=function(){return(d.next()>>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(p.X&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.xor4096=s})(Vae,e)}(sf)),sf.exports}var lf={exports:{}},Yae=lf.exports,LO;function Kae(){return LO||(LO=1,function(e){(function(t,n,r){function a(u){var c=this,d="";c.next=function(){var g=c.b,m=c.c,b=c.d,y=c.a;return g=g<<25^g>>>7^m,m=m-b|0,b=b<<24^b>>>8^y,y=y-g|0,c.b=g=g<<20^g>>>12^m,c.c=m=m-b|0,c.d=b<<16^m>>>16^y,c.a=y-g|0},c.a=0,c.b=0,c.c=-1640531527,c.d=1367130551,u===Math.floor(u)?(c.a=u/4294967296|0,c.b=u|0):d+=u;for(var p=0;p>>0)/4294967296};return g.double=function(){do var m=d.next()>>>11,b=(d.next()>>>0)/4294967296,y=(m+b)/(1<<21);while(y===0);return y},g.int32=d.next,g.quick=g,p&&(typeof p=="object"&&o(p,d),g.state=function(){return o(d,{})}),g}n&&n.exports?n.exports=s:this.tychei=s})(Yae,e)}(lf)),lf.exports}var uf={exports:{}};const Xae={},Zae=Object.freeze(Object.defineProperty({__proto__:null,default:Xae},Symbol.toStringTag,{value:"Module"})),Qae=iq(Zae);var Jae=uf.exports,MO;function eoe(){return MO||(MO=1,function(e){(function(t,n,r){var a=256,o=6,s=52,u="random",c=r.pow(a,o),d=r.pow(2,s),p=d*2,g=a-1,m;function b(O,N,C){var _=[];N=N==!0?{entropy:!0}:N||{};var L=A(x(N.entropy?[O,R(n)]:O??k(),3),_),I=new y(_),D=function(){for(var H=I.g(o),$=c,B=0;H=p;)H/=2,$/=2,B>>>=1;return(H+B)/$};return D.int32=function(){return I.g(4)|0},D.quick=function(){return I.g(4)/4294967296},D.double=D,A(R(I.S),n),(N.pass||C||function(H,$,B,W){return W&&(W.S&&v(W,I),H.state=function(){return v(I,{})}),B?(r[u]=H,$):H})(D,L,"global"in N?N.global:this==r,N.state)}function y(O){var N,C=O.length,_=this,L=0,I=_.i=_.j=0,D=_.S=[];for(C||(O=[C++]);L{if(!e)return console.log("Graph validation failed: graph is null"),!1;if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return console.log("Graph validation failed: nodes or edges is not an array"),!1;if(e.nodes.length===0)return console.log("Graph validation failed: nodes array is empty"),!1;for(const t of e.nodes)if(!t.id||!t.labels||!t.properties)return console.log("Graph validation failed: invalid node structure"),!1;for(const t of e.edges)if(!t.id||!t.source||!t.target)return console.log("Graph validation failed: invalid edge structure"),!1;for(const t of e.edges){const n=e.getNode(t.source),r=e.getNode(t.target);if(n==null||r==null)return console.log("Graph validation failed: edge references non-existent node"),!1}return console.log("Graph validation passed"),!0},aoe=async(e,t,n)=>{let r=null;if(!$e.getState().lastSuccessfulQueryLabel){console.log("Last successful queryLabel is empty");try{await $e.getState().fetchAllDatabaseLabels()}catch(u){console.error("Failed to fetch all database labels:",u)}}const o=e||"*";try{console.log(`Fetching graph label: ${o}, depth: ${t}, nodes: ${n}`),r=await KB(o,t,n)}catch(u){return Sr.getState().setErrorMessage(Gn(u),"Query Graphs Error!"),null}let s=null;if(r){const u={},c={};for(let m=0;m0){const m=wk-li;for(const b of r.nodes)b.size=Math.round(li+m*Math.pow((b.degree-d)/g,.5))}s=new vV,s.nodes=r.nodes,s.edges=r.edges,s.nodeIdMap=u,s.edgeIdMap=c,roe(s)||(s=null,console.warn("Invalid graph data")),console.log("Graph data loaded")}return{rawGraph:s,is_truncated:r.is_truncated}},ooe=e=>{var n;if(!e||!e.nodes.length)return console.log("No graph data available, skipping sigma graph creation"),null;const t=new Au;for(const r of(e==null?void 0:e.nodes)??[]){Nf(r.id+Date.now().toString(),{global:!0});const a=Math.random(),o=Math.random();t.addNode(r.id,{label:r.labels.join(", "),color:r.color,x:a,y:o,size:r.size,borderColor:Ek,borderSize:.2})}for(const r of(e==null?void 0:e.edges)??[])r.dynamicId=t.addDirectedEdge(r.source,r.target,{label:((n=r.properties)==null?void 0:n.keywords)||void 0});return t},ioe=()=>{const{t:e}=kt(),t=Me.use.queryLabel(),n=$e.use.rawGraph(),r=$e.use.sigmaGraph(),a=Me.use.graphQueryMaxDepth(),o=Me.use.graphMaxNodes(),s=$e.use.isFetching(),u=$e.use.nodeToExpand(),c=$e.use.nodeToPrune(),d=w.useRef(!1),p=w.useRef(!1),g=w.useRef(!1),m=w.useCallback(A=>(n==null?void 0:n.getNode(A))||null,[n]),b=w.useCallback((A,k=!0)=>(n==null?void 0:n.getEdge(A,k))||null,[n]),y=w.useRef(!1);w.useEffect(()=>{if(!t&&(n!==null||r!==null)){const A=$e.getState();A.reset(),A.setGraphDataFetchAttempted(!1),A.setLabelsFetchAttempted(!1),d.current=!1,p.current=!1}},[t,n,r]),w.useEffect(()=>{if(!y.current&&!(!t&&g.current)&&!s&&!$e.getState().graphDataFetchAttempted){y.current=!0,$e.getState().setGraphDataFetchAttempted(!0);const A=$e.getState();A.setIsFetching(!0),A.clearSelection(),A.sigmaGraph&&A.sigmaGraph.forEachNode(C=>{var _;(_=A.sigmaGraph)==null||_.setNodeAttribute(C,"highlighted",!1)}),console.log("Preparing graph data...");const k=t,R=a,O=o;let N;k?N=aoe(k,R,O):(console.log("Query label is empty, show empty graph"),N=Promise.resolve({rawGraph:null,is_truncated:!1})),N.then(C=>{const _=$e.getState(),L=C==null?void 0:C.rawGraph;if(C!=null&&C.is_truncated&&Ft.info(e("graphPanel.dataIsTruncated","Graph data is truncated to Max Nodes")),_.reset(),!L||!L.nodes||L.nodes.length===0){const I=new Au;I.addNode("empty-graph-node",{label:e("graphPanel.emptyGraph"),color:"#cccccc",x:.5,y:.5,size:15,borderColor:Ek,borderSize:.2}),_.setSigmaGraph(I),_.setRawGraph(null),_.setGraphIsEmpty(!0),k&&Me.getState().setQueryLabel(""),_.setLastSuccessfulQueryLabel(""),console.log("Graph data is empty, created graph with empty graph node")}else{const I=ooe(L);L.buildDynamicMap(),_.setSigmaGraph(I),_.setRawGraph(L),_.setGraphIsEmpty(!1),_.setLastSuccessfulQueryLabel(k),_.setMoveToSelectedNode(!0)}d.current=!0,p.current=!0,y.current=!1,_.setIsFetching(!1),(!L||!L.nodes||L.nodes.length===0)&&!k&&(g.current=!0)}).catch(C=>{console.error("Error fetching graph data:",C);const _=$e.getState();_.setIsFetching(!1),d.current=!1,y.current=!1,_.setGraphDataFetchAttempted(!1),_.setLastSuccessfulQueryLabel("")})}},[t,a,o,s,e]),w.useEffect(()=>{u&&((async k=>{var R,O,N,C;if(!(!k||!r||!n))try{const _=n.getNode(k);if(!_){console.error("Node not found:",k);return}const L=_.labels[0];if(!L){console.error("Node has no label:",k);return}const I=await KB(L,2,1e3);if(!I||!I.nodes||!I.edges){console.error("Failed to fetch extended graph");return}const D=[];for(const X of I.nodes){Nf(X.id,{global:!0});const J=yB();D.push({id:X.id,labels:X.labels,properties:X.properties,size:10,x:Math.random(),y:Math.random(),color:J,degree:0})}const H=[];for(const X of I.edges)H.push({id:X.id,source:X.source,target:X.target,type:X.type,properties:X.properties,dynamicId:""});const $={};r.forEachNode(X=>{$[X]={x:r.getNodeAttribute(X,"x"),y:r.getNodeAttribute(X,"y")}});const B=new Set(r.nodes()),W=new Set,Q=new Set,G=1;let j=0;r.forEachNode(X=>{const J=r.degree(X);j=Math.max(j,J)});for(const X of D){if(B.has(X.id))continue;H.some(he=>he.source===k&&he.target===X.id||he.target===k&&he.source===X.id)&&W.add(X.id)}const F=new Map,Y=new Map,M=new Set;for(const X of H){const J=B.has(X.source)||W.has(X.source),he=B.has(X.target)||W.has(X.target);J&&he?(Q.add(X.id),W.has(X.source)?F.set(X.source,(F.get(X.source)||0)+1):B.has(X.source)&&Y.set(X.source,(Y.get(X.source)||0)+1),W.has(X.target)?F.set(X.target,(F.get(X.target)||0)+1):B.has(X.target)&&Y.set(X.target,(Y.get(X.target)||0)+1)):(r.hasNode(X.source)?M.add(X.source):W.has(X.source)&&(M.add(X.source),F.set(X.source,(F.get(X.source)||0)+1)),r.hasNode(X.target)?M.add(X.target):W.has(X.target)&&(M.add(X.target),F.set(X.target,(F.get(X.target)||0)+1)))}const V=(X,J,he,oe)=>{const Se=oe-he||1,we=wk-li;for(const Ie of J)if(X.hasNode(Ie)){let Ce=X.degree(Ie);Ce+=1;const Ee=Math.min(Ce,oe+1),te=Math.round(li+we*Math.pow((Ee-he)/Se,.5)),fe=X.getNodeAttribute(Ie,"size");te>fe&&X.setNodeAttribute(Ie,"size",te)}};if(W.size===0){V(r,M,G,j),Ft.info(e("graphPanel.propertiesView.node.noNewNodes"));return}for(const[,X]of F.entries())j=Math.max(j,X);for(const[X,J]of Y.entries()){const oe=r.degree(X)+J;j=Math.max(j,oe)}const U=j-G||1,P=wk-li,K=((R=$e.getState().sigmaInstance)==null?void 0:R.getCamera().ratio)||1,ee=Math.max(Math.sqrt(_.size)*4,Math.sqrt(W.size)*3)/K;Nf(Date.now().toString(),{global:!0});const le=Math.random()*2*Math.PI;console.log("nodeSize:",_.size,"nodesToAdd:",W.size),console.log("cameraRatio:",Math.round(K*100)/100,"spreadFactor:",Math.round(ee*100)/100);for(const X of W){const J=D.find(Ee=>Ee.id===X),he=F.get(X)||0,oe=Math.min(he,j+1),Se=Math.round(li+P*Math.pow((oe-G)/U,.5)),we=2*Math.PI*(Array.from(W).indexOf(X)/W.size),Ie=((O=$[X])==null?void 0:O.x)||$[_.id].x+Math.cos(le+we)*ee,Ce=((N=$[X])==null?void 0:N.y)||$[_.id].y+Math.sin(le+we)*ee;r.addNode(X,{label:J.labels.join(", "),color:J.color,x:Ie,y:Ce,size:Se,borderColor:Ek,borderSize:.2}),n.getNode(X)||(J.size=Se,J.x=Ie,J.y=Ce,J.degree=he,n.nodes.push(J),n.nodeIdMap[X]=n.nodes.length-1)}for(const X of Q){const J=H.find(he=>he.id===X);r.hasEdge(J.source,J.target)||r.hasEdge(J.target,J.source)||(J.dynamicId=r.addDirectedEdge(J.source,J.target,{label:((C=J.properties)==null?void 0:C.keywords)||void 0}),n.getEdge(J.id,!1)?console.error("Edge already exists in rawGraph:",J.id):(n.edges.push(J),n.edgeIdMap[J.id]=n.edges.length-1,n.edgeDynamicIdMap[J.dynamicId]=n.edges.length-1))}if(n.buildDynamicMap(),$e.getState().resetSearchEngine(),V(r,M,G,j),r.hasNode(k)){const X=r.degree(k),J=Math.min(X,j+1),he=Math.round(li+P*Math.pow((J-G)/U,.5));r.setNodeAttribute(k,"size",he),_.size=he,_.degree=X}}catch(_){console.error("Error expanding node:",_)}})(u),window.setTimeout(()=>{$e.getState().triggerNodeExpand(null)},0))},[u,r,n,e]);const v=w.useCallback((A,k)=>{const R=new Set([A]);return k.forEachNode(O=>{if(O===A)return;const N=k.neighbors(O);N.length===1&&N[0]===A&&R.add(O)}),R},[]);return w.useEffect(()=>{c&&((k=>{if(!(!k||!r||!n))try{const R=$e.getState();if(!r.hasNode(k)){console.error("Node not found:",k);return}const O=v(k,r);if(O.size===r.nodes().length){Ft.error(e("graphPanel.propertiesView.node.deleteAllNodesError"));return}R.clearSelection();for(const N of O){r.dropNode(N);const C=n.nodeIdMap[N];if(C!==void 0){const _=n.edges.filter(L=>L.source===N||L.target===N);for(const L of _){const I=n.edgeIdMap[L.id];if(I!==void 0){n.edges.splice(I,1);for(const[D,H]of Object.entries(n.edgeIdMap))H>I&&(n.edgeIdMap[D]=H-1);delete n.edgeIdMap[L.id],delete n.edgeDynamicIdMap[L.dynamicId]}}n.nodes.splice(C,1);for(const[L,I]of Object.entries(n.nodeIdMap))I>C&&(n.nodeIdMap[L]=I-1);delete n.nodeIdMap[N]}}n.buildDynamicMap(),$e.getState().resetSearchEngine(),O.size>1&&Ft.info(e("graphPanel.propertiesView.node.nodesRemoved",{count:O.size}))}catch(R){console.error("Error pruning node:",R)}})(c),window.setTimeout(()=>{$e.getState().triggerNodePrune(null)},0))},[c,r,n,v,e]),{lightrageGraph:w.useCallback(()=>{if(r)return r;console.log("Creating new Sigma graph instance");const A=new Au;return $e.getState().setSigmaGraph(A),A},[r]),getNode:m,getEdge:b}},soe=()=>{const{getNode:e,getEdge:t}=ioe(),n=$e.use.selectedNode(),r=$e.use.focusedNode(),a=$e.use.selectedEdge(),o=$e.use.focusedEdge(),[s,u]=w.useState(null),[c,d]=w.useState(null);return w.useEffect(()=>{let p=null,g=null;r?(p="node",g=e(r)):n?(p="node",g=e(n)):o?(p="edge",g=t(o,!0)):a&&(p="edge",g=t(a,!0)),g?(p=="node"?u(loe(g)):u(uoe(g)),d(p)):(u(null),d(null))},[r,n,o,a,u,d,e,t]),s?E.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:c=="node"?E.jsx(coe,{node:s}):E.jsx(doe,{edge:s})}):E.jsx(E.Fragment,{})},loe=e=>{const t=$e.getState(),n=[];if(t.sigmaGraph&&t.rawGraph)try{if(!t.sigmaGraph.hasNode(e.id))return{...e,relationships:[]};const r=t.sigmaGraph.edges(e.id);for(const a of r){if(!t.sigmaGraph.hasEdge(a))continue;const o=t.rawGraph.getEdge(a,!0);if(o){const u=e.id===o.source?o.target:o.source;if(!t.sigmaGraph.hasNode(u))continue;const c=t.rawGraph.getNode(u);c&&n.push({type:"Neighbour",id:u,label:c.properties.entity_id?c.properties.entity_id:c.labels.join(", ")})}}}catch(r){console.error("Error refining node properties:",r)}return{...e,relationships:n}},uoe=e=>{const t=$e.getState();let n,r;if(t.sigmaGraph&&t.rawGraph)try{if(!t.sigmaGraph.hasEdge(e.id))return{...e,sourceNode:void 0,targetNode:void 0};t.sigmaGraph.hasNode(e.source)&&(n=t.rawGraph.getNode(e.source)),t.sigmaGraph.hasNode(e.target)&&(r=t.rawGraph.getNode(e.target))}catch(a){console.error("Error refining edge properties:",a)}return{...e,sourceNode:n,targetNode:r}},na=({name:e,value:t,onClick:n,tooltip:r})=>{const{t:a}=kt(),o=s=>{const u=`graphPanel.propertiesView.node.propertyNames.${s}`,c=a(u);return c===u?s:c};return E.jsxs("div",{className:"flex items-center gap-2",children:[E.jsx("label",{className:"text-primary/60 tracking-wide whitespace-nowrap",children:o(e)}),":",E.jsx(Jn,{className:"hover:bg-primary/20 rounded p-1 overflow-hidden text-ellipsis",tooltipClassName:"max-w-80",text:t,tooltip:r||(typeof t=="string"?t:JSON.stringify(t,null,2)),side:"left",onClick:n})]})},coe=({node:e})=>{const{t}=kt(),n=()=>{$e.getState().triggerNodeExpand(e.id)},r=()=>{$e.getState().triggerNodePrune(e.id)};return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsxs("div",{className:"flex justify-between items-center",children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-blue-700",children:t("graphPanel.propertiesView.node.title")}),E.jsxs("div",{className:"flex gap-3",children:[E.jsx(rt,{size:"icon",variant:"ghost",className:"h-7 w-7 border border-gray-400 hover:bg-gray-200 dark:border-gray-600 dark:hover:bg-gray-700",onClick:n,tooltip:t("graphPanel.propertiesView.node.expandNode"),children:E.jsx(hZ,{className:"h-4 w-4 text-gray-700 dark:text-gray-300"})}),E.jsx(rt,{size:"icon",variant:"ghost",className:"h-7 w-7 border border-gray-400 hover:bg-gray-200 dark:border-gray-600 dark:hover:bg-gray-700",onClick:r,tooltip:t("graphPanel.propertiesView.node.pruneNode"),children:E.jsx(jZ,{className:"h-4 w-4 text-gray-900 dark:text-gray-300"})})]})]}),E.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[E.jsx(na,{name:t("graphPanel.propertiesView.node.id"),value:e.id}),E.jsx(na,{name:t("graphPanel.propertiesView.node.labels"),value:e.labels.join(", "),onClick:()=>{$e.getState().setSelectedNode(e.id,!0)}}),E.jsx(na,{name:t("graphPanel.propertiesView.node.degree"),value:e.degree})]}),E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-amber-700",children:t("graphPanel.propertiesView.node.properties")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(a=>E.jsx(na,{name:a,value:e.properties[a]},a))}),e.relationships.length>0&&E.jsxs(E.Fragment,{children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-emerald-700",children:t("graphPanel.propertiesView.node.relationships")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:e.relationships.map(({type:a,id:o,label:s})=>E.jsx(na,{name:a,value:s,onClick:()=>{$e.getState().setSelectedNode(o,!0)}},o))})]})]})},doe=({edge:e})=>{const{t}=kt();return E.jsxs("div",{className:"flex flex-col gap-2",children:[E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-violet-700",children:t("graphPanel.propertiesView.edge.title")}),E.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[E.jsx(na,{name:t("graphPanel.propertiesView.edge.id"),value:e.id}),e.type&&E.jsx(na,{name:t("graphPanel.propertiesView.edge.type"),value:e.type}),E.jsx(na,{name:t("graphPanel.propertiesView.edge.source"),value:e.sourceNode?e.sourceNode.labels.join(", "):e.source,onClick:()=>{$e.getState().setSelectedNode(e.source,!0)}}),E.jsx(na,{name:t("graphPanel.propertiesView.edge.target"),value:e.targetNode?e.targetNode.labels.join(", "):e.target,onClick:()=>{$e.getState().setSelectedNode(e.target,!0)}})]}),E.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-amber-700",children:t("graphPanel.propertiesView.edge.properties")}),E.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(n=>E.jsx(na,{name:n,value:e.properties[n]},n))})]})},foe=()=>{const{t:e}=kt(),t=Me.use.graphQueryMaxDepth(),n=Me.use.graphMaxNodes();return E.jsxs("div",{className:"absolute bottom-4 left-[calc(1rem+2.5rem)] flex items-center gap-2 text-xs text-gray-400",children:[E.jsxs("div",{children:[e("graphPanel.sideBar.settings.depth"),": ",t]}),E.jsxs("div",{children:[e("graphPanel.sideBar.settings.max"),": ",n]})]})},FO={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:P4,curvedArrow:Fne,curvedNoArrow:Pne},nodeProgramClasses:{default:vne,circel:Ju,point:Wte},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},poe=()=>{const e=q4(),t=kr(),[n,r]=w.useState(null);return w.useEffect(()=>{e({downNode:a=>{r(a.node),t.getGraph().setNodeAttribute(a.node,"highlighted",!0)},mousemovebody:a=>{if(!n)return;const o=t.viewportToGraph(a);t.getGraph().setNodeAttribute(n,"x",o.x),t.getGraph().setNodeAttribute(n,"y",o.y),a.preventSigmaDefault(),a.original.preventDefault(),a.original.stopPropagation()},mouseup:()=>{n&&(r(null),t.getGraph().removeNodeAttribute(n,"highlighted"))},mousedown:a=>{a.original.buttons!==0&&!t.getCustomBBox()&&t.setCustomBBox(t.getBBox())}})},[e,t,n]),null},goe=()=>{const[e,t]=w.useState(FO),n=w.useRef(null),r=$e.use.selectedNode(),a=$e.use.focusedNode(),o=$e.use.moveToSelectedNode(),s=$e.use.isFetching(),u=Me.use.showPropertyPanel(),c=Me.use.showNodeSearchBar(),d=Me.use.enableNodeDrag();w.useEffect(()=>{t(FO),console.log("Initialized sigma settings")},[]),w.useEffect(()=>()=>{const y=$e.getState().sigmaInstance;if(y)try{y.kill(),$e.getState().setSigmaInstance(null),console.log("Cleared sigma instance on Graphviewer unmount")}catch(v){console.error("Error cleaning up sigma instance:",v)}},[]);const p=w.useCallback(y=>{y===null?$e.getState().setFocusedNode(null):y.type==="nodes"&&$e.getState().setFocusedNode(y.id)},[]),g=w.useCallback(y=>{y===null?$e.getState().setSelectedNode(null):y.type==="nodes"&&$e.getState().setSelectedNode(y.id,!0)},[]),m=w.useMemo(()=>a??r,[a,r]),b=w.useMemo(()=>r?{type:"nodes",id:r}:null,[r]);return E.jsxs("div",{className:"relative h-full w-full overflow-hidden",children:[E.jsxs(jte,{settings:e,className:"!bg-background !size-full overflow-hidden",ref:n,children:[E.jsx(nae,{}),d&&E.jsx(poe,{}),E.jsx(zne,{node:m,move:o}),E.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[E.jsx(Fae,{}),c&&E.jsx(Lae,{value:b,onFocus:p,onChange:g})]}),E.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[E.jsx(tae,{}),E.jsx(rae,{}),E.jsx(aae,{}),E.jsx(pae,{})]}),u&&E.jsx("div",{className:"absolute top-2 right-2",children:E.jsx(soe,{})}),E.jsx(foe,{})]}),s&&E.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/80 z-10",children:E.jsxs("div",{className:"text-center",children:[E.jsx("div",{className:"mb-2 h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent"}),E.jsx("p",{children:"Loading Graph Data..."})]})})]})},F5=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{className:"relative w-full overflow-auto",children:E.jsx("table",{ref:n,className:Le("w-full caption-bottom text-sm",e),...t})}));F5.displayName="Table";const z5=w.forwardRef(({className:e,...t},n)=>E.jsx("thead",{ref:n,className:Le("[&_tr]:border-b",e),...t}));z5.displayName="TableHeader";const B5=w.forwardRef(({className:e,...t},n)=>E.jsx("tbody",{ref:n,className:Le("[&_tr:last-child]:border-0",e),...t}));B5.displayName="TableBody";const hoe=w.forwardRef(({className:e,...t},n)=>E.jsx("tfoot",{ref:n,className:Le("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t}));hoe.displayName="TableFooter";const s0=w.forwardRef(({className:e,...t},n)=>E.jsx("tr",{ref:n,className:Le("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t}));s0.displayName="TableRow";const wo=w.forwardRef(({className:e,...t},n)=>E.jsx("th",{ref:n,className:Le("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));wo.displayName="TableHead";const xo=w.forwardRef(({className:e,...t},n)=>E.jsx("td",{ref:n,className:Le("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));xo.displayName="TableCell";const moe=w.forwardRef(({className:e,...t},n)=>E.jsx("caption",{ref:n,className:Le("text-muted-foreground mt-4 text-sm",e),...t}));moe.displayName="TableCaption";const Fs=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("bg-card text-card-foreground rounded-xl border shadow",e),...t}));Fs.displayName="Card";const Cu=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("flex flex-col space-y-1.5 p-6",e),...t}));Cu.displayName="CardHeader";const _u=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("leading-none font-semibold tracking-tight",e),...t}));_u.displayName="CardTitle";const Cp=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("text-muted-foreground text-sm",e),...t}));Cp.displayName="CardDescription";const Nu=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("p-6 pt-0",e),...t}));Nu.displayName="CardContent";const boe=w.forwardRef(({className:e,...t},n)=>E.jsx("div",{ref:n,className:Le("flex items-center p-6 pt-0",e),...t}));boe.displayName="CardFooter";function yoe({title:e,description:t,icon:n=uZ,action:r,className:a,...o}){return E.jsxs(Fs,{className:Le("flex w-full flex-col items-center justify-center space-y-6 bg-transparent p-16",a),...o,children:[E.jsx("div",{className:"mr-4 shrink-0 rounded-full border border-dashed p-4",children:E.jsx(n,{className:"text-muted-foreground size-8","aria-hidden":"true"})}),E.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[E.jsx(_u,{children:e}),t?E.jsx(Cp,{children:t}):null]}),r||null]})}var ub={exports:{}},cb,zO;function voe(){if(zO)return cb;zO=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return cb=e,cb}var db,BO;function Soe(){if(BO)return db;BO=1;var e=voe();function t(){}function n(){}return n.resetWarningCache=t,db=function(){function r(s,u,c,d,p,g){if(g!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}r.isRequired=r;function a(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:a,element:r,elementType:r,instanceOf:a,node:r,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return o.PropTypes=o,o},db}var UO;function Eoe(){return UO||(UO=1,ub.exports=Soe()()),ub.exports}var woe=Eoe();const It=cn(woe),xoe=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function zs(e,t,n){const r=koe(e),{webkitRelativePath:a}=e,o=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof r.path!="string"&&jO(r,"path",o),jO(r,"relativePath",o),r}function koe(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),a=xoe.get(r);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function jO(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const Toe=[".DS_Store","Thumbs.db"];function Aoe(e){return ki(this,void 0,void 0,function*(){return Of(e)&&Roe(e.dataTransfer)?Ooe(e.dataTransfer,e.type):Coe(e)?_oe(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?Noe(e):[]})}function Roe(e){return Of(e)}function Coe(e){return Of(e)&&Of(e.target)}function Of(e){return typeof e=="object"&&e!==null}function _oe(e){return l0(e.target.files).map(t=>zs(t))}function Noe(e){return ki(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>zs(n))})}function Ooe(e,t){return ki(this,void 0,void 0,function*(){if(e.items){const n=l0(e.items).filter(a=>a.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(Ioe));return GO(U5(r))}return GO(l0(e.files).map(n=>zs(n)))})}function GO(e){return e.filter(t=>Toe.indexOf(t.name)===-1)}function l0(e){if(e===null)return[];const t=[];for(let n=0;n[...t,...Array.isArray(n)?U5(n):[n]],[])}function HO(e,t){return ki(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const o=yield e.getAsFileSystemHandle();if(o===null)throw new Error(`${e} is not a File`);if(o!==void 0){const s=yield o.getFile();return s.handle=o,zs(s)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return zs(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function Doe(e){return ki(this,void 0,void 0,function*(){return e.isDirectory?j5(e):Loe(e)})}function j5(e){const t=e.createReader();return new Promise((n,r)=>{const a=[];function o(){t.readEntries(s=>ki(this,void 0,void 0,function*(){if(s.length){const u=Promise.all(s.map(Doe));a.push(u),o()}else try{const u=yield Promise.all(a);n(u)}catch(u){r(u)}}),s=>{r(s)})}o()})}function Loe(e){return ki(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const a=zs(r,e.fullPath);t(a)},r=>{n(r)})})})}var Fd={},$O;function Moe(){return $O||($O=1,Fd.__esModule=!0,Fd.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",a=(e.type||"").toLowerCase(),o=a.replace(/\/.*$/,"");return n.some(function(s){var u=s.trim().toLowerCase();return u.charAt(0)==="."?r.toLowerCase().endsWith(u):u.endsWith("/*")?o===u.replace(/\/.*$/,""):a===u})}return!0}),Fd}var Poe=Moe();const fb=cn(Poe);function qO(e){return Boe(e)||zoe(e)||H5(e)||Foe()}function Foe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zoe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Boe(e){if(Array.isArray(e))return u0(e)}function VO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function WO(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:"",n=t.split(","),r=n.length>1?"one of ".concat(n.join(", ")):n[0];return{code:$oe,message:"File type must be ".concat(r)}},YO=function(t){return{code:qoe,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},KO=function(t){return{code:Voe,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Koe={code:Woe,message:"Too many files"};function $5(e,t){var n=e.type==="application/x-moz-file"||Hoe(e,t);return[n,n?null:Yoe(t)]}function q5(e,t,n){if(ci(e.size))if(ci(t)&&ci(n)){if(e.size>n)return[!1,YO(n)];if(e.sizen)return[!1,YO(n)]}return[!0,null]}function ci(e){return e!=null}function Xoe(e){var t=e.files,n=e.accept,r=e.minSize,a=e.maxSize,o=e.multiple,s=e.maxFiles,u=e.validator;return!o&&t.length>1||o&&s>=1&&t.length>s?!1:t.every(function(c){var d=$5(c,n),p=Ou(d,1),g=p[0],m=q5(c,r,a),b=Ou(m,1),y=b[0],v=u?u(c):null;return g&&y&&!v})}function If(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function zd(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function XO(e){e.preventDefault()}function Zoe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function Qoe(e){return e.indexOf("Edge/")!==-1}function Joe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Zoe(e)||Qoe(e)}function Jr(){for(var e=arguments.length,t=new Array(e),n=0;n1?a-1:0),s=1;s