diff --git a/backend/routers/memory.py b/backend/routers/memory.py index a5a2d2b..18a3a57 100644 --- a/backend/routers/memory.py +++ b/backend/routers/memory.py @@ -10,7 +10,7 @@ router = APIRouter(prefix="/api") class MemIn(BaseModel): content: str - category: str = "stable" + category: str = "knowledge" source: str = "manual" @@ -28,7 +28,7 @@ class LearnIn(BaseModel): text: str | None = None messages: list[dict] | None = None source: str = "auto" - category: str = "stable" + category: str = "knowledge" @router.get("/memory/export") diff --git a/backend/services/memory.py b/backend/services/memory.py index a4e7492..4d8a528 100644 --- a/backend/services/memory.py +++ b/backend/services/memory.py @@ -19,7 +19,7 @@ import httpx from config import MEM0_SERVICE_URL -CATEGORIES = ("user", "instruction", "stable", "versioned", "ephemeral") +CATEGORIES = ("identity", "knowledge", "rules", "events") _TIMEOUT = httpx.Timeout(60.0, connect=5.0) # LLM-Extraktion kann ein paar Sekunden dauern diff --git a/frontend/dist/assets/GraphView-Ci3mD3kA.js b/frontend/dist/assets/GraphView-D1XaZnBF.js similarity index 99% rename from frontend/dist/assets/GraphView-Ci3mD3kA.js rename to frontend/dist/assets/GraphView-D1XaZnBF.js index 4a809e6..0b77e08 100644 --- a/frontend/dist/assets/GraphView-Ci3mD3kA.js +++ b/frontend/dist/assets/GraphView-D1XaZnBF.js @@ -1,4 +1,4 @@ -import{r as K,a as Hv,g as Hr,R as Um,c as q2,j as Ne,l as Z2,S as K2,b as Vx,T as $2}from"./index-BVXzL-Al.js";/** +import{r as K,a as Hv,g as Hr,R as Um,c as q2,j as Ne,l as Z2,S as K2,b as Vx,T as $2}from"./index-BbiMdr0-.js";/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT @@ -3953,4 +3953,4 @@ vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; top: 50%; left: 50%; transform: translate(-50%, -50%); - }`)),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();var jE,YE;function a2(r,e=[]){const t=e.length;for(const n of r){const i=e.indexOf(n);if(i>-1){const s=[...e.slice(i),n].map(o=>o.data.id);throw new Error(`Invalid Graph: Circular node path detected: ${s.join(" -> ")}.`)}t>n.depth&&(n.depth=t,a2(n.out,[...e,n]))}}function l2(r,e){let t=!1;const n=r.reduce((o,a)=>({...o,[a.id]:{data:a,out:[],depth:-1,ins:[]}}),{});try{for(const o of e){const a=o.source,l=o.target;if(!n.hasOwnProperty(a))throw new Error(`Missing source Node ${a}`);if(!n.hasOwnProperty(l))throw new Error(`Missing target Node ${l}`);const c=n[a],u=n[l];u.ins.push(c),c.out.push(u)}a2(Object.values(n))}catch{t=!0}const i=Object.keys(n).map(o=>n[o].depth),s=Math.max(...i);return{invalid:t,depths:n,maxDepth:s||1}}const qE=["radialin","radialout"];function E5({nodes:r,edges:e,mode:t="lr",nodeLevelRatio:n=2}){const{depths:i,maxDepth:s,invalid:o}=l2(r,e);if(o)return null;const a=qE.includes(t)?1:5,l=r.length/s*n*a;if(t){const c=(m,v)=>_=>m?(i[_.id].depth-s/2)*l*(v?-1:1):void 0,u=c(["lr","rl"].includes(t),t==="rl"),h=c(["td","bu"].includes(t),t==="td"),p=c(["zin","zout"].includes(t),t==="zout");r.forEach(m=>{m.fx=u(m),m.fy=h(m),m.fz=p(m)})}return qE.includes(t)?KN(c=>{const u=i[c.id];return(t==="radialin"?s-u.depth:u.depth)*l}).strength(1):null}function b5(r){return new Promise((e,t)=>{let n;function i(){n?e(n):(n=r.step(),i())}i()})}function _h(r){const e=[],t=[];return r.forEachNode((n,i)=>{e.push({...i,id:n,radius:i.size||1})}),r.forEachEdge((n,i)=>{t.push({...i,id:n})}),{nodes:e,edges:t}}function M5(){const r=O=>()=>O;let t=O=>O.index,n=[],i=[],s,o,a=[100,100],l=r(1),c=r(-1),u=r(100),h=r(.1),p={},m=.1,v=.001,_=[],y=[0,0],g,x=O=>O.cluster,w="treemap",E=!0,b=.1;function M(O){if(!E)return M;w==="force"&&(g.tick(),I());for(let k=0,G=n.length,B,D=O*b;kk.radius).sort(function(k,G){return G.height-k.height||G.value-k.value}),_=O(o).leaves(),I()}function q(){let O=0;n.length!==0&&i.forEach(function(k){let G,B;if(n){if(G=k.source,B=k.target,typeof k.source!="object"&&(G=n.find(D=>D.id===k.source)),typeof k.target!="object"&&(B=n.find(D=>D.id===k.target)),G===void 0||B===void 0)throw Error("Error setting links, couldnt find nodes for a link (see it on the console)");k.source=G,k.target=B,k.index=O++}})}function W(){let O;!n||!n.length||(q(),O=F(),s.size>0&&O.nodes.forEach(k=>{var G,B,D,V;k.fx=(B=(G=s.get(k.id))==null?void 0:G.position)==null?void 0:B.x,k.fy=(V=(D=s.get(k.id))==null?void 0:D.position)==null?void 0:V.y}),g=zT(O.nodes).force("x",xv(a[0]/2).strength(.1)).force("y",wv(a[1]/2).strength(.1)).force("collide",IT(k=>k.r).iterations(4)).force("charge",BT().strength(c)).force("links",DT(O.nodes.length?O.links:[]).distance(u).strength(h)),_=g.nodes(),I())}return M.template=function(O){return arguments.length?(w=O,A(),M):w},M.groupBy=function(O){return arguments.length?typeof O=="string"?(x=function(k){return k[O]},M):(x=O,M):x},M.enableGrouping=function(O){return arguments.length?(E=O,M):E},M.strength=function(O){return arguments.length?(b=O,M):b},M.getLinkStrength=function(O){return E?x(O.source)===x(O.target)?typeof m=="function"?m(O):m:typeof v=="function"?v(O):v:typeof m=="function"?m(O):m},M.id=function(O){return arguments.length?(t=O,M):t},M.size=function(O){return arguments.length?(a=O,M):a},M.linkStrengthInterCluster=function(O){return arguments.length?(v=O,M):v},M.linkStrengthIntraCluster=function(O){return arguments.length?(m=O,M):m},M.nodes=function(O){return arguments.length?(n=O,M):n},M.links=function(O){return arguments.length?(O===null?i=[]:i=O,A(),M):i},M.template=function(O){return arguments.length?(w=O,A(),M):w},M.forceNodeSize=function(O){return arguments.length?(l=typeof O=="function"?O:r(+O),A(),M):l},M.nodeSize=M.forceNodeSize,M.forceCharge=function(O){return arguments.length?(c=typeof O=="function"?O:r(+O),A(),M):c},M.forceLinkDistance=function(O){return arguments.length?(u=typeof O=="function"?O:r(+O),A(),M):u},M.forceLinkStrength=function(O){return arguments.length?(h=typeof O=="function"?O:r(+O),A(),M):h},M.offset=function(O){return arguments.length?(y=typeof O=="function"?O:r(+O),M):y},M.getFocis=I,M.setClusters=function(O){return s=O,M},M}function uo({graph:r,nodeLevelRatio:e=2,mode:t=null,dimensions:n=2,nodeStrength:i=-250,linkDistance:s=50,clusterStrength:o=.5,linkStrengthInterCluster:a=.01,linkStrengthIntraCluster:l=.5,forceLinkDistance:c=100,forceLinkStrength:u=.1,clusterType:h="force",forceCharge:p=-700,getNodePosition:m,drags:v,clusters:_,clusterAttribute:y,forceLayout:g}){const{nodes:x,edges:w}=_h(r),b=n===2&&w.length>25?i*2:i;let M,A;g==="forceDirected2d"?(M=xv(),A=wv()):(M=xv(600).strength(.05),A=wv(600).strength(.05));const P=zT().force("center",FO(0,0)).force("link",DT()).force("charge",BT().strength(b)).force("x",M).force("y",A).force("z",$N()).force("collide",IT(N=>N.radius+10)).force("dagRadial",E5({nodes:x,edges:w,mode:t,nodeLevelRatio:e})).stop();let C;if(y){let N=p;if(x!=null&&x.length){const I=Math.ceil(x.length/200);N=p*I}C=M5().setClusters(_).strength(o).template(h).groupBy(I=>I.data[y]).links(w).size([100,100]).linkStrengthInterCluster(a).linkStrengthIntraCluster(l).forceLinkDistance(c).forceLinkStrength(u).forceCharge(N).forceNodeSize(I=>I.radius)}let L=P.numDimensions(n).nodes(x);if(C&&(L=L.force("group",C)),s){let N=L.force("link");N&&(N.id(I=>I.id).links(w).distance(s),C&&(N=N.strength((C==null?void 0:C.getLinkStrength)??.1)))}const F=new Map(x.map(N=>[N.id,N]));return{step(){for(;P.alpha()>.01;)P.tick();return!0},getNodePosition(N){var I,X;if(m){const q=m(N,{graph:r,drags:v,nodes:x,edges:w});if(q)return q}return(I=v==null?void 0:v[N])!=null&&I.position?(X=v==null?void 0:v[N])==null?void 0:X.position:F.get(N)}}}function T5({graph:r,radius:e,drags:t,getNodePosition:n}){const i=FF(r,{scale:e}),{nodes:s,edges:o}=_h(r);return{step(){return!0},getNodePosition(a){var l,c;if(n){const u=n(a,{graph:r,drags:t,nodes:s,edges:o});if(u)return u}return(l=t==null?void 0:t[a])!=null&&l.position?(c=t==null?void 0:t[a])==null?void 0:c.position:i==null?void 0:i[a]}}}const A5={td:{x:"x",y:"y",factor:-1},lr:{x:"y",y:"x",factor:1}};function ZE({graph:r,drags:e,mode:t="td",nodeSeparation:n=1,nodeSize:i=[50,50],getNodePosition:s}){const{nodes:o,edges:a}=_h(r),{depths:l}=l2(o,a),c=Object.keys(l).map(_=>l[_]),u=SF().id(_=>_.data.id).parentId(_=>{var y,g,x;return(x=(g=(y=_.ins)==null?void 0:y[0])==null?void 0:g.data)==null?void 0:x.id})(c),p=RF().separation(()=>n).nodeSize(i)(Mp(u)).descendants(),m=A5[t],v=new Map(o.map(_=>{const{x:y,y:g}=p.find(x=>x.data.id===_.id);return[_.id,{..._,[m.x]:y*m.factor,[m.y]:g*m.factor,z:0}]}));return{step(){return!0},getNodePosition(_){var y,g;if(s){const x=s(_,{graph:r,drags:e,nodes:o,edges:a});if(x)return x}return(y=e==null?void 0:e[_])!=null&&y.position?(g=e==null?void 0:e[_])==null?void 0:g.position:v.get(_)}}}function C5({graph:r,margin:e,drags:t,getNodePosition:n,ratio:i,gridSize:s,maxIterations:o}){const{nodes:a,edges:l}=_h(r),c=VF(r,{maxIterations:o,inputReducer:(u,h)=>({...h,x:h.x||0,y:h.y||0}),settings:{ratio:i,margin:e,gridSize:s}});return{step(){return!0},getNodePosition(u){var h,p;if(n){const m=n(u,{graph:r,drags:t,nodes:a,edges:l});if(m)return m}return(h=t==null?void 0:t[u])!=null&&h.position?(p=t==null?void 0:t[u])==null?void 0:p.position:c==null?void 0:c[u]}}}function R5({graph:r,drags:e,iterations:t,...n}){JF.assign(r);const i=ZF(r,{iterations:t,settings:n});return{step(){return!0},getNodePosition(s){var o;return((o=e==null?void 0:e[s])==null?void 0:o.position)||(i==null?void 0:i[s])}}}function P5({graph:r,drags:e,getNodePosition:t}){const{nodes:n,edges:i}=_h(r);return{step(){return!0},getNodePosition(s){return t(s,{graph:r,drags:e,nodes:n,edges:i})}}}const L5=["forceDirected2d","treeTd2d","treeLr2d","radialOut2d","treeTd3d","treeLr3d","radialOut3d","forceDirected3d"];function I5({type:r,...e}){if(L5.includes(r)){const{nodeStrength:t,linkDistance:n,nodeLevelRatio:i}=e;if(r==="forceDirected2d")return uo({...e,dimensions:2,nodeLevelRatio:i||2,nodeStrength:t||-250,linkDistance:n,forceLayout:r});if(r==="treeTd2d")return uo({...e,mode:"td",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-250,linkDistance:n||50,forceLayout:r});if(r==="treeLr2d")return uo({...e,mode:"lr",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-250,linkDistance:n||50,forceLayout:r});if(r==="radialOut2d")return uo({...e,mode:"radialout",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-500,linkDistance:n||100,forceLayout:r});if(r==="treeTd3d")return uo({...e,mode:"td",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||50});if(r==="treeLr3d")return uo({...e,mode:"lr",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||50,forceLayout:r});if(r==="radialOut3d")return uo({...e,mode:"radialout",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||100,forceLayout:r});if(r==="forceDirected3d")return uo({...e,dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-250,linkDistance:n,forceLayout:r})}else if(r==="circular2d"){const{radius:t}=e;return T5({...e,radius:t||300})}else{if(r==="hierarchicalTd")return ZE({...e,mode:"td"});if(r==="hierarchicalLr")return ZE({...e,mode:"lr"});if(r==="nooverlap"){const{graph:t,maxIterations:n,ratio:i,margin:s,gridSize:o,...a}=e;return C5({graph:t,margin:s||10,maxIterations:n||50,ratio:i||10,gridSize:o||20,...a})}else if(r==="forceatlas2"){const{graph:t,iterations:n,gravity:i,scalingRatio:s,...o}=e;return R5({type:"forceatlas2",graph:t,...o,scalingRatio:s||100,gravity:i||10,iterations:n||50})}else if(r==="custom")return P5({...e})}throw new Error(`Layout ${r} not found.`)}function c2({nodeCount:r,nodePosition:e,labelType:t,camera:n}){return(i,s)=>{var o;if(n&&e&&((o=n==null?void 0:n.position)==null?void 0:o.z)/(n==null?void 0:n.zoom)-(e==null?void 0:e.z)>6e3)return!1;if(t==="all")return!0;if(t==="nodes"&&i==="node")return!0;if(t==="edges"&&i==="edge")return!0;if(t==="auto"&&i==="node"){if(s>7)return!0;if(n&&e&&n.position.z/n.zoom-e.z<3e3)return!0}return!1}}function u2(r,e){switch(e){case"above":return r;case"below":return-r;case"inline":case"natural":default:return 0}}function D5({graph:r}){const e=nk(r);return{ranks:e,getSizeForNode:t=>e[t]*80}}function U5({graph:r}){const e=rk.degreeCentrality(r);return{ranks:e,getSizeForNode:t=>e[t]*20}}function O5({graph:r,attribute:e,defaultSize:t}){const n=new Map;return e?r.forEachNode((i,s)=>{var o;const a=(o=s.data)==null?void 0:o[e];isNaN(a)&&console.warn(`Attribute ${a} is not a number for node ${s.id}`),n.set(i,a||0)}):console.warn("Attribute sizing configured but no attribute provided"),{getSizeForNode:i=>!e||!n?t:n.get(i)}}const KE={pagerank:D5,centrality:U5,attribute:O5,none:({defaultSize:r})=>({getSizeForNode:e=>r})};function N5({type:r,...e}){var t;const n=(t=KE[r])==null?void 0:t.call(KE,e);if(!n&&r!=="default")throw new Error(`Unknown sizing strategy: ${r}`);const{graph:i,minSize:s,maxSize:o}=e,a=new Map;let l,c;if(i.forEachNode((u,h)=>{let p;r==="default"?p=h.size||e.defaultSize:p=n.getSizeForNode(u),(l===void 0||pc)&&(c=p),a.set(u,p)}),r!=="none"){const u=Z2().domain([l,c]).rangeRound([s,o]);for(const[h,p]of a)a.set(h,u(p))}return a}function F5(r,e,t){r.clear();const n=new Set;for(const i of e)try{n.has(i.id)||(r.addNode(i.id,i),n.add(i.id))}catch(s){console.error(`[Graph] Error adding node '${i.id}`,s)}for(const i of t)if(!(!n.has(i.source)||!n.has(i.target)))try{r.addEdge(i.source,i.target,i)}catch(s){console.error(`[Graph] Error adding edge '${i.source} -> ${i.target}`,s)}return r}function k5({graph:r,layout:e,sizingType:t,labelType:n,sizingAttribute:i,defaultNodeSize:s,minNodeSize:o,maxNodeSize:a,clusterAttribute:l}){const c=[],u=[],h=new Map,p=N5({graph:r,type:t,attribute:i,minSize:o,maxSize:a,defaultSize:s}),m=r.nodes().length,v=c2({nodeCount:m,labelType:n});return r.forEachNode((_,y)=>{const g=e.getNodePosition(_),{data:x,fill:w,icon:E,label:b,size:M,...A}=y,P=p.get(y.id),C=v("node",P),F=(r.inboundNeighbors(y.id)||[]).map(I=>r.getNodeAttributes(I)),N={...y,size:P,labelVisible:C,label:b,icon:E,fill:w,cluster:l?x[l]:void 0,parents:F,data:{...A,...x??{}},position:{...g,x:g.x||0,y:g.y||0,z:g.z||1}};h.set(y.id,N),c.push(N)}),r.forEachEdge((_,y)=>{const g=h.get(y.source),x=h.get(y.target);if(g&&x){const{data:w,id:E,label:b,size:M,...A}=y,P=v("edge",M);u.push({...y,id:E,label:b,labelVisible:P,size:M,data:{...A,id:E,...w||{}}})}}),{nodes:c,edges:u}}const nr={mass:10,tension:1e3,friction:300,precision:.1};function h2(r,e,t){const n=e.getLength(),i=r==="end"?n:n/2,s=r==="end"?t/2:0,o=(i-s)/n,a=e.getPointAt(o),l=e.getTangentAt(o);return[a,l]}function f2(r){return[r+6,2+r/1.5]}const R0=.7;function d2(r,e,t=0){const n=new Y(r.x,r.y||0,r.z||0),i=new Y(e.x,e.y||0,e.z||0),s=new Y().addVectors(n,i).divideScalar(2);return s.setLength(s.length()+t)}function z5(r,e,t=-1){const n=r.clone(),i=e.clone(),s=new Y().subVectors(i,n),o=s.length(),a=s.clone().normalize(),l=new Y().subVectors(i,n).divideScalar(2),c=Math.abs(a.x)%1,u=new Y(-a.y,a.x-c*a.z,c*a.y).normalize(),h=new Y().add(n).add(l).add(u.multiplyScalar(o/4).multiplyScalar(t));return[r,h,e]}function Qu(r,e,t,n,i,s){const o=$E(r,t,e),a=$E(t,r,n);return i?new lp(...z5(o,a,s)):new vy(o,a)}function eh(r){return new Y(r.position.x,r.position.y,r.position.z||0)}function $E(r,e,t){const n=r.distanceTo(e);return r.clone().add(e.clone().sub(r).multiplyScalar(t/n))}function JE(r,e){return{...r,position:{...r.position,x:r.position.x+e.x,y:r.position.y+e.y,z:r.position.z+e.z}}}function B5({edge:r,edges:e,curved:t}){let n=t,i;const s=e.filter(o=>o.target===r.target&&o.source===r.source).map(o=>o.id);if(s.length>1){n=!0;const o=s.indexOf(r.id);s.length===2?i=o===0?R0:-R0:i=(o-Math.floor(s.length/2))*R0}return{curved:n,curveOffset:i}}function th(r){let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of r)e=Math.min(e,a.position.x),t=Math.max(t,a.position.x),n=Math.min(n,a.position.y),i=Math.max(i,a.position.y),s=Math.min(s,a.position.z),o=Math.max(o,a.position.z);return{height:i-n,width:t-e,minX:e,maxX:t,minY:n,maxY:i,minZ:s,maxZ:o,x:(t+e)/2,y:(i+n)/2,z:(o+s)/2}}function G5(r,e){return e?r.reduce((t,n)=>{const i=n.data[e];return i&&t.set(i,[...t.get(i)||[],n]),t},new Map):new Map}function H5({nodes:r,clusterAttribute:e}){const t=new Map;if(e){const n=G5(r,e);for(const[i,s]of n){const o=th(s);t.set(i,{label:i,nodes:s,position:o})}}return t}const m_=({sensitivity:r=7,interval:e=50,timeout:t=0,disabled:n,onPointerOver:i,onPointerOut:s})=>{const o=K.useRef(!1),a=K.useRef(null),l=K.useRef(0),c=K.useRef({x:null,y:null,px:null,py:null}),u=K.useCallback(y=>{c.current.x=y.clientX,c.current.y=y.clientY},[]),h=K.useCallback(y=>{a.current=clearTimeout(a.current);const{px:g,x,py:w,y:E}=c.current;Math.abs(g-x)+Math.abs(w-E)h(y),e))},[e,i,r]),p=K.useCallback(()=>{clearTimeout(a.current),typeof window<"u"&&document.removeEventListener("mousemove",u,!1)},[u]),m=K.useCallback(y=>{n||(o.current=!0,p(),l.current!==1&&(c.current.px=y.pointer.x,c.current.py=y.pointer.y,typeof window<"u"&&document.addEventListener("mousemove",u,!1),a.current=setTimeout(()=>h(y),t)))},[p,h,n,u,t]),v=K.useCallback(y=>{a.current=clearTimeout(a.current),l.current=0,s(y)},[s]),_=K.useCallback(y=>{o.current=!1,p(),l.current===1&&(a.current=setTimeout(()=>v(y),t))},[p,v,t]);return{pointerOver:m,pointerOut:_}},p2=({draggable:r,set:e,position:t,bounds:n,onDragStart:i,onDragEnd:s})=>{const o=Bn(y=>y.camera),a=Bn(y=>y.raycaster),l=Bn(y=>y.size),c=Bn(y=>y.gl),{mouse2D:u,mouse3D:h,offset:p,normal:m,plane:v}=K.useMemo(()=>({mouse2D:new De,mouse3D:new Y,offset:new Y,normal:new Y,plane:new Us}),[]),_=K.useMemo(()=>c.domElement.getBoundingClientRect(),[c.domElement]);return Pz({onDragStart:({event:y})=>{const{eventObject:g,point:x}=y;g.getWorldPosition(p).sub(x),h.copy(x),i()},onDrag:({xy:y,buttons:g,cancel:x})=>{if(g!==1){x();return}const w=(y[0]-((_==null?void 0:_.left)??0))/l.width*2-1,E=-((y[1]-((_==null?void 0:_.top)??0))/l.height)*2+1;u.set(w,E),a.setFromCamera(u,o),o.getWorldDirection(m).negate(),v.setFromNormalAndCoplanarPoint(m,h),a.ray.intersectPlane(v,h);const b=new Y(t.x,t.y,t.z).copy(h).add(p);if(n){const M=new Y((n.minX+n.maxX)/2,(n.minY+n.maxY)/2,(n.minZ+n.maxZ)/2),A=(n.maxX-n.minX)/2,P=b.clone().sub(M);P.length()>A&&(P.normalize().multiplyScalar(A),b.copy(M).add(P))}return e(b)},onDragEnd:s},{drag:{enabled:r,threshold:10}})},{Provider:V5,useStore:qe}=vk(),W5=({actives:r=[],selections:e=[],collapsedNodeIds:t=[],theme:n})=>mk(i=>({theme:{...n,edge:{...n.edge,label:{...n.edge.label,fontSize:n.edge.label.fontSize??6}}},edges:[],nodes:[],collapsedNodeIds:t,clusters:new Map,panning:!1,draggingIds:[],actives:r,edgeContextMenus:new Set,edgeMeshes:[],selections:e,hoveredNodeId:null,drags:{},graph:new en({multi:!0}),setTheme:s=>i(o=>({...o,theme:s})),setClusters:s=>i(o=>({...o,clusters:s})),setEdgeContextMenus:s=>i(o=>({...o,edgeContextMenus:s})),setEdgeMeshes:s=>i(o=>({...o,edgeMeshes:s})),setPanning:s=>i(o=>({...o,panning:s})),setDrags:s=>i(o=>({...o,drags:s})),addDraggingId:s=>i(o=>({...o,draggingIds:[...o.draggingIds,s]})),removeDraggingId:s=>i(o=>({...o,draggingIds:o.draggingIds.filter(a=>a!==s)})),setActives:s=>i(o=>({...o,actives:s})),setSelections:s=>i(o=>({...o,selections:s})),setHoveredNodeId:s=>i(o=>({...o,hoveredNodeId:s})),setNodes:s=>i(o=>({...o,nodes:s,centerPosition:th(s)})),setEdges:s=>i(o=>({...o,edges:s})),setNodePosition:(s,o)=>i(a=>{var l,c;const u=a.nodes.find(_=>_.id===s),h=eh(u),m=new Y(o.x,o.y,o.z).sub(h),v=[...a.nodes];if((l=a.selections)!=null&&l.includes(s))(c=a.selections)==null||c.forEach(_=>{const y=a.nodes.find(g=>g.id===_);if(y){const g=a.nodes.indexOf(y);v[g]=JE(y,m)}});else{const _=a.nodes.indexOf(u);v[_]=JE(u,m)}return{...a,drags:{...a.drags,[s]:u},nodes:v}}),setCollapsedNodeIds:(s=[])=>i(o=>({...o,collapsedNodeIds:s})),setClusterPosition:(s,o)=>i(a=>{const l=new Map(a.clusters),c=l.get(s);if(c){const u=c.position,h=new Y(o.x-u.x,o.y-u.y,o.z-(u.z??0)),p=[...a.nodes],m={...a.drags};p.forEach((y,g)=>{y.cluster===s&&(p[g]={...y,position:{...y.position,x:y.position.x+h.x,y:y.position.y+h.y,z:y.position.z+(h.z??0)}},m[y.id]=y)});const v=p.filter(y=>y.cluster===s),_=th(v);return l.set(s,{...c,position:_}),{...a,drags:{...m,[s]:c},clusters:l,nodes:p}}return a})}));function m2({nodeId:r,nodes:e,edges:t,currentHiddenNodes:n,currentHiddenEdges:i}){const s=[],o=[],a=n.map(m=>m.id),l=i.map(m=>m.id),c=t.filter(m=>m.source===r),u=c.map(m=>m.target);o.push(...c);for(const m of u){const v=t.filter(y=>y.target===m&&y.source!==r);let _=!1;if((v.length===0||v.length>0&&!a.includes(m)&&v.map(g=>g.id).every(g=>l.includes(g)))&&(_=!0),_){const y=e.find(x=>x.id===m);y&&s.push(y);const g=m2({nodeId:m,nodes:e,edges:t,currentHiddenEdges:o,currentHiddenNodes:s});o.push(...g.hiddenEdges),s.push(...g.hiddenNodes)}}const h=Object.values(o.reduce((m,v)=>({...m,[v.id]:v}),{})),p=Object.values(s.reduce((m,v)=>({...m,[v.id]:v}),{}));return{hiddenEdges:h,hiddenNodes:p}}const X5=({collapsedIds:r,nodes:e,edges:t})=>{const n=[],i=[];for(const c of r){const{hiddenEdges:u,hiddenNodes:h}=m2({nodeId:c,nodes:e,edges:t,currentHiddenEdges:i,currentHiddenNodes:n});n.push(...h),i.push(...u)}const s=n.map(c=>c.id),o=i.map(c=>c.id),a=e.filter(c=>!s.includes(c.id)),l=t.filter(c=>!o.includes(c.id));return{visibleNodes:a,visibleEdges:l}},j5=({layoutType:r,sizingType:e,labelType:t,sizingAttribute:n,clusterAttribute:i,selections:s,nodes:o,edges:a,actives:l,collapsedNodeIds:c,defaultNodeSize:u,maxNodeSize:h,minNodeSize:p,layoutOverrides:m,constrainDragging:v})=>{const _=qe(D=>D.graph),y=qe(D=>D.clusters),g=qe(D=>D.nodes),x=qe(D=>D.setClusters),w=qe(D=>D.collapsedNodeIds),E=qe(D=>D.setEdges),b=qe(D=>D.nodes),M=qe(D=>D.setNodes),A=qe(D=>D.setSelections),P=qe(D=>D.setActives),C=qe(D=>D.drags),L=qe(D=>D.setDrags),F=qe(D=>D.setCollapsedNodeIds),N=K.useRef(!1),I=K.useRef(null),X=Bn(D=>D.camera),q=K.useRef(C),W=K.useRef([]);K.useEffect(()=>{var D;if(!i)return;const V=g.map(ee=>ee.id),Z=o.find(ee=>!V.includes(ee.id));if(Z){const ee=Z.data[i],ie=y.get(ee),ue={...q.current};(D=ie==null?void 0:ie.nodes)==null||D.forEach(ce=>ue[ce.id]=void 0),q.current=ue,L(ue)}},[g,o,i,y,L]);const{visibleEdges:O,visibleNodes:k}=K.useMemo(()=>X5({collapsedIds:w,nodes:o,edges:a}),[w,o,a]),G=K.useCallback(D=>{const V={...q.current};D.forEach(Z=>V[Z.id]=Z),q.current=V,L(V)},[L]),B=K.useCallback(async D=>{I.current=D||I5({...m,type:r,graph:_,drags:q.current,clusters:W==null?void 0:W.current,clusterAttribute:i}),await b5(I.current);const V=k5({graph:_,layout:I.current,sizingType:e,labelType:t,sizingAttribute:n,maxNodeSize:h,minNodeSize:p,defaultNodeSize:u,clusterAttribute:i}),Z=H5({nodes:V.nodes,clusterAttribute:i});v&&Z.forEach(ee=>{var ie,ue;const ce=W.current.get(ee.label);(ce==null?void 0:ce.nodes.length)===ee.nodes.length&&(ee.position=((ue=(ie=W.current)==null?void 0:ie.get(ee.label))==null?void 0:ue.position)??ee.position)}),E(V.edges),M(V.nodes),x(Z),i&&G(V.nodes)},[m,r,i,e,t,n,h,p,u,E,M,x]);return K.useEffect(()=>{q.current=C},[C,i,B]),K.useEffect(()=>{W.current=y},[y]),K.useEffect(()=>{const D=b.map(Z=>({...Z,labelVisible:c2({nodeCount:b==null?void 0:b.length,labelType:t,camera:X,nodePosition:Z==null?void 0:Z.position})("node",Z==null?void 0:Z.size)}));D.some((Z,ee)=>Z.labelVisible!==b[ee].labelVisible)&&M(D)},[X,X.zoom,X.position.z,M,b,t]),K.useEffect(()=>{N.current&&A(s)},[s,A]),K.useEffect(()=>{N.current&&P(l)},[l,P]),K.useEffect(()=>{async function D(){N.current=!1,F5(_,k,O),await B(),requestAnimationFrame(()=>N.current=!0)}D()},[k,O]),K.useEffect(()=>{N.current&&F(c)},[c,F]),K.useEffect(()=>{N.current&&(q.current={},L({}),B())},[r,B,L]),K.useEffect(()=>{N.current&&B(I.current)},[e,n,t,B]),{updateLayout:B}},nh=({text:r,fontSize:e=7,fontUrl:t,color:n="#2A6475",opacity:i=1,stroke:s,active:o,ellipsis:a=75,rotation:l})=>{const c=a&&!o?y5(r,a):r,u=K.useMemo(()=>new Ke(n),[n]),h=K.useMemo(()=>s?new Ke(s):void 0,[s]);return Ne.jsx(qA,{position:[0,0,1],children:Ne.jsx(f5,{font:t,fontSize:e,color:u,fillOpacity:i,textAlign:"center",outlineWidth:s?1:0,outlineColor:h,depthOffset:0,maxWidth:100,overflowWrap:"break-word",rotation:l,children:c})})},Y5=({color:r="#D8E6EA",size:e=1,opacity:t=.5,animated:n,strokeWidth:i=5,innerRadius:s=4,segments:o=25})=>{const a=K.useMemo(()=>new Ke(r),[r]),{ringSize:l,ringOpacity:c}=tr({from:{ringOpacity:0,ringSize:[1e-5,1e-5,1e-5]},to:{ringOpacity:t,ringSize:[e/2,e/2,1]},config:{...nr,duration:n?void 0:0}}),u=i/10,h=s+u;return Ne.jsx(qA,{position:[0,0,1],children:Ne.jsxs(An.mesh,{scale:l,children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[s,h,o]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:a,transparent:!0,depthTest:!1,opacity:c,side:vn,fog:!0})]})})},q5=({color:r,id:e,size:t,selected:n,opacity:i=1,animated:s})=>{const{scale:o,nodeOpacity:a}=tr({from:{scale:[1e-5,1e-5,1e-5],nodeOpacity:0},to:{scale:[t,t,t],nodeOpacity:i},config:{...nr,duration:s?void 0:0}}),l=K.useMemo(()=>new Ke(r),[r]),c=qe(u=>u.theme);return Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs(An.mesh,{userData:{id:e,type:"node"},scale:o,children:[Ne.jsx("sphereGeometry",{attach:"geometry",args:[1,25,25]}),Ne.jsx(An.meshPhongMaterial,{attach:"material",side:vn,transparent:!0,fog:!0,opacity:a,color:l})]}),Ne.jsx(Y5,{opacity:n?.5:0,size:t,animated:s,color:n?c.ring.activeFill:c.ring.fill})]})},g2=K.createContext({controls:null,resetControls:()=>{},zoomIn:()=>{},zoomOut:()=>{},dollyIn:()=>{},dollyOut:()=>{},panLeft:()=>{},panRight:()=>{},panUp:()=>{},panDown:()=>{},freeze:()=>{},unFreeze:()=>{}}),zp=()=>{const r=K.useContext(g2);if(r===void 0)throw new Error("`useCameraControls` hook must be used within a `ControlsProvider` component");return r};Qn.install({THREE:{MOUSE:ab,Vector2:De,Vector3:Y,Vector4:Xt,Quaternion:si,Matrix4:yt,Spherical:lT,Box3:ir,Sphere:rr,Raycaster:Uy,MathUtils:{DEG2RAD:(jE=Od)==null?void 0:jE.DEG2RAD,clamp:(YE=Od)==null?void 0:YE.clamp}}});hT({ThreeCameraControls:Qn});const Bp={ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40},QE=new kp(Bp.ARROW_LEFT,100),eb=new kp(Bp.ARROW_RIGHT,100),tb=new kp(Bp.ARROW_UP,100),nb=new kp(Bp.ARROW_DOWN,100),Z5=K.forwardRef(({mode:r="rotate",children:e,animated:t,disabled:n,minDistance:i=1e3,maxDistance:s=5e4},o)=>{const a=K.useRef(null),l=Bn(F=>F.camera),c=Bn(F=>F.gl),u=r==="orbit",h=qe(F=>F.setPanning),p=qe(F=>F.draggingIds.length>0),m=K.useRef(0),[v,_]=K.useState(!1);Ep((F,N)=>{var I,X;(I=a.current)!=null&&I.enabled&&((X=a.current)==null||X.update(N)),u&&(a.current.azimuthAngle+=20*N*Od.DEG2RAD)},-1),K.useEffect(()=>()=>{var F;return(F=a.current)==null?void 0:F.dispose()},[]);const y=K.useCallback(()=>{var F;(F=a.current)==null||F.zoom(l.zoom/2,t)},[t,l.zoom]),g=K.useCallback(()=>{var F;(F=a.current)==null||F.zoom(-l.zoom/2,t)},[t,l.zoom]),x=K.useCallback(F=>{var N;(N=a.current)==null||N.dolly(F,t)},[t]),w=K.useCallback(F=>{var N;(N=a.current)==null||N.dolly(F,t)},[t]),E=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(-.03*F.deltaTime,0,t)},[t,u]),b=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(.03*F.deltaTime,0,t)},[t,u]),M=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(0,.03*F.deltaTime,t)},[t,u]),A=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(0,-.03*F.deltaTime,t)},[t,u]),P=K.useCallback(F=>{F.code==="Space"&&(r==="rotate"?a.current.mouseButtons.left=Qn.ACTION.TRUCK:a.current.mouseButtons.left=Qn.ACTION.ROTATE)},[r]),C=K.useCallback(F=>{F.code==="Space"&&(r==="rotate"?a.current.mouseButtons.left=Qn.ACTION.ROTATE:a.current.mouseButtons.left=Qn.ACTION.TRUCK)},[r]);K.useEffect(()=>(n||(QE.addEventListener("holding",b),eb.addEventListener("holding",E),tb.addEventListener("holding",M),nb.addEventListener("holding",A),typeof window<"u"&&(window.addEventListener("keydown",P),window.addEventListener("keyup",C))),()=>{QE.removeEventListener("holding",b),eb.removeEventListener("holding",E),tb.removeEventListener("holding",M),nb.removeEventListener("holding",A),typeof window<"u"&&(window.removeEventListener("keydown",P),window.removeEventListener("keyup",C))}),[n,P,C,A,b,E,M]),K.useEffect(()=>{n?(a.current.mouseButtons.left=Qn.ACTION.NONE,a.current.mouseButtons.middle=Qn.ACTION.NONE,a.current.mouseButtons.wheel=Qn.ACTION.NONE):(a.current.mouseButtons.left=Qn.ACTION.TRUCK,a.current.mouseButtons.middle=Qn.ACTION.TRUCK,a.current.mouseButtons.wheel=Qn.ACTION.DOLLY)},[n]),K.useEffect(()=>{const F=()=>h(!0),N=()=>h(!1),I=a.current;return I&&(I.addEventListener("control",F),I.addEventListener("controlend",N)),()=>{I&&(I.removeEventListener("control",F),I.removeEventListener("controlend",N))}},[a,h]),K.useEffect(()=>{p?(a.current.mouseButtons.left=Qn.ACTION.NONE,a.current.touches.one=Qn.ACTION.NONE):r==="rotate"?(a.current.mouseButtons.left=Qn.ACTION.ROTATE,a.current.touches.one=Qn.ACTION.TOUCH_ROTATE):(a.current.touches.one=Qn.ACTION.TOUCH_TRUCK,a.current.mouseButtons.left=Qn.ACTION.TRUCK)},[p,r]);const L=K.useMemo(()=>({controls:a.current,zoomIn:()=>y(),zoomOut:()=>g(),dollyIn:(F=1e3)=>x(F),dollyOut:(F=-1e3)=>w(F),panLeft:(F=100)=>b({deltaTime:F}),panRight:(F=100)=>E({deltaTime:F}),panDown:(F=100)=>A({deltaTime:F}),panUp:(F=100)=>M({deltaTime:F}),resetControls:F=>{var N;return(N=a.current)==null?void 0:N.reset(F)},freeze:()=>{a.current.truckSpeed&&(m.current=a.current.truckSpeed),a.current.truckSpeed=0},unFreeze:()=>a.current.truckSpeed=m.current}),[y,g,b,E,A,M,a.current]);return K.useImperativeHandle(o,()=>L),Ne.jsxs(g2.Provider,{value:L,children:[Ne.jsx("threeCameraControls",{ref:F=>{a.current=F,v||_(!0)},args:[l,c.domElement],smoothTime:.1,minDistance:i,dollyToCursor:!0,maxDistance:s}),e]})});function v2(r,e){const t=e.position.z;rl.x0&&(e==null?void 0:e.x)l.y0&&(e==null?void 0:e.y)Math.abs(n-r%Math.PI){const n=qe(_=>_.nodes),[i,s]=K.useState(!1),o=Bn(_=>_.invalidate),{controls:a}=zp(),l=Bn(_=>_.camera),c=K.useRef(!1),u=K.useCallback(async(_,y)=>{const g=(y==null?void 0:y.animated)!==void 0?y==null?void 0:y.animated:!0,x=(y==null?void 0:y.centerOnlyIfNodesNotInView)!==void 0?y==null?void 0:y.centerOnlyIfNodesNotInView:!1;if(!c.current||!x||x&&(_!=null&&_.some(w=>!ib(l,w.position)))){const{x:w,y:E,z:b}=th(_);await a.setTarget(w,E,b,g),i||s(!0),o()}},[o,a,n]),h=K.useCallback(async(_,y={animated:!0,fitOnlyIfNodesNotInView:!1})=>{const{fitOnlyIfNodesNotInView:g}=y;if(!g||g&&(_!=null&&_.some(x=>!ib(l,x.position)))){const{minX:x,maxX:w,minY:E,maxY:b,minZ:M,maxZ:A}=th(_);if(!t.includes("3d")){const{horizontalRotation:P,verticalRotation:C}=$5(a==null?void 0:a.azimuthAngle,a==null?void 0:a.polarAngle);a==null||a.rotate(P,C,!0)}await(a==null?void 0:a.zoomTo(1,y==null?void 0:y.animated)),await(a==null?void 0:a.fitToBox(new ir(new Y(x,E,M),new Y(w,b,A)),y==null?void 0:y.animated,{cover:!1,paddingLeft:pd,paddingRight:pd,paddingBottom:pd,paddingTop:pd}))}},[l,a,t]),p=K.useCallback(_=>{let y=null;return _!=null&&_.length&&(y=_.reduce((g,x)=>{const w=n.find(E=>E.id===x);if(w)g.push(w);else throw new Error(`Attempted to center ${x} but it was not found in the nodes`);return g},[])),y},[n]),m=K.useCallback((_,y)=>{const g=p(_);u(g||n,{animated:r,centerOnlyIfNodesNotInView:y==null?void 0:y.centerOnlyIfNodesNotInView})},[r,u,p,n]),v=K.useCallback(async(_,y)=>{const g=p(_);await h(g||n,{animated:r,...y})},[r,h,p,n]);return K.useLayoutEffect(()=>{async function _(){a&&(n!=null&&n.length)&&(c.current||(await u(n,{animated:!1}),await h(n,{animated:!1}),c.current=!0))}_()},[a,u,n,r,l,h]),{centerNodes:u,centerNodesById:m,fitNodesInViewById:v,isCentered:i}},Q5=({image:r,id:e,size:t,opacity:n=1,animated:i})=>{const s=K.useMemo(()=>new KM().load(r),[r]),{scale:o,spriteOpacity:a}=tr({from:{scale:[1e-5,1e-5,1e-5],spriteOpacity:0},to:{scale:[t,t,t],spriteOpacity:n},config:{...nr,duration:i?void 0:0}});return Ne.jsx(An.sprite,{userData:{id:e,type:"node"},scale:o,children:Ne.jsx(An.spriteMaterial,{attach:"material",opacity:a,fog:!0,depthTest:!1,transparent:!0,side:vn,children:Ne.jsx("primitive",{attach:"map",object:s,minFilter:fn})})})},eH=({animated:r,disabled:e,id:t,draggable:n=!1,labelFontUrl:i,contextMenu:s,onClick:o,onDoubleClick:a,onPointerOver:l,onDragged:c,onPointerOut:u,onContextMenu:h,renderNode:p,constrainDragging:m})=>{var v,_,y;const g=zp(),x=qe(ne=>ne.theme),w=qe(ne=>ne.nodes.find(we=>we.id===t)),E=qe(ne=>ne.edges),b=qe(ne=>ne.draggingIds),M=qe(ne=>ne.collapsedNodeIds),A=qe(ne=>ne.addDraggingId),P=qe(ne=>ne.removeDraggingId),C=qe(ne=>ne.setHoveredNodeId),L=qe(ne=>ne.setNodePosition),F=qe(ne=>ne.setCollapsedNodeIds),N=qe(ne=>ne.collapsedNodeIds.includes(t)),I=qe(ne=>{var we;return(we=ne.actives)==null?void 0:we.includes(t)}),X=qe(ne=>{var we;return(we=ne.selections)==null?void 0:we.includes(t)}),q=qe(ne=>{var we;return((we=ne.selections)==null?void 0:we.length)>0}),W=qe(ne=>ne.centerPosition),O=qe(ne=>ne.clusters.get(w.cluster)),k=b.includes(t),G=b.length>0,{position:B,label:D,subLabel:V,size:Z=7,labelVisible:ee=!0}=w,ie=K.useRef(null),[ue,ce]=K.useState(!1),[le,Ae]=K.useState(!1),Ee=ue||X||I,ae=q?Ee?x.node.selectedOpacity:x.node.inactiveOpacity:x.node.opacity,z=K.useMemo(()=>E.filter(we=>we.source===t).length>0||N,[E,t,N]),oe=K.useCallback(()=>{z&&F(N?M.filter(ne=>ne!==t):[...M,t])},[z,M,t,N,F]),[{nodePosition:te,labelPosition:se,subLabelPosition:$}]=tr(()=>({from:{nodePosition:W?[W.x,W.y,0]:[0,0,0],labelPosition:[0,-(Z+7),2],subLabelPosition:[0,-(Z+14),2]},to:{nodePosition:B?[B.x,B.y,Ee?B.z+1:B.z]:[0,0,0],labelPosition:[0,-(Z+7),2],subLabelPosition:[0,-(Z+14),2]},config:{...nr,duration:r&&!G?void 0:0}}),[k,B,r,Z,Ee]),Ie=p2({draggable:n,position:B,bounds:m?O==null?void 0:O.position:void 0,set:ne=>L(t,ne),onDragStart:()=>{A(t),ce(!0)},onDragEnd:()=>{P(t),c==null||c(w)}});ya(ue&&!G&&o!==void 0,"pointer"),ya(ue&&n&&!k&&o===void 0,"grab"),ya(k,"grabbing");const de=Ee||k,Se=de?x.node.activeFill:w.fill||x.node.fill,{pointerOver:Le,pointerOut:ge}=m_({disabled:e||k,onPointerOver:ne=>{g.freeze(),ce(!0),l==null||l(w,ne),C(t)},onPointerOut:ne=>{g.unFreeze(),ce(!1),u==null||u(w,ne),C(null)}}),He=K.useMemo(()=>p?p({id:t,color:Se,size:Z,active:de,opacity:ae,animated:r,selected:X,node:w}):Ne.jsx(Ne.Fragment,{children:w.icon?Ne.jsx(Q5,{id:t,image:w.icon||"",size:Z+8,opacity:ae,animated:r,color:Se,node:w,active:de,selected:X}):Ne.jsx(q5,{id:t,size:Z,opacity:ae,animated:r,color:Se,node:w,active:de,selected:X})}),[p,t,Se,Z,de,ae,r,X,w]),j=K.useMemo(()=>{var ne,we,be;return ee&&(ee||X||ue)&&D&&Ne.jsxs(Ne.Fragment,{children:[Ne.jsx(An.group,{position:se,children:Ne.jsx(nh,{text:D,fontUrl:i,opacity:ae,stroke:x.node.label.stroke,active:X||ue||k||I,color:X||ue||k||I?x.node.label.activeColor:x.node.label.color})}),V&&Ne.jsx(An.group,{position:$,children:Ne.jsx(nh,{text:V,fontUrl:i,fontSize:5,opacity:ae,stroke:(ne=x.node.subLabel)==null?void 0:ne.stroke,active:X||ue||k||I,color:X||ue||k||I?(we=x.node.subLabel)==null?void 0:we.activeColor:(be=x.node.subLabel)==null?void 0:be.color})})]})},[ue,I,k,X,D,i,se,ee,ae,V,$,x.node.label.activeColor,x.node.label.color,x.node.label.stroke,(v=x.node.subLabel)==null?void 0:v.activeColor,(_=x.node.subLabel)==null?void 0:_.color,(y=x.node.subLabel)==null?void 0:y.stroke]),H=K.useMemo(()=>le&&s&&Ne.jsx($y,{prepend:!0,center:!0,children:s({data:w,canCollapse:z,isCollapsed:N,onCollapse:oe,onClose:()=>Ae(!1)})}),[le,s,w,z,N,oe]);return Ne.jsxs(An.group,{renderOrder:1,userData:{id:t,type:"node"},ref:ie,position:te,onPointerOver:Le,onPointerOut:ge,onClick:ne=>{!e&&!k&&(o==null||o(w,{canCollapse:z,isCollapsed:N},ne))},onDoubleClick:ne=>{!e&&!k&&(a==null||a(w,ne))},onContextMenu:()=>{e||(Ae(!0),h==null||h(w,{canCollapse:z,isCollapsed:N,onCollapse:oe}))},...Ie(),children:[He,H,j]})},tH=({animated:r,color:e="#D8E6EA",length:t,opacity:n=.5,position:i,rotation:s,size:o=1,onActive:a,onContextMenu:l})=>{const c=K.useMemo(()=>new Ke(e),[e]),u=K.useRef(null),h=qe(y=>y.draggingIds.length>0),p=qe(y=>y.centerPosition),[{pos:m,arrowOpacity:v}]=tr(()=>({from:{pos:p?[p.x,p.y,p.z]:[0,0,0],arrowOpacity:0},to:{pos:[i.x,i.y,i.z],arrowOpacity:n},config:{...nr,duration:r&&!h?void 0:0}}),[r,h,n,i]),_=K.useCallback(()=>{var y;const g=new Y(0,1,0);(y=u.current)==null||y.quaternion.setFromUnitVectors(g,s)},[s,u]);return K.useEffect(()=>_(),[_]),Ne.jsxs(An.mesh,{position:m,ref:u,scale:[1,1,1],onPointerOver:()=>a(!0),onPointerOut:()=>a(!1),onPointerDown:y=>{y.nativeEvent.buttons===2&&(y.stopPropagation(),l())},children:[Ne.jsx("cylinderGeometry",{args:[0,o,t,20,1,!0],attach:"geometry"}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:c,depthTest:!1,opacity:v,transparent:!0,side:vn,fog:!0})]})},nH=({curveOffset:r,animated:e,color:t="#000",curve:n,curved:i=!1,id:s,opacity:o=1,size:a=1,onContextMenu:l,onClick:c,onPointerOver:u,onPointerOut:h})=>{const p=K.useRef(null),m=qe(x=>x.draggingIds.length>0),v=K.useMemo(()=>new Ke(t),[t]),_=qe(x=>x.centerPosition),y=K.useRef(!1),{lineOpacity:g}=tr({from:{lineOpacity:0},to:{lineOpacity:o},config:{...nr,duration:e?void 0:0}});return tr(()=>{const x=n.getPoint(0),w=n.getPoint(1);return{from:{fromVertices:y.current?[w==null?void 0:w.x,w==null?void 0:w.y,(w==null?void 0:w.z)||0]:[_==null?void 0:_.x,_==null?void 0:_.y,(_==null?void 0:_.z)||0],toVertices:[x==null?void 0:x.x,x==null?void 0:x.y,(x==null?void 0:x.z)||0]},to:{fromVertices:[x==null?void 0:x.x,x==null?void 0:x.y,(x==null?void 0:x.z)||0],toVertices:[w==null?void 0:w.x,w==null?void 0:w.y,(w==null?void 0:w.z)||0]},onChange:E=>{const{fromVertices:b,toVertices:M}=E.value,A=new Y(...b),P=new Y(...M),C=Qu(A,0,P,0,i,r);p.current.copy(new ba(C,20,a/2,5,!1))},config:{...nr,duration:e&&!m?void 0:0}}},[e,m,n,a]),K.useEffect(()=>{y.current=!0},[]),Ne.jsxs("mesh",{userData:{id:s,type:"edge"},onPointerOver:u,onPointerOut:h,onClick:c,onPointerDown:x=>{x.nativeEvent.buttons===2&&(x.stopPropagation(),l())},children:[Ne.jsx("tubeGeometry",{attach:"geometry",ref:p}),Ne.jsx(An.meshBasicMaterial,{attach:"material",opacity:g,fog:!0,transparent:!0,depthTest:!1,color:v})]})},sb=3,iH=({animated:r,arrowPlacement:e="end",contextMenu:t,disabled:n,labelPlacement:i="inline",id:s,interpolation:o,labelFontUrl:a,onContextMenu:l,onClick:c,onPointerOver:u,onPointerOut:h})=>{const p=qe(oe=>oe.theme),m=qe(oe=>oe.draggingIds.length>0),[v,_]=K.useState(!1),[y,g]=K.useState(!1),x=qe(oe=>oe.edges),w=x.find(oe=>oe.id===s),{target:E,source:b,label:M,labelVisible:A=!1,size:P=1,fill:C}=w,L=qe(oe=>oe.nodes.find(te=>te.id===b)),F=qe(oe=>oe.nodes.find(te=>te.id===E)),N=(P+p.edge.label.fontSize)/2,[I,X]=K.useMemo(()=>f2(P),[P]),{curveOffset:q,curved:W}=K.useMemo(()=>B5({edge:w,edges:x,curved:o==="curved"}),[w,x,o]),[O,k,G]=K.useMemo(()=>{const oe=eh(L),te=L.size,se=eh(F),$=F.size;let Ie=Qu(oe,te,se,$,W,q);const[de,Se]=h2(e,Ie,I);return e==="end"&&(Ie=Qu(oe,te,de,0,W,q)),[Ie,de,Se]},[L,F,W,q,e,I]),B=K.useMemo(()=>{let oe=d2(L.position,F.position,u2(N,i));if(W){const te=new Y().subVectors(oe,O.getPoint(.5));switch(i){case"above":te.y=te.y-sb;break;case"below":te.y=te.y+sb;break}oe=oe.sub(te)}return oe},[L.position,F.position,N,i,W,O]),D=qe(oe=>{var te;return(te=oe.selections)==null?void 0:te.includes(s)}),V=qe(oe=>{var te;return(te=oe.selections)==null?void 0:te.length}),Z=qe(oe=>{var te;return(te=oe.actives)==null?void 0:te.includes(s)}),ee=qe(oe=>oe.centerPosition),ie=V?D||Z?p.edge.selectedOpacity:p.edge.inactiveOpacity:p.edge.opacity,[{labelPosition:ue}]=tr(()=>({from:{labelPosition:ee?[ee.x,ee.y,ee.z]:[0,0,0]},to:{labelPosition:[B.x,B.y,B.z]},config:{...nr,duration:r&&!m?void 0:0}}),[B,r,m]),ce=K.useMemo(()=>new Eo(0,0,i==="natural"?0:Math.atan((F.position.y-L.position.y)/(F.position.x-L.position.x))),[F.position.x,F.position.y,L.position.x,L.position.y,i]);ya(v&&!m&&c!==void 0,"pointer");const{pointerOver:le,pointerOut:Ae}=m_({disabled:n,onPointerOver:oe=>{_(!0),u==null||u(w,oe)},onPointerOut:oe=>{_(!1),h==null||h(w,oe)}}),Ee=K.useMemo(()=>e!=="none"&&Ne.jsx(tH,{animated:r,color:D||v||Z?p.arrow.activeFill:C||p.arrow.fill,length:I,opacity:ie,position:k,rotation:G,size:X,onActive:_,onContextMenu:()=>{n||(g(!0),l==null||l(w))}}),[C,v,r,I,e,k,G,X,n,w,Z,D,l,ie,p.arrow.activeFill,p.arrow.fill]),ae=K.useMemo(()=>A&&M&&Ne.jsx(An.group,{position:ue,onContextMenu:()=>{n||(g(!0),l==null||l(w))},onPointerOver:le,onPointerOut:Ae,children:Ne.jsx(nh,{text:M,ellipsis:15,fontUrl:a,stroke:p.edge.label.stroke,color:D||v||Z?p.edge.label.activeColor:p.edge.label.color,opacity:ie,fontSize:p.edge.label.fontSize,rotation:ce})}),[v,n,w,Z,D,M,a,ue,ce,A,l,Ae,le,ie,p.edge.label.activeColor,p.edge.label.color,p.edge.label.fontSize,p.edge.label.stroke]),z=K.useMemo(()=>y&&t&&Ne.jsx($y,{prepend:!0,center:!0,position:B,children:t({data:w,onClose:()=>g(!1)})}),[y,t,B,w]);return Ne.jsxs("group",{children:[Ne.jsx(nH,{curveOffset:q,animated:r,color:D||v||Z?p.edge.activeFill:C||p.edge.fill,curve:O,curved:W,id:s,opacity:ie,size:P,onClick:oe=>{n||c==null||c(w,oe)},onPointerOver:le,onPointerOut:Ae,onContextMenu:()=>{n||(g(!0),l==null||l(w))}}),Ee,ae,z]})},ob=new Ws(0,0,0);function rH(r,e){const t=K.useRef(),n=qe(c=>c.theme);qe(c=>{t.current=c});const i=K.useRef(new Map);K.useRef(new Ws(0,0,0));const s=K.useRef(),o=e==="curved",a=K.useCallback(c=>{const u=[],h=i.current,{nodes:p}=t.current,m=new Map(p.map(_=>[_.id,_])),v=n.edge.label.fontSize;return r!=="none"&&!s.current&&(s.current=new La(0,1,1,20,1,!0)),c.forEach(_=>{const{target:y,source:g,size:x=1}=_,w=m.get(g),E=m.get(y);if(!w||!E)return;const b=`${w.position.x},${w.position.y},${E.position.x},${E.position.y},${x}`;if(h.has(b)){u.push(h.get(b));return}const M=eh(w),A=w.size+v,P=eh(E),C=E.size+v;let L=Qu(M,A,P,C,o),F=new ba(L,20,x/2,5,!1);if(r==="none"){u.push(F),h.set(b,F);return}const[N,I]=f2(x),X=s.current.clone();X.scale(I,N,I);const[q,W]=h2(r,L,N),O=new si;if(O.setFromUnitVectors(new Y(0,1,0),W),X.applyQuaternion(O),X.translate(q.x,q.y,q.z),r&&r==="end"){const G=Qu(M,A,q,0,o);F=new ba(G,20,x/2,5,!1)}const k=od([F,X]);u.push(k),h.set(b,k)}),u},[r,o,n.edge.label.fontSize]),l=K.useCallback((c,u)=>{const h=a(c),p=a(u);return od([p.length?od(p):ob,h.length?od(h):ob],!0)},[a]);return{getGeometries:a,getGeometry:l}}function sH(r,e,t){const n=K.useRef(r);K.useEffect(()=>{n.current=r},[r]);const i=qe(h=>h.edgeContextMenus),s=qe(K.useCallback(h=>h.setEdgeContextMenus,[])),o=K.useRef(!1),a=K.useCallback(()=>{o.current=!0},[]),l=K.useRef(!1),c=K.useCallback(()=>{l.current=!0},[]),u=K.useCallback((h,p)=>{const{onClick:m,onContextMenu:v,onPointerOver:_,onPointerOut:y}=n.current;if(m&&o.current&&!t){o.current=!1;for(const g of p)m(g)}if((e||v)&&l.current&&!t){l.current=!1;const g=new Set(i);let x=!1;for(const w of p)i.has(w.id)||(g.add(w.id),x=!0,v==null||v(w));x&&s(g)}_&&p.filter(x=>!h.includes(x)).forEach(x=>{_(x)}),y&&h.filter(x=>!p.includes(x)).forEach(x=>{y(x)})},[e,t,i,s]);return{handleClick:a,handleContextMenu:c,handleIntersections:u}}function oH(r,e){const t=K.useRef(r),n=K.useRef();K.useEffect(()=>{t.current=r;const o=r.getAttribute("position");n.current=new Float32Array(o.array.length)},[r]);const i=K.useCallback(()=>{const o=t.current.getAttribute("position");return{from:new Float32Array(o.array.length),to:o.array}},[]),s=K.useCallback(o=>{const a=n.current;a.set(o);const l=new $t(a,3,!1);t.current.setAttribute("position",l),l.needsUpdate=!0},[]);tr(()=>{if(!e)return null;const o=i();return{from:{positions:o.from},to:{positions:o.to},onChange:a=>{s(a.value.positions)},config:{...nr,duration:e?void 0:0}}},[e,i,s])}function aH(r,e,t){const[{activeOpacity:n,inactiveOpacity:i}]=tr(()=>({from:{activeOpacity:0,inactiveOpacity:0},to:{activeOpacity:e?t.edge.selectedOpacity:t.edge.opacity,inactiveOpacity:e?t.edge.inactiveOpacity:t.edge.opacity},config:{...nr,duration:r?void 0:0}}),[r,e,t]);return{activeOpacity:n,inactiveOpacity:i}}const lH=({animated:r,color:e,contextMenu:t,edge:n,labelFontUrl:i,labelPlacement:s="inline",opacity:o})=>{const a=qe(L=>L.theme),{target:l,source:c,label:u,labelVisible:h=!1,size:p=1}=n,m=qe(L=>L.nodes),[v,_]=K.useMemo(()=>[m.find(L=>L.id===c),m.find(L=>L.id===l)],[m,c,l]),y=qe(L=>L.draggingIds.length>0),g=K.useMemo(()=>(p+a.edge.label.fontSize)/2,[p,a.edge.label.fontSize]),x=K.useMemo(()=>d2(v.position,_.position,u2(g,s)),[v.position,_.position,g,s]),w=qe(L=>L.edgeContextMenus),E=qe(L=>L.setEdgeContextMenus),[{labelPosition:b}]=tr(()=>({from:{labelPosition:[0,0,0]},to:{labelPosition:[x.x,x.y,x.z]},config:{...nr,duration:r&&!y?void 0:0}}),[x,r,y]),M=K.useCallback(L=>{w.delete(L),E(new Set(w))},[w,E]),A=K.useMemo(()=>s==="natural"?new Eo(0,0,0):new Eo(0,0,Math.atan2(_.position.y-v.position.y,_.position.x-v.position.x)),[s,_.position.y,_.position.x,v.position.y,v.position.x]),P=K.useMemo(()=>({prepend:!0,center:!0,position:x}),[x]),C=K.useMemo(()=>({text:u,ellipsis:15,fontUrl:i,stroke:a.edge.label.stroke,color:e,opacity:o,fontSize:a.edge.label.fontSize,rotation:A}),[u,i,a.edge.label.stroke,e,o,a.edge.label.fontSize,A]);return Ne.jsxs("group",{children:[h&&u&&Ne.jsx(An.group,{position:b,children:Ne.jsx(nh,{...C})}),t&&w.has(n.id)&&Ne.jsx($y,{...P,children:t({data:n,onClose:()=>M(n.id)})})]})},cH=({interpolation:r="linear",arrowPlacement:e="end",labelPlacement:t="inline",animated:n,contextMenu:i,disabled:s,edges:o,labelFontUrl:a,onClick:l,onContextMenu:c,onPointerOut:u,onPointerOver:h})=>{const p=qe(B=>B.theme),{getGeometries:m,getGeometry:v}=rH(e,r),_=qe(B=>B.draggingIds),y=qe(B=>B.edgeMeshes),g=qe(B=>B.setEdgeMeshes),x=qe(B=>B.actives||[]),w=qe(B=>B.selections||[]),[E,b,M,A]=K.useMemo(()=>{const B=[],D=[],V=[],Z=[];return o.forEach(ee=>{if(_.includes(ee.source)||_.includes(ee.target)){w.includes(ee.id)||x.includes(ee.id)?V.push(ee):Z.push(ee);return}w.includes(ee.id)||x.includes(ee.id)?B.push(ee):D.push(ee)}),[B,D,V,Z]},[o,x,w,_]),P=!!w.length,C=K.useMemo(()=>v(E,b),[v,E,b]),{activeOpacity:L,inactiveOpacity:F}=aH(n,P,p);oH(C,n),K.useEffect(()=>{if(_.length===0){const D=m(o).map(V=>new _n(V));g(D)}},[m,g,o,_.length]);const N=K.useRef(new _n),I=K.useRef(new _n),X=K.useCallback(B=>{if(!B.camera)return[];const D=B.intersectObjects(y);return D.length?D.map(V=>o[y.indexOf(V.object)]):[]},[y,o]),{handleClick:q,handleContextMenu:W,handleIntersections:O}=sH({onClick:l,onContextMenu:c,onPointerOut:u,onPointerOver:h},i,s),k=K.useRef([]),G=K.useRef([]);return Ep(B=>{if(N.current.geometry=C,s)return;const D=k.current;if((_.length||_.length===0&&D!==null)&&(I.current.geometry=v(M,A)),k.current=_,_.length)return;const V=G.current,Z=X(B.raycaster);O(V,Z),Z.join()!==V.join()&&(I.current.geometry=v(Z,[])),G.current=Z}),Ne.jsxs("group",{onClick:q,onContextMenu:W,children:[Ne.jsxs("mesh",{ref:N,children:[Ne.jsx(An.meshBasicMaterial,{attach:"material-0",color:p.edge.fill,depthTest:!1,fog:!0,opacity:F,side:vn,transparent:!0}),Ne.jsx(An.meshBasicMaterial,{attach:"material-1",color:p.edge.activeFill,depthTest:!1,fog:!0,opacity:L,side:vn,transparent:!0})]}),Ne.jsxs("mesh",{ref:I,children:[Ne.jsx(An.meshBasicMaterial,{attach:"material-0",color:p.edge.fill,depthTest:!1,fog:!0,opacity:F,side:vn,transparent:!0}),Ne.jsx(An.meshBasicMaterial,{attach:"material-1",color:p.edge.activeFill,depthTest:!1,fog:!0,opacity:L,side:vn,transparent:!0})]}),o.map(B=>Ne.jsx(lH,{animated:n,contextMenu:i,color:p.edge.label.color,disabled:s,edge:B,labelFontUrl:a,labelPlacement:t},B.id))]})},uH=({outerRadius:r,innerRadius:e,padding:t,normalizedFill:n,normalizedStroke:i,opacity:s,animated:o,theme:a})=>{var l;const{opacity:c}=tr({from:{opacity:0},to:{opacity:s},config:{...nr,duration:o?void 0:0}});return Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs("mesh",{children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[r,0,128]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:n,transparent:!0,depthTest:!1,opacity:(l=a.cluster)!=null&&l.fill?c:0,side:vn,fog:!0})]}),Ne.jsxs("mesh",{children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[r,e+t,128]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:i,transparent:!0,depthTest:!1,opacity:c,side:vn,fog:!0})]})]})},hH=({animated:r,position:e,padding:t=40,labelFontUrl:n,disabled:i,radius:s=2,nodes:o,label:a,onClick:l,onPointerOver:c,onPointerOut:u,draggable:h=!1,onDragged:p,onRender:m})=>{var v,_,y,g,x,w,E;const b=qe(z=>z.theme),M=Math.max(e.width,e.height)/2,A=M-s+t,[P,C]=K.useState(!1),L=qe(z=>z.centerPosition),F=qe(z=>z.nodes),N=zp(),I=qe(z=>z.draggingIds),X=I.includes(a),q=I.length>0,W=qe(z=>{var oe;return(oe=z.actives)==null?void 0:oe.some(te=>o.some(se=>se.id===te))}),O=qe(z=>z.hoveredNodeId),k=qe(z=>{var oe;return(oe=z.selections)==null?void 0:oe.some(te=>o.some(se=>se.id===te))}),B=qe(z=>{var oe;return((oe=z.selections)==null?void 0:oe.length)>0})?k||P||W?(v=b.cluster)==null?void 0:v.selectedOpacity:(_=b.cluster)==null?void 0:_.inactiveOpacity:(y=b.cluster)==null?void 0:y.opacity,D=K.useMemo(()=>{var z,oe;const te=[0,-A,2],se=(oe=(z=b.cluster)==null?void 0:z.label)==null?void 0:oe.offset;return se?[te[0]-se[0],te[1]-se[1],te[2]-se[2]]:te},[A,(x=(g=b.cluster)==null?void 0:g.label)==null?void 0:x.offset]),{circlePosition:V}=tr({from:{circlePosition:[L.x,L.y,-1]},to:{circlePosition:e?[e.x,e.y,-1]:[0,0,-1]},config:{...nr,duration:r&&!q?void 0:0}}),Z=K.useMemo(()=>{var z;return new Ke((z=b.cluster)==null?void 0:z.stroke)},[(w=b.cluster)==null?void 0:w.stroke]),ee=K.useMemo(()=>{var z;return new Ke((z=b.cluster)==null?void 0:z.fill)},[(E=b.cluster)==null?void 0:E.fill]),ie=qe(z=>z.addDraggingId),ue=qe(z=>z.removeDraggingId),ce=qe(z=>z.setClusterPosition),le=p2({draggable:h&&!O,position:{x:e.x,y:e.y,z:-1},set:z=>ce(a,z),onDragStart:()=>{ie(a),C(!0)},onDragEnd:()=>{ue(a),C(!1);const z=F.filter(oe=>oe.cluster===a);p==null||p({nodes:z,label:a})}});ya(P&&!q&&l!==void 0,"pointer"),ya(P&&h&&!X&&l===void 0,"grab"),ya(X,"grabbing");const{pointerOver:Ae,pointerOut:Ee}=m_({disabled:i,onPointerOver:z=>{C(!0),N.freeze(),c==null||c({nodes:o,label:a},z)},onPointerOut:z=>{C(!1),N.unFreeze(),u==null||u({nodes:o,label:a},z)}});return K.useMemo(()=>{var z,oe,te;return b.cluster&&Ne.jsx(An.group,{userData:{id:a,type:"cluster"},position:V,onPointerOver:Ae,onPointerOut:Ee,onClick:se=>{!i&&!X&&(l==null||l({nodes:o,label:a},se))},...le(),children:m?m({label:{position:D,text:a,opacity:B,fontUrl:n},opacity:B,outerRadius:A,innerRadius:M,padding:t,theme:b}):Ne.jsxs(Ne.Fragment,{children:[Ne.jsx(uH,{outerRadius:A,innerRadius:M,padding:t,normalizedFill:ee,normalizedStroke:Z,opacity:B,animated:r,theme:b}),((z=b.cluster)==null?void 0:z.label)&&Ne.jsx(An.group,{position:D,children:Ne.jsx(nh,{text:a,opacity:B,fontUrl:n,stroke:b.cluster.label.stroke,active:!1,color:(oe=b.cluster)==null?void 0:oe.label.color,fontSize:((te=b.cluster)==null?void 0:te.label.fontSize)??12})})]})})},[b,V,Ae,Ee,A,ee,M,t,Z,D,a,B,n,i,l,o,le,X,m,r])},fH=K.forwardRef(({onNodeClick:r,onNodeDoubleClick:e,onNodeContextMenu:t,onEdgeContextMenu:n,onEdgeClick:i,onEdgePointerOver:s,onEdgePointerOut:o,onNodePointerOver:a,onNodePointerOut:l,onClusterClick:c,onNodeDragged:u,onClusterDragged:h,onClusterPointerOver:p,onClusterPointerOut:m,contextMenu:v,animated:_,disabled:y,draggable:g,constrainDragging:x=!1,edgeLabelPosition:w,edgeArrowPosition:E,edgeInterpolation:b="linear",labelFontUrl:M,renderNode:A,onRenderCluster:P,...C},L)=>{const{layoutType:F,clusterAttribute:N}=C,I=Bn(le=>le.gl),X=Bn(le=>le.scene),q=Bn(le=>le.camera),{updateLayout:W}=j5({...C,constrainDragging:x});if(N&&!(F==="forceDirected2d"||F==="forceDirected3d"))throw new Error("Clustering is only supported for the force directed layouts.");const O=qe(le=>le.graph),k=qe(le=>le.nodes),G=qe(le=>le.edges),B=qe(le=>[...le.clusters.values()]),{centerNodesById:D,fitNodesInViewById:V,isCentered:Z}=J5({animated:_,disabled:y,layoutType:F});K.useImperativeHandle(L,()=>({centerGraph:D,fitNodesInView:V,graph:O,renderScene:()=>I.render(X,q)}),[D,V,O,I,X,q]);const ee=K.useCallback(le=>{u==null||u(le),N&&W()},[N,u,W]),ie=K.useMemo(()=>k.map(le=>Ne.jsx(eH,{id:le==null?void 0:le.id,labelFontUrl:M,draggable:g,constrainDragging:x,disabled:y,animated:_,contextMenu:v,renderNode:A,onClick:r,onDoubleClick:e,onContextMenu:t,onPointerOver:a,onPointerOut:l,onDragged:ee},le==null?void 0:le.id)),[x,_,v,y,g,M,k,r,t,e,ee,l,a,A]),ue=K.useMemo(()=>_?G.map(le=>Ne.jsx(iH,{id:le.id,disabled:y,animated:_,labelFontUrl:M,labelPlacement:w,arrowPlacement:E,interpolation:b,contextMenu:v,onClick:i,onContextMenu:n,onPointerOver:s,onPointerOut:o},le.id)):Ne.jsx(cH,{edges:G,disabled:y,animated:_,labelFontUrl:M,labelPlacement:w,arrowPlacement:E,interpolation:b,contextMenu:v,onClick:i,onContextMenu:n,onPointerOver:s,onPointerOut:o}),[_,v,y,E,b,w,G,M,i,n,o,s]),ce=K.useMemo(()=>B.map(le=>Ne.jsx(hH,{animated:_,disabled:y,draggable:g,labelFontUrl:M,onClick:c,onPointerOver:p,onPointerOut:m,onDragged:h,onRender:P,...le},le.label)),[_,B,y,g,M,c,m,p,h,P]);return Z&&Ne.jsxs(K.Fragment,{children:[ue,ie,ce]})}),dH={canvas:{background:"#1E2026"},node:{fill:"#7A8C9E",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.2,label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"},subLabel:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"}},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},ring:{fill:"#54616D",activeFill:"#1DE9AC"},edge:{fill:"#474B56",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC",fontSize:6}},arrow:{fill:"#474B56",activeFill:"#1DE9AC"},cluster:{stroke:"#474B56",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#1E2026",color:"#ACBAC7"}}},pH={canvas:{background:"#fff"},node:{fill:"#7CA0AB",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.2,label:{color:"#2A6475",stroke:"#fff",activeColor:"#1DE9AC"},subLabel:{color:"#ddd",stroke:"transparent",activeColor:"#1DE9AC"}},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},ring:{fill:"#D8E6EA",activeFill:"#1DE9AC"},edge:{fill:"#D8E6EA",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#fff",color:"#2A6475",activeColor:"#1DE9AC",fontSize:6}},arrow:{fill:"#D8E6EA",activeFill:"#1DE9AC"},cluster:{stroke:"#D8E6EA",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#fff",color:"#2A6475"}}};function md(r,e,t){const{offsetX:n,offsetY:i}=r,{width:s,height:o}=t;e.set(n/s*2-1,-(i/o)*2+1)}function mH(r){const e=document.createElement("div");return e.style.pointerEvents="none",e.style.border=r.lasso.border,e.style.backgroundColor=r.lasso.background,e.style.position="fixed",e}const gH=({children:r,type:e="none",onLasso:t,onLassoEnd:n,disabled:i})=>{var s;const o=qe(I=>I.theme),a=Bn(I=>I.camera),l=Bn(I=>I.gl),c=Bn(I=>I.setEvents),u=Bn(I=>I.size),h=Bn(I=>I.get),p=Bn(I=>I.scene),m=zp(),v=qe(I=>I.actives),_=qe(I=>I.setActives),y=qe(I=>I.edges),g=qe(I=>I.edgeMeshes),x=K.useRef(!1),w=K.useRef(null),E=K.useRef(null),b=K.useRef(mH(o)),M=K.useRef(null),A=K.useRef(!1),P=K.useRef(h().events.enabled),C=K.useRef((s=m.controls)==null?void 0:s.enabled);K.useEffect(()=>{x.current&&(t==null||t(v)),x.current=!0},[v,t]);const L=K.useCallback(I=>{if(A.current){const[X,q,W]=M.current;W.x=Math.max(X.x,I.clientX),W.y=Math.max(X.y,I.clientY),q.x=Math.min(X.x,I.clientX),q.y=Math.min(X.y,I.clientY),b.current.style.left=`${q.x}px`,b.current.style.top=`${q.y}px`,b.current.style.width=`${W.x-q.x}px`,b.current.style.height=`${W.y-q.y}px`,md(I,w.current.endPoint,u),md(I,E.current.endPoint,u);const O=[],k=E.current.select().sort(B=>B.uuid).map(B=>y[g.indexOf(B)].id);O.push(...k);const G=w.current.select().sort(B=>B.uuid).filter(B=>{var D,V;return B.isMesh&&((D=B.userData)==null?void 0:D.id)&&(((V=B.userData)==null?void 0:V.type)===e||e==="all")}).map(B=>B.userData.id);O.push(...G),requestAnimationFrame(()=>{_(O)}),document.addEventListener("pointermove",L,{passive:!0,capture:!0,once:!0})}},[y,g,_,u,e]),F=K.useCallback(()=>{var I;A.current&&(c({enabled:P.current}),A.current=!1,(I=b.current.parentElement)==null||I.removeChild(b.current),m.controls.enabled=C.current,n==null||n(v),document.removeEventListener("pointermove",L),document.removeEventListener("pointerup",F))},[c,m.controls,n,v,L]),N=K.useCallback(I=>{var X,q;if(I.shiftKey){P.current=h().events.enabled,C.current=(X=m.controls)==null?void 0:X.enabled,w.current=new wE(a,p);const W=new ku;g.length&&W.add(...g),E.current=new wE(a,W),M.current=[new De,new De,new De];const[O]=M.current;m.controls.enabled=!1,c({enabled:!1}),A.current=!0,(q=l.domElement.parentElement)==null||q.appendChild(b.current),b.current.style.left=`${I.clientX}px`,b.current.style.top=`${I.clientY}px`,b.current.style.width="0px",b.current.style.height="0px",O.x=I.clientX,O.y=I.clientY,md(I,w.current.startPoint,u),md(I,E.current.startPoint,u),document.addEventListener("pointermove",L,{passive:!0,capture:!0,once:!0}),document.addEventListener("pointerup",F,{passive:!0})}},[a,m.controls,g,h,l.domElement.parentElement,L,F,p,c,u]);return K.useEffect(()=>{if(!(i||e==="none"))return typeof window<"u"&&(document.addEventListener("pointerdown",N,{passive:!0}),document.addEventListener("pointermove",L,{passive:!0}),document.addEventListener("pointerup",F,{passive:!0})),()=>{typeof window<"u"&&(document.removeEventListener("pointerdown",N),document.removeEventListener("pointermove",L),document.removeEventListener("pointerup",F))}},[e,i,N,L,F]),Ne.jsx("group",{children:r})},vH="_canvas_670zp_1",yH={canvas:vH},_H={alpha:!0,antialias:!0},xH={position:[0,0,1e3],near:5,far:5e4,fov:10},wH=K.forwardRef(({cameraMode:r="pan",layoutType:e="forceDirected2d",sizingType:t="default",labelType:n="auto",theme:i=pH,animated:s=!0,defaultNodeSize:o=7,minNodeSize:a=5,maxNodeSize:l=15,lassoType:c="none",glOptions:u={},edges:h,children:p,nodes:m,minDistance:v,maxDistance:_,onCanvasClick:y,disabled:g,onLasso:x,onLassoEnd:w,...E},b)=>{var M,A;const P=K.useRef(null),C=K.useRef(null),L=K.useRef(null);K.useImperativeHandle(b,()=>({centerGraph:(W,O)=>{var k;return(k=P.current)==null?void 0:k.centerGraph(W,O)},fitNodesInView:(W,O)=>{var k;return(k=P.current)==null?void 0:k.fitNodesInView(W,O)},zoomIn:()=>{var W;return(W=C.current)==null?void 0:W.zoomIn()},zoomOut:()=>{var W;return(W=C.current)==null?void 0:W.zoomOut()},dollyIn:W=>{var O;return(O=C.current)==null?void 0:O.dollyIn(W)},dollyOut:W=>{var O;return(O=C.current)==null?void 0:O.dollyOut(W)},panLeft:()=>{var W;return(W=C.current)==null?void 0:W.panLeft()},panRight:()=>{var W;return(W=C.current)==null?void 0:W.panRight()},panDown:()=>{var W;return(W=C.current)==null?void 0:W.panDown()},panUp:()=>{var W;return(W=C.current)==null?void 0:W.panUp()},resetControls:W=>{var O;return(O=C.current)==null?void 0:O.resetControls(W)},getControls:()=>{var W;return(W=C.current)==null?void 0:W.controls},getGraph:()=>{var W;return(W=P.current)==null?void 0:W.graph},exportCanvas:()=>(P.current.renderScene(),L.current.toDataURL()),freeze:()=>{var W;return(W=C.current)==null?void 0:W.freeze()},unFreeze:()=>{var W;return(W=C.current)==null?void 0:W.unFreeze()}}));const{selections:F,actives:N,collapsedNodeIds:I}=E,X=h.length+m.length>400?!1:s,q=K.useMemo(()=>({...u,..._H}),[u]);return Ne.jsx("div",{className:yH.canvas,children:Ne.jsx(NO,{legacy:!0,linear:!0,ref:L,flat:!0,gl:q,camera:xH,onPointerMissed:y,children:Ne.jsxs(V5,{createStore:()=>W5({selections:F,actives:N,theme:i,collapsedNodeIds:I}),children:[((M=i.canvas)==null?void 0:M.background)&&Ne.jsx("color",{attach:"background",args:[i.canvas.background]}),Ne.jsx("ambientLight",{intensity:1}),p,((A=i.canvas)==null?void 0:A.fog)&&Ne.jsx("fog",{attach:"fog",args:[i.canvas.fog,4e3,9e3]}),Ne.jsx(Z5,{mode:r,ref:C,disabled:g,minDistance:v,maxDistance:_,animated:s,children:Ne.jsx(gH,{disabled:g,type:c,onLasso:x,onLassoEnd:w,children:Ne.jsx(K.Suspense,{children:Ne.jsx(fH,{ref:P,disabled:g,animated:X,edges:h,nodes:m,layoutType:e,sizingType:t,labelType:n,defaultNodeSize:o,minNodeSize:a,maxNodeSize:l,...E})})})})]})})})}),gd={user:"#22d3ee",instruction:"#a78bfa",stable:"#6366f1",versioned:"#fbbf24",ephemeral:"#f472b6"},SH={user:"User",instruction:"Regel",stable:"Fakt",versioned:"Version",ephemeral:"Temporär"},P0=new Set(["auto","agent","hermes"]);function PH({data:r,onDelete:e}){const[t,n]=K.useState(null),i=K.useMemo(()=>{const c={};return r.edges.forEach(u=>{c[u.source]=(c[u.source]||0)+1,c[u.target]=(c[u.target]||0)+1}),c},[r]),s=K.useMemo(()=>r.nodes.map(c=>({id:c.id,label:c.content.length>26?c.content.slice(0,25)+"…":c.content,fill:gd[c.category]||"#64748b",size:6+Math.min(i[c.id]||0,6)*2})),[r,i]),o=K.useMemo(()=>r.edges.map(c=>({id:`${c.source}->${c.target}`,source:c.source,target:c.target,size:.4+c.weight})),[r]),a=t?r.nodes.find(c=>c.id===t)??null:null,l=K.useMemo(()=>{if(!t)return[];const c=new Set;return r.edges.forEach(u=>{u.source===t&&c.add(u.target),u.target===t&&c.add(u.source)}),r.nodes.filter(u=>c.has(u.id))},[t,r]);return r.nodes.length?Ne.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_280px] gap-3",children:[Ne.jsx("div",{className:"relative h-[480px] rounded-2xl border border-border/60 bg-[#070a0f] overflow-hidden",children:Ne.jsx(wH,{nodes:s,edges:o,theme:dH,layoutType:"forceDirected2d",labelType:"nodes",edgeArrowPosition:"none",draggable:!0,onNodeClick:c=>n(c.id),onCanvasClick:()=>n(null)})}),Ne.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 min-h-[480px]",children:a?Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[Ne.jsx("span",{className:"w-3 h-3 rounded-full",style:{background:gd[a.category],boxShadow:`0 0 0 2px ${P0.has(a.source)?"#34d399":"#475569"}`}}),Ne.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",style:{color:gd[a.category]},children:SH[a.category]||a.category}),Ne.jsxs("span",{className:`ml-auto text-[10px] font-mono flex items-center gap-1 ${P0.has(a.source)?"text-emerald-400":"text-muted-foreground/70"}`,children:[P0.has(a.source)&&Ne.jsx(K2,{className:"h-2.5 w-2.5"}),a.source]})]}),Ne.jsx("div",{className:"text-sm text-foreground leading-relaxed mb-4 break-words",children:a.content}),Ne.jsxs("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/70 mb-2 flex items-center gap-1",children:[Ne.jsx(Vx,{className:"h-3 w-3"})," verwandte Fakten"]}),Ne.jsx("div",{className:"flex flex-col gap-1.5 mb-4",children:l.length?l.map(c=>Ne.jsxs("button",{onClick:()=>n(c.id),className:"flex items-center gap-2 text-[11px] text-muted-foreground hover:text-foreground text-left transition-colors",children:[Ne.jsx("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:gd[c.category]}}),Ne.jsx("span",{className:"truncate",children:c.content})]},c.id)):Ne.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"—"})}),Ne.jsxs("button",{onClick:()=>{e(a.id),n(null)},className:"flex items-center gap-1.5 text-[11px] text-red-400 border border-red-500/20 rounded-lg px-2.5 py-1.5 hover:bg-red-500/5 transition-all",children:[Ne.jsx($2,{className:"h-3.5 w-3.5"})," vergessen"]})]}):Ne.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center text-muted-foreground/70 gap-2 pt-24",children:[Ne.jsx(Vx,{className:"h-6 w-6"}),Ne.jsx("div",{className:"text-xs max-w-[180px] leading-relaxed",children:"Einen Knoten wählen, um den Fakt und seine semantischen Nachbarn zu sehen."})]})})]}):Ne.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Noch keine Fakten — der Graph füllt sich, sobald Hermes lernt oder du Einträge anlegst."})}export{PH as GraphView}; + }`)),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();var jE,YE;function a2(r,e=[]){const t=e.length;for(const n of r){const i=e.indexOf(n);if(i>-1){const s=[...e.slice(i),n].map(o=>o.data.id);throw new Error(`Invalid Graph: Circular node path detected: ${s.join(" -> ")}.`)}t>n.depth&&(n.depth=t,a2(n.out,[...e,n]))}}function l2(r,e){let t=!1;const n=r.reduce((o,a)=>({...o,[a.id]:{data:a,out:[],depth:-1,ins:[]}}),{});try{for(const o of e){const a=o.source,l=o.target;if(!n.hasOwnProperty(a))throw new Error(`Missing source Node ${a}`);if(!n.hasOwnProperty(l))throw new Error(`Missing target Node ${l}`);const c=n[a],u=n[l];u.ins.push(c),c.out.push(u)}a2(Object.values(n))}catch{t=!0}const i=Object.keys(n).map(o=>n[o].depth),s=Math.max(...i);return{invalid:t,depths:n,maxDepth:s||1}}const qE=["radialin","radialout"];function E5({nodes:r,edges:e,mode:t="lr",nodeLevelRatio:n=2}){const{depths:i,maxDepth:s,invalid:o}=l2(r,e);if(o)return null;const a=qE.includes(t)?1:5,l=r.length/s*n*a;if(t){const c=(m,v)=>_=>m?(i[_.id].depth-s/2)*l*(v?-1:1):void 0,u=c(["lr","rl"].includes(t),t==="rl"),h=c(["td","bu"].includes(t),t==="td"),p=c(["zin","zout"].includes(t),t==="zout");r.forEach(m=>{m.fx=u(m),m.fy=h(m),m.fz=p(m)})}return qE.includes(t)?KN(c=>{const u=i[c.id];return(t==="radialin"?s-u.depth:u.depth)*l}).strength(1):null}function b5(r){return new Promise((e,t)=>{let n;function i(){n?e(n):(n=r.step(),i())}i()})}function _h(r){const e=[],t=[];return r.forEachNode((n,i)=>{e.push({...i,id:n,radius:i.size||1})}),r.forEachEdge((n,i)=>{t.push({...i,id:n})}),{nodes:e,edges:t}}function M5(){const r=O=>()=>O;let t=O=>O.index,n=[],i=[],s,o,a=[100,100],l=r(1),c=r(-1),u=r(100),h=r(.1),p={},m=.1,v=.001,_=[],y=[0,0],g,x=O=>O.cluster,w="treemap",E=!0,b=.1;function M(O){if(!E)return M;w==="force"&&(g.tick(),I());for(let k=0,G=n.length,B,D=O*b;kk.radius).sort(function(k,G){return G.height-k.height||G.value-k.value}),_=O(o).leaves(),I()}function q(){let O=0;n.length!==0&&i.forEach(function(k){let G,B;if(n){if(G=k.source,B=k.target,typeof k.source!="object"&&(G=n.find(D=>D.id===k.source)),typeof k.target!="object"&&(B=n.find(D=>D.id===k.target)),G===void 0||B===void 0)throw Error("Error setting links, couldnt find nodes for a link (see it on the console)");k.source=G,k.target=B,k.index=O++}})}function W(){let O;!n||!n.length||(q(),O=F(),s.size>0&&O.nodes.forEach(k=>{var G,B,D,V;k.fx=(B=(G=s.get(k.id))==null?void 0:G.position)==null?void 0:B.x,k.fy=(V=(D=s.get(k.id))==null?void 0:D.position)==null?void 0:V.y}),g=zT(O.nodes).force("x",xv(a[0]/2).strength(.1)).force("y",wv(a[1]/2).strength(.1)).force("collide",IT(k=>k.r).iterations(4)).force("charge",BT().strength(c)).force("links",DT(O.nodes.length?O.links:[]).distance(u).strength(h)),_=g.nodes(),I())}return M.template=function(O){return arguments.length?(w=O,A(),M):w},M.groupBy=function(O){return arguments.length?typeof O=="string"?(x=function(k){return k[O]},M):(x=O,M):x},M.enableGrouping=function(O){return arguments.length?(E=O,M):E},M.strength=function(O){return arguments.length?(b=O,M):b},M.getLinkStrength=function(O){return E?x(O.source)===x(O.target)?typeof m=="function"?m(O):m:typeof v=="function"?v(O):v:typeof m=="function"?m(O):m},M.id=function(O){return arguments.length?(t=O,M):t},M.size=function(O){return arguments.length?(a=O,M):a},M.linkStrengthInterCluster=function(O){return arguments.length?(v=O,M):v},M.linkStrengthIntraCluster=function(O){return arguments.length?(m=O,M):m},M.nodes=function(O){return arguments.length?(n=O,M):n},M.links=function(O){return arguments.length?(O===null?i=[]:i=O,A(),M):i},M.template=function(O){return arguments.length?(w=O,A(),M):w},M.forceNodeSize=function(O){return arguments.length?(l=typeof O=="function"?O:r(+O),A(),M):l},M.nodeSize=M.forceNodeSize,M.forceCharge=function(O){return arguments.length?(c=typeof O=="function"?O:r(+O),A(),M):c},M.forceLinkDistance=function(O){return arguments.length?(u=typeof O=="function"?O:r(+O),A(),M):u},M.forceLinkStrength=function(O){return arguments.length?(h=typeof O=="function"?O:r(+O),A(),M):h},M.offset=function(O){return arguments.length?(y=typeof O=="function"?O:r(+O),M):y},M.getFocis=I,M.setClusters=function(O){return s=O,M},M}function uo({graph:r,nodeLevelRatio:e=2,mode:t=null,dimensions:n=2,nodeStrength:i=-250,linkDistance:s=50,clusterStrength:o=.5,linkStrengthInterCluster:a=.01,linkStrengthIntraCluster:l=.5,forceLinkDistance:c=100,forceLinkStrength:u=.1,clusterType:h="force",forceCharge:p=-700,getNodePosition:m,drags:v,clusters:_,clusterAttribute:y,forceLayout:g}){const{nodes:x,edges:w}=_h(r),b=n===2&&w.length>25?i*2:i;let M,A;g==="forceDirected2d"?(M=xv(),A=wv()):(M=xv(600).strength(.05),A=wv(600).strength(.05));const P=zT().force("center",FO(0,0)).force("link",DT()).force("charge",BT().strength(b)).force("x",M).force("y",A).force("z",$N()).force("collide",IT(N=>N.radius+10)).force("dagRadial",E5({nodes:x,edges:w,mode:t,nodeLevelRatio:e})).stop();let C;if(y){let N=p;if(x!=null&&x.length){const I=Math.ceil(x.length/200);N=p*I}C=M5().setClusters(_).strength(o).template(h).groupBy(I=>I.data[y]).links(w).size([100,100]).linkStrengthInterCluster(a).linkStrengthIntraCluster(l).forceLinkDistance(c).forceLinkStrength(u).forceCharge(N).forceNodeSize(I=>I.radius)}let L=P.numDimensions(n).nodes(x);if(C&&(L=L.force("group",C)),s){let N=L.force("link");N&&(N.id(I=>I.id).links(w).distance(s),C&&(N=N.strength((C==null?void 0:C.getLinkStrength)??.1)))}const F=new Map(x.map(N=>[N.id,N]));return{step(){for(;P.alpha()>.01;)P.tick();return!0},getNodePosition(N){var I,X;if(m){const q=m(N,{graph:r,drags:v,nodes:x,edges:w});if(q)return q}return(I=v==null?void 0:v[N])!=null&&I.position?(X=v==null?void 0:v[N])==null?void 0:X.position:F.get(N)}}}function T5({graph:r,radius:e,drags:t,getNodePosition:n}){const i=FF(r,{scale:e}),{nodes:s,edges:o}=_h(r);return{step(){return!0},getNodePosition(a){var l,c;if(n){const u=n(a,{graph:r,drags:t,nodes:s,edges:o});if(u)return u}return(l=t==null?void 0:t[a])!=null&&l.position?(c=t==null?void 0:t[a])==null?void 0:c.position:i==null?void 0:i[a]}}}const A5={td:{x:"x",y:"y",factor:-1},lr:{x:"y",y:"x",factor:1}};function ZE({graph:r,drags:e,mode:t="td",nodeSeparation:n=1,nodeSize:i=[50,50],getNodePosition:s}){const{nodes:o,edges:a}=_h(r),{depths:l}=l2(o,a),c=Object.keys(l).map(_=>l[_]),u=SF().id(_=>_.data.id).parentId(_=>{var y,g,x;return(x=(g=(y=_.ins)==null?void 0:y[0])==null?void 0:g.data)==null?void 0:x.id})(c),p=RF().separation(()=>n).nodeSize(i)(Mp(u)).descendants(),m=A5[t],v=new Map(o.map(_=>{const{x:y,y:g}=p.find(x=>x.data.id===_.id);return[_.id,{..._,[m.x]:y*m.factor,[m.y]:g*m.factor,z:0}]}));return{step(){return!0},getNodePosition(_){var y,g;if(s){const x=s(_,{graph:r,drags:e,nodes:o,edges:a});if(x)return x}return(y=e==null?void 0:e[_])!=null&&y.position?(g=e==null?void 0:e[_])==null?void 0:g.position:v.get(_)}}}function C5({graph:r,margin:e,drags:t,getNodePosition:n,ratio:i,gridSize:s,maxIterations:o}){const{nodes:a,edges:l}=_h(r),c=VF(r,{maxIterations:o,inputReducer:(u,h)=>({...h,x:h.x||0,y:h.y||0}),settings:{ratio:i,margin:e,gridSize:s}});return{step(){return!0},getNodePosition(u){var h,p;if(n){const m=n(u,{graph:r,drags:t,nodes:a,edges:l});if(m)return m}return(h=t==null?void 0:t[u])!=null&&h.position?(p=t==null?void 0:t[u])==null?void 0:p.position:c==null?void 0:c[u]}}}function R5({graph:r,drags:e,iterations:t,...n}){JF.assign(r);const i=ZF(r,{iterations:t,settings:n});return{step(){return!0},getNodePosition(s){var o;return((o=e==null?void 0:e[s])==null?void 0:o.position)||(i==null?void 0:i[s])}}}function P5({graph:r,drags:e,getNodePosition:t}){const{nodes:n,edges:i}=_h(r);return{step(){return!0},getNodePosition(s){return t(s,{graph:r,drags:e,nodes:n,edges:i})}}}const L5=["forceDirected2d","treeTd2d","treeLr2d","radialOut2d","treeTd3d","treeLr3d","radialOut3d","forceDirected3d"];function I5({type:r,...e}){if(L5.includes(r)){const{nodeStrength:t,linkDistance:n,nodeLevelRatio:i}=e;if(r==="forceDirected2d")return uo({...e,dimensions:2,nodeLevelRatio:i||2,nodeStrength:t||-250,linkDistance:n,forceLayout:r});if(r==="treeTd2d")return uo({...e,mode:"td",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-250,linkDistance:n||50,forceLayout:r});if(r==="treeLr2d")return uo({...e,mode:"lr",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-250,linkDistance:n||50,forceLayout:r});if(r==="radialOut2d")return uo({...e,mode:"radialout",dimensions:2,nodeLevelRatio:i||5,nodeStrength:t||-500,linkDistance:n||100,forceLayout:r});if(r==="treeTd3d")return uo({...e,mode:"td",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||50});if(r==="treeLr3d")return uo({...e,mode:"lr",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||50,forceLayout:r});if(r==="radialOut3d")return uo({...e,mode:"radialout",dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-500,linkDistance:n||100,forceLayout:r});if(r==="forceDirected3d")return uo({...e,dimensions:3,nodeLevelRatio:i||2,nodeStrength:t||-250,linkDistance:n,forceLayout:r})}else if(r==="circular2d"){const{radius:t}=e;return T5({...e,radius:t||300})}else{if(r==="hierarchicalTd")return ZE({...e,mode:"td"});if(r==="hierarchicalLr")return ZE({...e,mode:"lr"});if(r==="nooverlap"){const{graph:t,maxIterations:n,ratio:i,margin:s,gridSize:o,...a}=e;return C5({graph:t,margin:s||10,maxIterations:n||50,ratio:i||10,gridSize:o||20,...a})}else if(r==="forceatlas2"){const{graph:t,iterations:n,gravity:i,scalingRatio:s,...o}=e;return R5({type:"forceatlas2",graph:t,...o,scalingRatio:s||100,gravity:i||10,iterations:n||50})}else if(r==="custom")return P5({...e})}throw new Error(`Layout ${r} not found.`)}function c2({nodeCount:r,nodePosition:e,labelType:t,camera:n}){return(i,s)=>{var o;if(n&&e&&((o=n==null?void 0:n.position)==null?void 0:o.z)/(n==null?void 0:n.zoom)-(e==null?void 0:e.z)>6e3)return!1;if(t==="all")return!0;if(t==="nodes"&&i==="node")return!0;if(t==="edges"&&i==="edge")return!0;if(t==="auto"&&i==="node"){if(s>7)return!0;if(n&&e&&n.position.z/n.zoom-e.z<3e3)return!0}return!1}}function u2(r,e){switch(e){case"above":return r;case"below":return-r;case"inline":case"natural":default:return 0}}function D5({graph:r}){const e=nk(r);return{ranks:e,getSizeForNode:t=>e[t]*80}}function U5({graph:r}){const e=rk.degreeCentrality(r);return{ranks:e,getSizeForNode:t=>e[t]*20}}function O5({graph:r,attribute:e,defaultSize:t}){const n=new Map;return e?r.forEachNode((i,s)=>{var o;const a=(o=s.data)==null?void 0:o[e];isNaN(a)&&console.warn(`Attribute ${a} is not a number for node ${s.id}`),n.set(i,a||0)}):console.warn("Attribute sizing configured but no attribute provided"),{getSizeForNode:i=>!e||!n?t:n.get(i)}}const KE={pagerank:D5,centrality:U5,attribute:O5,none:({defaultSize:r})=>({getSizeForNode:e=>r})};function N5({type:r,...e}){var t;const n=(t=KE[r])==null?void 0:t.call(KE,e);if(!n&&r!=="default")throw new Error(`Unknown sizing strategy: ${r}`);const{graph:i,minSize:s,maxSize:o}=e,a=new Map;let l,c;if(i.forEachNode((u,h)=>{let p;r==="default"?p=h.size||e.defaultSize:p=n.getSizeForNode(u),(l===void 0||pc)&&(c=p),a.set(u,p)}),r!=="none"){const u=Z2().domain([l,c]).rangeRound([s,o]);for(const[h,p]of a)a.set(h,u(p))}return a}function F5(r,e,t){r.clear();const n=new Set;for(const i of e)try{n.has(i.id)||(r.addNode(i.id,i),n.add(i.id))}catch(s){console.error(`[Graph] Error adding node '${i.id}`,s)}for(const i of t)if(!(!n.has(i.source)||!n.has(i.target)))try{r.addEdge(i.source,i.target,i)}catch(s){console.error(`[Graph] Error adding edge '${i.source} -> ${i.target}`,s)}return r}function k5({graph:r,layout:e,sizingType:t,labelType:n,sizingAttribute:i,defaultNodeSize:s,minNodeSize:o,maxNodeSize:a,clusterAttribute:l}){const c=[],u=[],h=new Map,p=N5({graph:r,type:t,attribute:i,minSize:o,maxSize:a,defaultSize:s}),m=r.nodes().length,v=c2({nodeCount:m,labelType:n});return r.forEachNode((_,y)=>{const g=e.getNodePosition(_),{data:x,fill:w,icon:E,label:b,size:M,...A}=y,P=p.get(y.id),C=v("node",P),F=(r.inboundNeighbors(y.id)||[]).map(I=>r.getNodeAttributes(I)),N={...y,size:P,labelVisible:C,label:b,icon:E,fill:w,cluster:l?x[l]:void 0,parents:F,data:{...A,...x??{}},position:{...g,x:g.x||0,y:g.y||0,z:g.z||1}};h.set(y.id,N),c.push(N)}),r.forEachEdge((_,y)=>{const g=h.get(y.source),x=h.get(y.target);if(g&&x){const{data:w,id:E,label:b,size:M,...A}=y,P=v("edge",M);u.push({...y,id:E,label:b,labelVisible:P,size:M,data:{...A,id:E,...w||{}}})}}),{nodes:c,edges:u}}const nr={mass:10,tension:1e3,friction:300,precision:.1};function h2(r,e,t){const n=e.getLength(),i=r==="end"?n:n/2,s=r==="end"?t/2:0,o=(i-s)/n,a=e.getPointAt(o),l=e.getTangentAt(o);return[a,l]}function f2(r){return[r+6,2+r/1.5]}const R0=.7;function d2(r,e,t=0){const n=new Y(r.x,r.y||0,r.z||0),i=new Y(e.x,e.y||0,e.z||0),s=new Y().addVectors(n,i).divideScalar(2);return s.setLength(s.length()+t)}function z5(r,e,t=-1){const n=r.clone(),i=e.clone(),s=new Y().subVectors(i,n),o=s.length(),a=s.clone().normalize(),l=new Y().subVectors(i,n).divideScalar(2),c=Math.abs(a.x)%1,u=new Y(-a.y,a.x-c*a.z,c*a.y).normalize(),h=new Y().add(n).add(l).add(u.multiplyScalar(o/4).multiplyScalar(t));return[r,h,e]}function Qu(r,e,t,n,i,s){const o=$E(r,t,e),a=$E(t,r,n);return i?new lp(...z5(o,a,s)):new vy(o,a)}function eh(r){return new Y(r.position.x,r.position.y,r.position.z||0)}function $E(r,e,t){const n=r.distanceTo(e);return r.clone().add(e.clone().sub(r).multiplyScalar(t/n))}function JE(r,e){return{...r,position:{...r.position,x:r.position.x+e.x,y:r.position.y+e.y,z:r.position.z+e.z}}}function B5({edge:r,edges:e,curved:t}){let n=t,i;const s=e.filter(o=>o.target===r.target&&o.source===r.source).map(o=>o.id);if(s.length>1){n=!0;const o=s.indexOf(r.id);s.length===2?i=o===0?R0:-R0:i=(o-Math.floor(s.length/2))*R0}return{curved:n,curveOffset:i}}function th(r){let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let a of r)e=Math.min(e,a.position.x),t=Math.max(t,a.position.x),n=Math.min(n,a.position.y),i=Math.max(i,a.position.y),s=Math.min(s,a.position.z),o=Math.max(o,a.position.z);return{height:i-n,width:t-e,minX:e,maxX:t,minY:n,maxY:i,minZ:s,maxZ:o,x:(t+e)/2,y:(i+n)/2,z:(o+s)/2}}function G5(r,e){return e?r.reduce((t,n)=>{const i=n.data[e];return i&&t.set(i,[...t.get(i)||[],n]),t},new Map):new Map}function H5({nodes:r,clusterAttribute:e}){const t=new Map;if(e){const n=G5(r,e);for(const[i,s]of n){const o=th(s);t.set(i,{label:i,nodes:s,position:o})}}return t}const m_=({sensitivity:r=7,interval:e=50,timeout:t=0,disabled:n,onPointerOver:i,onPointerOut:s})=>{const o=K.useRef(!1),a=K.useRef(null),l=K.useRef(0),c=K.useRef({x:null,y:null,px:null,py:null}),u=K.useCallback(y=>{c.current.x=y.clientX,c.current.y=y.clientY},[]),h=K.useCallback(y=>{a.current=clearTimeout(a.current);const{px:g,x,py:w,y:E}=c.current;Math.abs(g-x)+Math.abs(w-E)h(y),e))},[e,i,r]),p=K.useCallback(()=>{clearTimeout(a.current),typeof window<"u"&&document.removeEventListener("mousemove",u,!1)},[u]),m=K.useCallback(y=>{n||(o.current=!0,p(),l.current!==1&&(c.current.px=y.pointer.x,c.current.py=y.pointer.y,typeof window<"u"&&document.addEventListener("mousemove",u,!1),a.current=setTimeout(()=>h(y),t)))},[p,h,n,u,t]),v=K.useCallback(y=>{a.current=clearTimeout(a.current),l.current=0,s(y)},[s]),_=K.useCallback(y=>{o.current=!1,p(),l.current===1&&(a.current=setTimeout(()=>v(y),t))},[p,v,t]);return{pointerOver:m,pointerOut:_}},p2=({draggable:r,set:e,position:t,bounds:n,onDragStart:i,onDragEnd:s})=>{const o=Bn(y=>y.camera),a=Bn(y=>y.raycaster),l=Bn(y=>y.size),c=Bn(y=>y.gl),{mouse2D:u,mouse3D:h,offset:p,normal:m,plane:v}=K.useMemo(()=>({mouse2D:new De,mouse3D:new Y,offset:new Y,normal:new Y,plane:new Us}),[]),_=K.useMemo(()=>c.domElement.getBoundingClientRect(),[c.domElement]);return Pz({onDragStart:({event:y})=>{const{eventObject:g,point:x}=y;g.getWorldPosition(p).sub(x),h.copy(x),i()},onDrag:({xy:y,buttons:g,cancel:x})=>{if(g!==1){x();return}const w=(y[0]-((_==null?void 0:_.left)??0))/l.width*2-1,E=-((y[1]-((_==null?void 0:_.top)??0))/l.height)*2+1;u.set(w,E),a.setFromCamera(u,o),o.getWorldDirection(m).negate(),v.setFromNormalAndCoplanarPoint(m,h),a.ray.intersectPlane(v,h);const b=new Y(t.x,t.y,t.z).copy(h).add(p);if(n){const M=new Y((n.minX+n.maxX)/2,(n.minY+n.maxY)/2,(n.minZ+n.maxZ)/2),A=(n.maxX-n.minX)/2,P=b.clone().sub(M);P.length()>A&&(P.normalize().multiplyScalar(A),b.copy(M).add(P))}return e(b)},onDragEnd:s},{drag:{enabled:r,threshold:10}})},{Provider:V5,useStore:qe}=vk(),W5=({actives:r=[],selections:e=[],collapsedNodeIds:t=[],theme:n})=>mk(i=>({theme:{...n,edge:{...n.edge,label:{...n.edge.label,fontSize:n.edge.label.fontSize??6}}},edges:[],nodes:[],collapsedNodeIds:t,clusters:new Map,panning:!1,draggingIds:[],actives:r,edgeContextMenus:new Set,edgeMeshes:[],selections:e,hoveredNodeId:null,drags:{},graph:new en({multi:!0}),setTheme:s=>i(o=>({...o,theme:s})),setClusters:s=>i(o=>({...o,clusters:s})),setEdgeContextMenus:s=>i(o=>({...o,edgeContextMenus:s})),setEdgeMeshes:s=>i(o=>({...o,edgeMeshes:s})),setPanning:s=>i(o=>({...o,panning:s})),setDrags:s=>i(o=>({...o,drags:s})),addDraggingId:s=>i(o=>({...o,draggingIds:[...o.draggingIds,s]})),removeDraggingId:s=>i(o=>({...o,draggingIds:o.draggingIds.filter(a=>a!==s)})),setActives:s=>i(o=>({...o,actives:s})),setSelections:s=>i(o=>({...o,selections:s})),setHoveredNodeId:s=>i(o=>({...o,hoveredNodeId:s})),setNodes:s=>i(o=>({...o,nodes:s,centerPosition:th(s)})),setEdges:s=>i(o=>({...o,edges:s})),setNodePosition:(s,o)=>i(a=>{var l,c;const u=a.nodes.find(_=>_.id===s),h=eh(u),m=new Y(o.x,o.y,o.z).sub(h),v=[...a.nodes];if((l=a.selections)!=null&&l.includes(s))(c=a.selections)==null||c.forEach(_=>{const y=a.nodes.find(g=>g.id===_);if(y){const g=a.nodes.indexOf(y);v[g]=JE(y,m)}});else{const _=a.nodes.indexOf(u);v[_]=JE(u,m)}return{...a,drags:{...a.drags,[s]:u},nodes:v}}),setCollapsedNodeIds:(s=[])=>i(o=>({...o,collapsedNodeIds:s})),setClusterPosition:(s,o)=>i(a=>{const l=new Map(a.clusters),c=l.get(s);if(c){const u=c.position,h=new Y(o.x-u.x,o.y-u.y,o.z-(u.z??0)),p=[...a.nodes],m={...a.drags};p.forEach((y,g)=>{y.cluster===s&&(p[g]={...y,position:{...y.position,x:y.position.x+h.x,y:y.position.y+h.y,z:y.position.z+(h.z??0)}},m[y.id]=y)});const v=p.filter(y=>y.cluster===s),_=th(v);return l.set(s,{...c,position:_}),{...a,drags:{...m,[s]:c},clusters:l,nodes:p}}return a})}));function m2({nodeId:r,nodes:e,edges:t,currentHiddenNodes:n,currentHiddenEdges:i}){const s=[],o=[],a=n.map(m=>m.id),l=i.map(m=>m.id),c=t.filter(m=>m.source===r),u=c.map(m=>m.target);o.push(...c);for(const m of u){const v=t.filter(y=>y.target===m&&y.source!==r);let _=!1;if((v.length===0||v.length>0&&!a.includes(m)&&v.map(g=>g.id).every(g=>l.includes(g)))&&(_=!0),_){const y=e.find(x=>x.id===m);y&&s.push(y);const g=m2({nodeId:m,nodes:e,edges:t,currentHiddenEdges:o,currentHiddenNodes:s});o.push(...g.hiddenEdges),s.push(...g.hiddenNodes)}}const h=Object.values(o.reduce((m,v)=>({...m,[v.id]:v}),{})),p=Object.values(s.reduce((m,v)=>({...m,[v.id]:v}),{}));return{hiddenEdges:h,hiddenNodes:p}}const X5=({collapsedIds:r,nodes:e,edges:t})=>{const n=[],i=[];for(const c of r){const{hiddenEdges:u,hiddenNodes:h}=m2({nodeId:c,nodes:e,edges:t,currentHiddenEdges:i,currentHiddenNodes:n});n.push(...h),i.push(...u)}const s=n.map(c=>c.id),o=i.map(c=>c.id),a=e.filter(c=>!s.includes(c.id)),l=t.filter(c=>!o.includes(c.id));return{visibleNodes:a,visibleEdges:l}},j5=({layoutType:r,sizingType:e,labelType:t,sizingAttribute:n,clusterAttribute:i,selections:s,nodes:o,edges:a,actives:l,collapsedNodeIds:c,defaultNodeSize:u,maxNodeSize:h,minNodeSize:p,layoutOverrides:m,constrainDragging:v})=>{const _=qe(D=>D.graph),y=qe(D=>D.clusters),g=qe(D=>D.nodes),x=qe(D=>D.setClusters),w=qe(D=>D.collapsedNodeIds),E=qe(D=>D.setEdges),b=qe(D=>D.nodes),M=qe(D=>D.setNodes),A=qe(D=>D.setSelections),P=qe(D=>D.setActives),C=qe(D=>D.drags),L=qe(D=>D.setDrags),F=qe(D=>D.setCollapsedNodeIds),N=K.useRef(!1),I=K.useRef(null),X=Bn(D=>D.camera),q=K.useRef(C),W=K.useRef([]);K.useEffect(()=>{var D;if(!i)return;const V=g.map(ee=>ee.id),Z=o.find(ee=>!V.includes(ee.id));if(Z){const ee=Z.data[i],ie=y.get(ee),ue={...q.current};(D=ie==null?void 0:ie.nodes)==null||D.forEach(ce=>ue[ce.id]=void 0),q.current=ue,L(ue)}},[g,o,i,y,L]);const{visibleEdges:O,visibleNodes:k}=K.useMemo(()=>X5({collapsedIds:w,nodes:o,edges:a}),[w,o,a]),G=K.useCallback(D=>{const V={...q.current};D.forEach(Z=>V[Z.id]=Z),q.current=V,L(V)},[L]),B=K.useCallback(async D=>{I.current=D||I5({...m,type:r,graph:_,drags:q.current,clusters:W==null?void 0:W.current,clusterAttribute:i}),await b5(I.current);const V=k5({graph:_,layout:I.current,sizingType:e,labelType:t,sizingAttribute:n,maxNodeSize:h,minNodeSize:p,defaultNodeSize:u,clusterAttribute:i}),Z=H5({nodes:V.nodes,clusterAttribute:i});v&&Z.forEach(ee=>{var ie,ue;const ce=W.current.get(ee.label);(ce==null?void 0:ce.nodes.length)===ee.nodes.length&&(ee.position=((ue=(ie=W.current)==null?void 0:ie.get(ee.label))==null?void 0:ue.position)??ee.position)}),E(V.edges),M(V.nodes),x(Z),i&&G(V.nodes)},[m,r,i,e,t,n,h,p,u,E,M,x]);return K.useEffect(()=>{q.current=C},[C,i,B]),K.useEffect(()=>{W.current=y},[y]),K.useEffect(()=>{const D=b.map(Z=>({...Z,labelVisible:c2({nodeCount:b==null?void 0:b.length,labelType:t,camera:X,nodePosition:Z==null?void 0:Z.position})("node",Z==null?void 0:Z.size)}));D.some((Z,ee)=>Z.labelVisible!==b[ee].labelVisible)&&M(D)},[X,X.zoom,X.position.z,M,b,t]),K.useEffect(()=>{N.current&&A(s)},[s,A]),K.useEffect(()=>{N.current&&P(l)},[l,P]),K.useEffect(()=>{async function D(){N.current=!1,F5(_,k,O),await B(),requestAnimationFrame(()=>N.current=!0)}D()},[k,O]),K.useEffect(()=>{N.current&&F(c)},[c,F]),K.useEffect(()=>{N.current&&(q.current={},L({}),B())},[r,B,L]),K.useEffect(()=>{N.current&&B(I.current)},[e,n,t,B]),{updateLayout:B}},nh=({text:r,fontSize:e=7,fontUrl:t,color:n="#2A6475",opacity:i=1,stroke:s,active:o,ellipsis:a=75,rotation:l})=>{const c=a&&!o?y5(r,a):r,u=K.useMemo(()=>new Ke(n),[n]),h=K.useMemo(()=>s?new Ke(s):void 0,[s]);return Ne.jsx(qA,{position:[0,0,1],children:Ne.jsx(f5,{font:t,fontSize:e,color:u,fillOpacity:i,textAlign:"center",outlineWidth:s?1:0,outlineColor:h,depthOffset:0,maxWidth:100,overflowWrap:"break-word",rotation:l,children:c})})},Y5=({color:r="#D8E6EA",size:e=1,opacity:t=.5,animated:n,strokeWidth:i=5,innerRadius:s=4,segments:o=25})=>{const a=K.useMemo(()=>new Ke(r),[r]),{ringSize:l,ringOpacity:c}=tr({from:{ringOpacity:0,ringSize:[1e-5,1e-5,1e-5]},to:{ringOpacity:t,ringSize:[e/2,e/2,1]},config:{...nr,duration:n?void 0:0}}),u=i/10,h=s+u;return Ne.jsx(qA,{position:[0,0,1],children:Ne.jsxs(An.mesh,{scale:l,children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[s,h,o]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:a,transparent:!0,depthTest:!1,opacity:c,side:vn,fog:!0})]})})},q5=({color:r,id:e,size:t,selected:n,opacity:i=1,animated:s})=>{const{scale:o,nodeOpacity:a}=tr({from:{scale:[1e-5,1e-5,1e-5],nodeOpacity:0},to:{scale:[t,t,t],nodeOpacity:i},config:{...nr,duration:s?void 0:0}}),l=K.useMemo(()=>new Ke(r),[r]),c=qe(u=>u.theme);return Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs(An.mesh,{userData:{id:e,type:"node"},scale:o,children:[Ne.jsx("sphereGeometry",{attach:"geometry",args:[1,25,25]}),Ne.jsx(An.meshPhongMaterial,{attach:"material",side:vn,transparent:!0,fog:!0,opacity:a,color:l})]}),Ne.jsx(Y5,{opacity:n?.5:0,size:t,animated:s,color:n?c.ring.activeFill:c.ring.fill})]})},g2=K.createContext({controls:null,resetControls:()=>{},zoomIn:()=>{},zoomOut:()=>{},dollyIn:()=>{},dollyOut:()=>{},panLeft:()=>{},panRight:()=>{},panUp:()=>{},panDown:()=>{},freeze:()=>{},unFreeze:()=>{}}),zp=()=>{const r=K.useContext(g2);if(r===void 0)throw new Error("`useCameraControls` hook must be used within a `ControlsProvider` component");return r};Qn.install({THREE:{MOUSE:ab,Vector2:De,Vector3:Y,Vector4:Xt,Quaternion:si,Matrix4:yt,Spherical:lT,Box3:ir,Sphere:rr,Raycaster:Uy,MathUtils:{DEG2RAD:(jE=Od)==null?void 0:jE.DEG2RAD,clamp:(YE=Od)==null?void 0:YE.clamp}}});hT({ThreeCameraControls:Qn});const Bp={ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40},QE=new kp(Bp.ARROW_LEFT,100),eb=new kp(Bp.ARROW_RIGHT,100),tb=new kp(Bp.ARROW_UP,100),nb=new kp(Bp.ARROW_DOWN,100),Z5=K.forwardRef(({mode:r="rotate",children:e,animated:t,disabled:n,minDistance:i=1e3,maxDistance:s=5e4},o)=>{const a=K.useRef(null),l=Bn(F=>F.camera),c=Bn(F=>F.gl),u=r==="orbit",h=qe(F=>F.setPanning),p=qe(F=>F.draggingIds.length>0),m=K.useRef(0),[v,_]=K.useState(!1);Ep((F,N)=>{var I,X;(I=a.current)!=null&&I.enabled&&((X=a.current)==null||X.update(N)),u&&(a.current.azimuthAngle+=20*N*Od.DEG2RAD)},-1),K.useEffect(()=>()=>{var F;return(F=a.current)==null?void 0:F.dispose()},[]);const y=K.useCallback(()=>{var F;(F=a.current)==null||F.zoom(l.zoom/2,t)},[t,l.zoom]),g=K.useCallback(()=>{var F;(F=a.current)==null||F.zoom(-l.zoom/2,t)},[t,l.zoom]),x=K.useCallback(F=>{var N;(N=a.current)==null||N.dolly(F,t)},[t]),w=K.useCallback(F=>{var N;(N=a.current)==null||N.dolly(F,t)},[t]),E=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(-.03*F.deltaTime,0,t)},[t,u]),b=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(.03*F.deltaTime,0,t)},[t,u]),M=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(0,.03*F.deltaTime,t)},[t,u]),A=K.useCallback(F=>{var N;u||(N=a.current)==null||N.truck(0,-.03*F.deltaTime,t)},[t,u]),P=K.useCallback(F=>{F.code==="Space"&&(r==="rotate"?a.current.mouseButtons.left=Qn.ACTION.TRUCK:a.current.mouseButtons.left=Qn.ACTION.ROTATE)},[r]),C=K.useCallback(F=>{F.code==="Space"&&(r==="rotate"?a.current.mouseButtons.left=Qn.ACTION.ROTATE:a.current.mouseButtons.left=Qn.ACTION.TRUCK)},[r]);K.useEffect(()=>(n||(QE.addEventListener("holding",b),eb.addEventListener("holding",E),tb.addEventListener("holding",M),nb.addEventListener("holding",A),typeof window<"u"&&(window.addEventListener("keydown",P),window.addEventListener("keyup",C))),()=>{QE.removeEventListener("holding",b),eb.removeEventListener("holding",E),tb.removeEventListener("holding",M),nb.removeEventListener("holding",A),typeof window<"u"&&(window.removeEventListener("keydown",P),window.removeEventListener("keyup",C))}),[n,P,C,A,b,E,M]),K.useEffect(()=>{n?(a.current.mouseButtons.left=Qn.ACTION.NONE,a.current.mouseButtons.middle=Qn.ACTION.NONE,a.current.mouseButtons.wheel=Qn.ACTION.NONE):(a.current.mouseButtons.left=Qn.ACTION.TRUCK,a.current.mouseButtons.middle=Qn.ACTION.TRUCK,a.current.mouseButtons.wheel=Qn.ACTION.DOLLY)},[n]),K.useEffect(()=>{const F=()=>h(!0),N=()=>h(!1),I=a.current;return I&&(I.addEventListener("control",F),I.addEventListener("controlend",N)),()=>{I&&(I.removeEventListener("control",F),I.removeEventListener("controlend",N))}},[a,h]),K.useEffect(()=>{p?(a.current.mouseButtons.left=Qn.ACTION.NONE,a.current.touches.one=Qn.ACTION.NONE):r==="rotate"?(a.current.mouseButtons.left=Qn.ACTION.ROTATE,a.current.touches.one=Qn.ACTION.TOUCH_ROTATE):(a.current.touches.one=Qn.ACTION.TOUCH_TRUCK,a.current.mouseButtons.left=Qn.ACTION.TRUCK)},[p,r]);const L=K.useMemo(()=>({controls:a.current,zoomIn:()=>y(),zoomOut:()=>g(),dollyIn:(F=1e3)=>x(F),dollyOut:(F=-1e3)=>w(F),panLeft:(F=100)=>b({deltaTime:F}),panRight:(F=100)=>E({deltaTime:F}),panDown:(F=100)=>A({deltaTime:F}),panUp:(F=100)=>M({deltaTime:F}),resetControls:F=>{var N;return(N=a.current)==null?void 0:N.reset(F)},freeze:()=>{a.current.truckSpeed&&(m.current=a.current.truckSpeed),a.current.truckSpeed=0},unFreeze:()=>a.current.truckSpeed=m.current}),[y,g,b,E,A,M,a.current]);return K.useImperativeHandle(o,()=>L),Ne.jsxs(g2.Provider,{value:L,children:[Ne.jsx("threeCameraControls",{ref:F=>{a.current=F,v||_(!0)},args:[l,c.domElement],smoothTime:.1,minDistance:i,dollyToCursor:!0,maxDistance:s}),e]})});function v2(r,e){const t=e.position.z;rl.x0&&(e==null?void 0:e.x)l.y0&&(e==null?void 0:e.y)Math.abs(n-r%Math.PI){const n=qe(_=>_.nodes),[i,s]=K.useState(!1),o=Bn(_=>_.invalidate),{controls:a}=zp(),l=Bn(_=>_.camera),c=K.useRef(!1),u=K.useCallback(async(_,y)=>{const g=(y==null?void 0:y.animated)!==void 0?y==null?void 0:y.animated:!0,x=(y==null?void 0:y.centerOnlyIfNodesNotInView)!==void 0?y==null?void 0:y.centerOnlyIfNodesNotInView:!1;if(!c.current||!x||x&&(_!=null&&_.some(w=>!ib(l,w.position)))){const{x:w,y:E,z:b}=th(_);await a.setTarget(w,E,b,g),i||s(!0),o()}},[o,a,n]),h=K.useCallback(async(_,y={animated:!0,fitOnlyIfNodesNotInView:!1})=>{const{fitOnlyIfNodesNotInView:g}=y;if(!g||g&&(_!=null&&_.some(x=>!ib(l,x.position)))){const{minX:x,maxX:w,minY:E,maxY:b,minZ:M,maxZ:A}=th(_);if(!t.includes("3d")){const{horizontalRotation:P,verticalRotation:C}=$5(a==null?void 0:a.azimuthAngle,a==null?void 0:a.polarAngle);a==null||a.rotate(P,C,!0)}await(a==null?void 0:a.zoomTo(1,y==null?void 0:y.animated)),await(a==null?void 0:a.fitToBox(new ir(new Y(x,E,M),new Y(w,b,A)),y==null?void 0:y.animated,{cover:!1,paddingLeft:pd,paddingRight:pd,paddingBottom:pd,paddingTop:pd}))}},[l,a,t]),p=K.useCallback(_=>{let y=null;return _!=null&&_.length&&(y=_.reduce((g,x)=>{const w=n.find(E=>E.id===x);if(w)g.push(w);else throw new Error(`Attempted to center ${x} but it was not found in the nodes`);return g},[])),y},[n]),m=K.useCallback((_,y)=>{const g=p(_);u(g||n,{animated:r,centerOnlyIfNodesNotInView:y==null?void 0:y.centerOnlyIfNodesNotInView})},[r,u,p,n]),v=K.useCallback(async(_,y)=>{const g=p(_);await h(g||n,{animated:r,...y})},[r,h,p,n]);return K.useLayoutEffect(()=>{async function _(){a&&(n!=null&&n.length)&&(c.current||(await u(n,{animated:!1}),await h(n,{animated:!1}),c.current=!0))}_()},[a,u,n,r,l,h]),{centerNodes:u,centerNodesById:m,fitNodesInViewById:v,isCentered:i}},Q5=({image:r,id:e,size:t,opacity:n=1,animated:i})=>{const s=K.useMemo(()=>new KM().load(r),[r]),{scale:o,spriteOpacity:a}=tr({from:{scale:[1e-5,1e-5,1e-5],spriteOpacity:0},to:{scale:[t,t,t],spriteOpacity:n},config:{...nr,duration:i?void 0:0}});return Ne.jsx(An.sprite,{userData:{id:e,type:"node"},scale:o,children:Ne.jsx(An.spriteMaterial,{attach:"material",opacity:a,fog:!0,depthTest:!1,transparent:!0,side:vn,children:Ne.jsx("primitive",{attach:"map",object:s,minFilter:fn})})})},eH=({animated:r,disabled:e,id:t,draggable:n=!1,labelFontUrl:i,contextMenu:s,onClick:o,onDoubleClick:a,onPointerOver:l,onDragged:c,onPointerOut:u,onContextMenu:h,renderNode:p,constrainDragging:m})=>{var v,_,y;const g=zp(),x=qe(ne=>ne.theme),w=qe(ne=>ne.nodes.find(we=>we.id===t)),E=qe(ne=>ne.edges),b=qe(ne=>ne.draggingIds),M=qe(ne=>ne.collapsedNodeIds),A=qe(ne=>ne.addDraggingId),P=qe(ne=>ne.removeDraggingId),C=qe(ne=>ne.setHoveredNodeId),L=qe(ne=>ne.setNodePosition),F=qe(ne=>ne.setCollapsedNodeIds),N=qe(ne=>ne.collapsedNodeIds.includes(t)),I=qe(ne=>{var we;return(we=ne.actives)==null?void 0:we.includes(t)}),X=qe(ne=>{var we;return(we=ne.selections)==null?void 0:we.includes(t)}),q=qe(ne=>{var we;return((we=ne.selections)==null?void 0:we.length)>0}),W=qe(ne=>ne.centerPosition),O=qe(ne=>ne.clusters.get(w.cluster)),k=b.includes(t),G=b.length>0,{position:B,label:D,subLabel:V,size:Z=7,labelVisible:ee=!0}=w,ie=K.useRef(null),[ue,ce]=K.useState(!1),[le,Ae]=K.useState(!1),Ee=ue||X||I,ae=q?Ee?x.node.selectedOpacity:x.node.inactiveOpacity:x.node.opacity,z=K.useMemo(()=>E.filter(we=>we.source===t).length>0||N,[E,t,N]),oe=K.useCallback(()=>{z&&F(N?M.filter(ne=>ne!==t):[...M,t])},[z,M,t,N,F]),[{nodePosition:te,labelPosition:se,subLabelPosition:$}]=tr(()=>({from:{nodePosition:W?[W.x,W.y,0]:[0,0,0],labelPosition:[0,-(Z+7),2],subLabelPosition:[0,-(Z+14),2]},to:{nodePosition:B?[B.x,B.y,Ee?B.z+1:B.z]:[0,0,0],labelPosition:[0,-(Z+7),2],subLabelPosition:[0,-(Z+14),2]},config:{...nr,duration:r&&!G?void 0:0}}),[k,B,r,Z,Ee]),Ie=p2({draggable:n,position:B,bounds:m?O==null?void 0:O.position:void 0,set:ne=>L(t,ne),onDragStart:()=>{A(t),ce(!0)},onDragEnd:()=>{P(t),c==null||c(w)}});ya(ue&&!G&&o!==void 0,"pointer"),ya(ue&&n&&!k&&o===void 0,"grab"),ya(k,"grabbing");const de=Ee||k,Se=de?x.node.activeFill:w.fill||x.node.fill,{pointerOver:Le,pointerOut:ge}=m_({disabled:e||k,onPointerOver:ne=>{g.freeze(),ce(!0),l==null||l(w,ne),C(t)},onPointerOut:ne=>{g.unFreeze(),ce(!1),u==null||u(w,ne),C(null)}}),He=K.useMemo(()=>p?p({id:t,color:Se,size:Z,active:de,opacity:ae,animated:r,selected:X,node:w}):Ne.jsx(Ne.Fragment,{children:w.icon?Ne.jsx(Q5,{id:t,image:w.icon||"",size:Z+8,opacity:ae,animated:r,color:Se,node:w,active:de,selected:X}):Ne.jsx(q5,{id:t,size:Z,opacity:ae,animated:r,color:Se,node:w,active:de,selected:X})}),[p,t,Se,Z,de,ae,r,X,w]),j=K.useMemo(()=>{var ne,we,be;return ee&&(ee||X||ue)&&D&&Ne.jsxs(Ne.Fragment,{children:[Ne.jsx(An.group,{position:se,children:Ne.jsx(nh,{text:D,fontUrl:i,opacity:ae,stroke:x.node.label.stroke,active:X||ue||k||I,color:X||ue||k||I?x.node.label.activeColor:x.node.label.color})}),V&&Ne.jsx(An.group,{position:$,children:Ne.jsx(nh,{text:V,fontUrl:i,fontSize:5,opacity:ae,stroke:(ne=x.node.subLabel)==null?void 0:ne.stroke,active:X||ue||k||I,color:X||ue||k||I?(we=x.node.subLabel)==null?void 0:we.activeColor:(be=x.node.subLabel)==null?void 0:be.color})})]})},[ue,I,k,X,D,i,se,ee,ae,V,$,x.node.label.activeColor,x.node.label.color,x.node.label.stroke,(v=x.node.subLabel)==null?void 0:v.activeColor,(_=x.node.subLabel)==null?void 0:_.color,(y=x.node.subLabel)==null?void 0:y.stroke]),H=K.useMemo(()=>le&&s&&Ne.jsx($y,{prepend:!0,center:!0,children:s({data:w,canCollapse:z,isCollapsed:N,onCollapse:oe,onClose:()=>Ae(!1)})}),[le,s,w,z,N,oe]);return Ne.jsxs(An.group,{renderOrder:1,userData:{id:t,type:"node"},ref:ie,position:te,onPointerOver:Le,onPointerOut:ge,onClick:ne=>{!e&&!k&&(o==null||o(w,{canCollapse:z,isCollapsed:N},ne))},onDoubleClick:ne=>{!e&&!k&&(a==null||a(w,ne))},onContextMenu:()=>{e||(Ae(!0),h==null||h(w,{canCollapse:z,isCollapsed:N,onCollapse:oe}))},...Ie(),children:[He,H,j]})},tH=({animated:r,color:e="#D8E6EA",length:t,opacity:n=.5,position:i,rotation:s,size:o=1,onActive:a,onContextMenu:l})=>{const c=K.useMemo(()=>new Ke(e),[e]),u=K.useRef(null),h=qe(y=>y.draggingIds.length>0),p=qe(y=>y.centerPosition),[{pos:m,arrowOpacity:v}]=tr(()=>({from:{pos:p?[p.x,p.y,p.z]:[0,0,0],arrowOpacity:0},to:{pos:[i.x,i.y,i.z],arrowOpacity:n},config:{...nr,duration:r&&!h?void 0:0}}),[r,h,n,i]),_=K.useCallback(()=>{var y;const g=new Y(0,1,0);(y=u.current)==null||y.quaternion.setFromUnitVectors(g,s)},[s,u]);return K.useEffect(()=>_(),[_]),Ne.jsxs(An.mesh,{position:m,ref:u,scale:[1,1,1],onPointerOver:()=>a(!0),onPointerOut:()=>a(!1),onPointerDown:y=>{y.nativeEvent.buttons===2&&(y.stopPropagation(),l())},children:[Ne.jsx("cylinderGeometry",{args:[0,o,t,20,1,!0],attach:"geometry"}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:c,depthTest:!1,opacity:v,transparent:!0,side:vn,fog:!0})]})},nH=({curveOffset:r,animated:e,color:t="#000",curve:n,curved:i=!1,id:s,opacity:o=1,size:a=1,onContextMenu:l,onClick:c,onPointerOver:u,onPointerOut:h})=>{const p=K.useRef(null),m=qe(x=>x.draggingIds.length>0),v=K.useMemo(()=>new Ke(t),[t]),_=qe(x=>x.centerPosition),y=K.useRef(!1),{lineOpacity:g}=tr({from:{lineOpacity:0},to:{lineOpacity:o},config:{...nr,duration:e?void 0:0}});return tr(()=>{const x=n.getPoint(0),w=n.getPoint(1);return{from:{fromVertices:y.current?[w==null?void 0:w.x,w==null?void 0:w.y,(w==null?void 0:w.z)||0]:[_==null?void 0:_.x,_==null?void 0:_.y,(_==null?void 0:_.z)||0],toVertices:[x==null?void 0:x.x,x==null?void 0:x.y,(x==null?void 0:x.z)||0]},to:{fromVertices:[x==null?void 0:x.x,x==null?void 0:x.y,(x==null?void 0:x.z)||0],toVertices:[w==null?void 0:w.x,w==null?void 0:w.y,(w==null?void 0:w.z)||0]},onChange:E=>{const{fromVertices:b,toVertices:M}=E.value,A=new Y(...b),P=new Y(...M),C=Qu(A,0,P,0,i,r);p.current.copy(new ba(C,20,a/2,5,!1))},config:{...nr,duration:e&&!m?void 0:0}}},[e,m,n,a]),K.useEffect(()=>{y.current=!0},[]),Ne.jsxs("mesh",{userData:{id:s,type:"edge"},onPointerOver:u,onPointerOut:h,onClick:c,onPointerDown:x=>{x.nativeEvent.buttons===2&&(x.stopPropagation(),l())},children:[Ne.jsx("tubeGeometry",{attach:"geometry",ref:p}),Ne.jsx(An.meshBasicMaterial,{attach:"material",opacity:g,fog:!0,transparent:!0,depthTest:!1,color:v})]})},sb=3,iH=({animated:r,arrowPlacement:e="end",contextMenu:t,disabled:n,labelPlacement:i="inline",id:s,interpolation:o,labelFontUrl:a,onContextMenu:l,onClick:c,onPointerOver:u,onPointerOut:h})=>{const p=qe(oe=>oe.theme),m=qe(oe=>oe.draggingIds.length>0),[v,_]=K.useState(!1),[y,g]=K.useState(!1),x=qe(oe=>oe.edges),w=x.find(oe=>oe.id===s),{target:E,source:b,label:M,labelVisible:A=!1,size:P=1,fill:C}=w,L=qe(oe=>oe.nodes.find(te=>te.id===b)),F=qe(oe=>oe.nodes.find(te=>te.id===E)),N=(P+p.edge.label.fontSize)/2,[I,X]=K.useMemo(()=>f2(P),[P]),{curveOffset:q,curved:W}=K.useMemo(()=>B5({edge:w,edges:x,curved:o==="curved"}),[w,x,o]),[O,k,G]=K.useMemo(()=>{const oe=eh(L),te=L.size,se=eh(F),$=F.size;let Ie=Qu(oe,te,se,$,W,q);const[de,Se]=h2(e,Ie,I);return e==="end"&&(Ie=Qu(oe,te,de,0,W,q)),[Ie,de,Se]},[L,F,W,q,e,I]),B=K.useMemo(()=>{let oe=d2(L.position,F.position,u2(N,i));if(W){const te=new Y().subVectors(oe,O.getPoint(.5));switch(i){case"above":te.y=te.y-sb;break;case"below":te.y=te.y+sb;break}oe=oe.sub(te)}return oe},[L.position,F.position,N,i,W,O]),D=qe(oe=>{var te;return(te=oe.selections)==null?void 0:te.includes(s)}),V=qe(oe=>{var te;return(te=oe.selections)==null?void 0:te.length}),Z=qe(oe=>{var te;return(te=oe.actives)==null?void 0:te.includes(s)}),ee=qe(oe=>oe.centerPosition),ie=V?D||Z?p.edge.selectedOpacity:p.edge.inactiveOpacity:p.edge.opacity,[{labelPosition:ue}]=tr(()=>({from:{labelPosition:ee?[ee.x,ee.y,ee.z]:[0,0,0]},to:{labelPosition:[B.x,B.y,B.z]},config:{...nr,duration:r&&!m?void 0:0}}),[B,r,m]),ce=K.useMemo(()=>new Eo(0,0,i==="natural"?0:Math.atan((F.position.y-L.position.y)/(F.position.x-L.position.x))),[F.position.x,F.position.y,L.position.x,L.position.y,i]);ya(v&&!m&&c!==void 0,"pointer");const{pointerOver:le,pointerOut:Ae}=m_({disabled:n,onPointerOver:oe=>{_(!0),u==null||u(w,oe)},onPointerOut:oe=>{_(!1),h==null||h(w,oe)}}),Ee=K.useMemo(()=>e!=="none"&&Ne.jsx(tH,{animated:r,color:D||v||Z?p.arrow.activeFill:C||p.arrow.fill,length:I,opacity:ie,position:k,rotation:G,size:X,onActive:_,onContextMenu:()=>{n||(g(!0),l==null||l(w))}}),[C,v,r,I,e,k,G,X,n,w,Z,D,l,ie,p.arrow.activeFill,p.arrow.fill]),ae=K.useMemo(()=>A&&M&&Ne.jsx(An.group,{position:ue,onContextMenu:()=>{n||(g(!0),l==null||l(w))},onPointerOver:le,onPointerOut:Ae,children:Ne.jsx(nh,{text:M,ellipsis:15,fontUrl:a,stroke:p.edge.label.stroke,color:D||v||Z?p.edge.label.activeColor:p.edge.label.color,opacity:ie,fontSize:p.edge.label.fontSize,rotation:ce})}),[v,n,w,Z,D,M,a,ue,ce,A,l,Ae,le,ie,p.edge.label.activeColor,p.edge.label.color,p.edge.label.fontSize,p.edge.label.stroke]),z=K.useMemo(()=>y&&t&&Ne.jsx($y,{prepend:!0,center:!0,position:B,children:t({data:w,onClose:()=>g(!1)})}),[y,t,B,w]);return Ne.jsxs("group",{children:[Ne.jsx(nH,{curveOffset:q,animated:r,color:D||v||Z?p.edge.activeFill:C||p.edge.fill,curve:O,curved:W,id:s,opacity:ie,size:P,onClick:oe=>{n||c==null||c(w,oe)},onPointerOver:le,onPointerOut:Ae,onContextMenu:()=>{n||(g(!0),l==null||l(w))}}),Ee,ae,z]})},ob=new Ws(0,0,0);function rH(r,e){const t=K.useRef(),n=qe(c=>c.theme);qe(c=>{t.current=c});const i=K.useRef(new Map);K.useRef(new Ws(0,0,0));const s=K.useRef(),o=e==="curved",a=K.useCallback(c=>{const u=[],h=i.current,{nodes:p}=t.current,m=new Map(p.map(_=>[_.id,_])),v=n.edge.label.fontSize;return r!=="none"&&!s.current&&(s.current=new La(0,1,1,20,1,!0)),c.forEach(_=>{const{target:y,source:g,size:x=1}=_,w=m.get(g),E=m.get(y);if(!w||!E)return;const b=`${w.position.x},${w.position.y},${E.position.x},${E.position.y},${x}`;if(h.has(b)){u.push(h.get(b));return}const M=eh(w),A=w.size+v,P=eh(E),C=E.size+v;let L=Qu(M,A,P,C,o),F=new ba(L,20,x/2,5,!1);if(r==="none"){u.push(F),h.set(b,F);return}const[N,I]=f2(x),X=s.current.clone();X.scale(I,N,I);const[q,W]=h2(r,L,N),O=new si;if(O.setFromUnitVectors(new Y(0,1,0),W),X.applyQuaternion(O),X.translate(q.x,q.y,q.z),r&&r==="end"){const G=Qu(M,A,q,0,o);F=new ba(G,20,x/2,5,!1)}const k=od([F,X]);u.push(k),h.set(b,k)}),u},[r,o,n.edge.label.fontSize]),l=K.useCallback((c,u)=>{const h=a(c),p=a(u);return od([p.length?od(p):ob,h.length?od(h):ob],!0)},[a]);return{getGeometries:a,getGeometry:l}}function sH(r,e,t){const n=K.useRef(r);K.useEffect(()=>{n.current=r},[r]);const i=qe(h=>h.edgeContextMenus),s=qe(K.useCallback(h=>h.setEdgeContextMenus,[])),o=K.useRef(!1),a=K.useCallback(()=>{o.current=!0},[]),l=K.useRef(!1),c=K.useCallback(()=>{l.current=!0},[]),u=K.useCallback((h,p)=>{const{onClick:m,onContextMenu:v,onPointerOver:_,onPointerOut:y}=n.current;if(m&&o.current&&!t){o.current=!1;for(const g of p)m(g)}if((e||v)&&l.current&&!t){l.current=!1;const g=new Set(i);let x=!1;for(const w of p)i.has(w.id)||(g.add(w.id),x=!0,v==null||v(w));x&&s(g)}_&&p.filter(x=>!h.includes(x)).forEach(x=>{_(x)}),y&&h.filter(x=>!p.includes(x)).forEach(x=>{y(x)})},[e,t,i,s]);return{handleClick:a,handleContextMenu:c,handleIntersections:u}}function oH(r,e){const t=K.useRef(r),n=K.useRef();K.useEffect(()=>{t.current=r;const o=r.getAttribute("position");n.current=new Float32Array(o.array.length)},[r]);const i=K.useCallback(()=>{const o=t.current.getAttribute("position");return{from:new Float32Array(o.array.length),to:o.array}},[]),s=K.useCallback(o=>{const a=n.current;a.set(o);const l=new $t(a,3,!1);t.current.setAttribute("position",l),l.needsUpdate=!0},[]);tr(()=>{if(!e)return null;const o=i();return{from:{positions:o.from},to:{positions:o.to},onChange:a=>{s(a.value.positions)},config:{...nr,duration:e?void 0:0}}},[e,i,s])}function aH(r,e,t){const[{activeOpacity:n,inactiveOpacity:i}]=tr(()=>({from:{activeOpacity:0,inactiveOpacity:0},to:{activeOpacity:e?t.edge.selectedOpacity:t.edge.opacity,inactiveOpacity:e?t.edge.inactiveOpacity:t.edge.opacity},config:{...nr,duration:r?void 0:0}}),[r,e,t]);return{activeOpacity:n,inactiveOpacity:i}}const lH=({animated:r,color:e,contextMenu:t,edge:n,labelFontUrl:i,labelPlacement:s="inline",opacity:o})=>{const a=qe(L=>L.theme),{target:l,source:c,label:u,labelVisible:h=!1,size:p=1}=n,m=qe(L=>L.nodes),[v,_]=K.useMemo(()=>[m.find(L=>L.id===c),m.find(L=>L.id===l)],[m,c,l]),y=qe(L=>L.draggingIds.length>0),g=K.useMemo(()=>(p+a.edge.label.fontSize)/2,[p,a.edge.label.fontSize]),x=K.useMemo(()=>d2(v.position,_.position,u2(g,s)),[v.position,_.position,g,s]),w=qe(L=>L.edgeContextMenus),E=qe(L=>L.setEdgeContextMenus),[{labelPosition:b}]=tr(()=>({from:{labelPosition:[0,0,0]},to:{labelPosition:[x.x,x.y,x.z]},config:{...nr,duration:r&&!y?void 0:0}}),[x,r,y]),M=K.useCallback(L=>{w.delete(L),E(new Set(w))},[w,E]),A=K.useMemo(()=>s==="natural"?new Eo(0,0,0):new Eo(0,0,Math.atan2(_.position.y-v.position.y,_.position.x-v.position.x)),[s,_.position.y,_.position.x,v.position.y,v.position.x]),P=K.useMemo(()=>({prepend:!0,center:!0,position:x}),[x]),C=K.useMemo(()=>({text:u,ellipsis:15,fontUrl:i,stroke:a.edge.label.stroke,color:e,opacity:o,fontSize:a.edge.label.fontSize,rotation:A}),[u,i,a.edge.label.stroke,e,o,a.edge.label.fontSize,A]);return Ne.jsxs("group",{children:[h&&u&&Ne.jsx(An.group,{position:b,children:Ne.jsx(nh,{...C})}),t&&w.has(n.id)&&Ne.jsx($y,{...P,children:t({data:n,onClose:()=>M(n.id)})})]})},cH=({interpolation:r="linear",arrowPlacement:e="end",labelPlacement:t="inline",animated:n,contextMenu:i,disabled:s,edges:o,labelFontUrl:a,onClick:l,onContextMenu:c,onPointerOut:u,onPointerOver:h})=>{const p=qe(B=>B.theme),{getGeometries:m,getGeometry:v}=rH(e,r),_=qe(B=>B.draggingIds),y=qe(B=>B.edgeMeshes),g=qe(B=>B.setEdgeMeshes),x=qe(B=>B.actives||[]),w=qe(B=>B.selections||[]),[E,b,M,A]=K.useMemo(()=>{const B=[],D=[],V=[],Z=[];return o.forEach(ee=>{if(_.includes(ee.source)||_.includes(ee.target)){w.includes(ee.id)||x.includes(ee.id)?V.push(ee):Z.push(ee);return}w.includes(ee.id)||x.includes(ee.id)?B.push(ee):D.push(ee)}),[B,D,V,Z]},[o,x,w,_]),P=!!w.length,C=K.useMemo(()=>v(E,b),[v,E,b]),{activeOpacity:L,inactiveOpacity:F}=aH(n,P,p);oH(C,n),K.useEffect(()=>{if(_.length===0){const D=m(o).map(V=>new _n(V));g(D)}},[m,g,o,_.length]);const N=K.useRef(new _n),I=K.useRef(new _n),X=K.useCallback(B=>{if(!B.camera)return[];const D=B.intersectObjects(y);return D.length?D.map(V=>o[y.indexOf(V.object)]):[]},[y,o]),{handleClick:q,handleContextMenu:W,handleIntersections:O}=sH({onClick:l,onContextMenu:c,onPointerOut:u,onPointerOver:h},i,s),k=K.useRef([]),G=K.useRef([]);return Ep(B=>{if(N.current.geometry=C,s)return;const D=k.current;if((_.length||_.length===0&&D!==null)&&(I.current.geometry=v(M,A)),k.current=_,_.length)return;const V=G.current,Z=X(B.raycaster);O(V,Z),Z.join()!==V.join()&&(I.current.geometry=v(Z,[])),G.current=Z}),Ne.jsxs("group",{onClick:q,onContextMenu:W,children:[Ne.jsxs("mesh",{ref:N,children:[Ne.jsx(An.meshBasicMaterial,{attach:"material-0",color:p.edge.fill,depthTest:!1,fog:!0,opacity:F,side:vn,transparent:!0}),Ne.jsx(An.meshBasicMaterial,{attach:"material-1",color:p.edge.activeFill,depthTest:!1,fog:!0,opacity:L,side:vn,transparent:!0})]}),Ne.jsxs("mesh",{ref:I,children:[Ne.jsx(An.meshBasicMaterial,{attach:"material-0",color:p.edge.fill,depthTest:!1,fog:!0,opacity:F,side:vn,transparent:!0}),Ne.jsx(An.meshBasicMaterial,{attach:"material-1",color:p.edge.activeFill,depthTest:!1,fog:!0,opacity:L,side:vn,transparent:!0})]}),o.map(B=>Ne.jsx(lH,{animated:n,contextMenu:i,color:p.edge.label.color,disabled:s,edge:B,labelFontUrl:a,labelPlacement:t},B.id))]})},uH=({outerRadius:r,innerRadius:e,padding:t,normalizedFill:n,normalizedStroke:i,opacity:s,animated:o,theme:a})=>{var l;const{opacity:c}=tr({from:{opacity:0},to:{opacity:s},config:{...nr,duration:o?void 0:0}});return Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs("mesh",{children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[r,0,128]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:n,transparent:!0,depthTest:!1,opacity:(l=a.cluster)!=null&&l.fill?c:0,side:vn,fog:!0})]}),Ne.jsxs("mesh",{children:[Ne.jsx("ringGeometry",{attach:"geometry",args:[r,e+t,128]}),Ne.jsx(An.meshBasicMaterial,{attach:"material",color:i,transparent:!0,depthTest:!1,opacity:c,side:vn,fog:!0})]})]})},hH=({animated:r,position:e,padding:t=40,labelFontUrl:n,disabled:i,radius:s=2,nodes:o,label:a,onClick:l,onPointerOver:c,onPointerOut:u,draggable:h=!1,onDragged:p,onRender:m})=>{var v,_,y,g,x,w,E;const b=qe(z=>z.theme),M=Math.max(e.width,e.height)/2,A=M-s+t,[P,C]=K.useState(!1),L=qe(z=>z.centerPosition),F=qe(z=>z.nodes),N=zp(),I=qe(z=>z.draggingIds),X=I.includes(a),q=I.length>0,W=qe(z=>{var oe;return(oe=z.actives)==null?void 0:oe.some(te=>o.some(se=>se.id===te))}),O=qe(z=>z.hoveredNodeId),k=qe(z=>{var oe;return(oe=z.selections)==null?void 0:oe.some(te=>o.some(se=>se.id===te))}),B=qe(z=>{var oe;return((oe=z.selections)==null?void 0:oe.length)>0})?k||P||W?(v=b.cluster)==null?void 0:v.selectedOpacity:(_=b.cluster)==null?void 0:_.inactiveOpacity:(y=b.cluster)==null?void 0:y.opacity,D=K.useMemo(()=>{var z,oe;const te=[0,-A,2],se=(oe=(z=b.cluster)==null?void 0:z.label)==null?void 0:oe.offset;return se?[te[0]-se[0],te[1]-se[1],te[2]-se[2]]:te},[A,(x=(g=b.cluster)==null?void 0:g.label)==null?void 0:x.offset]),{circlePosition:V}=tr({from:{circlePosition:[L.x,L.y,-1]},to:{circlePosition:e?[e.x,e.y,-1]:[0,0,-1]},config:{...nr,duration:r&&!q?void 0:0}}),Z=K.useMemo(()=>{var z;return new Ke((z=b.cluster)==null?void 0:z.stroke)},[(w=b.cluster)==null?void 0:w.stroke]),ee=K.useMemo(()=>{var z;return new Ke((z=b.cluster)==null?void 0:z.fill)},[(E=b.cluster)==null?void 0:E.fill]),ie=qe(z=>z.addDraggingId),ue=qe(z=>z.removeDraggingId),ce=qe(z=>z.setClusterPosition),le=p2({draggable:h&&!O,position:{x:e.x,y:e.y,z:-1},set:z=>ce(a,z),onDragStart:()=>{ie(a),C(!0)},onDragEnd:()=>{ue(a),C(!1);const z=F.filter(oe=>oe.cluster===a);p==null||p({nodes:z,label:a})}});ya(P&&!q&&l!==void 0,"pointer"),ya(P&&h&&!X&&l===void 0,"grab"),ya(X,"grabbing");const{pointerOver:Ae,pointerOut:Ee}=m_({disabled:i,onPointerOver:z=>{C(!0),N.freeze(),c==null||c({nodes:o,label:a},z)},onPointerOut:z=>{C(!1),N.unFreeze(),u==null||u({nodes:o,label:a},z)}});return K.useMemo(()=>{var z,oe,te;return b.cluster&&Ne.jsx(An.group,{userData:{id:a,type:"cluster"},position:V,onPointerOver:Ae,onPointerOut:Ee,onClick:se=>{!i&&!X&&(l==null||l({nodes:o,label:a},se))},...le(),children:m?m({label:{position:D,text:a,opacity:B,fontUrl:n},opacity:B,outerRadius:A,innerRadius:M,padding:t,theme:b}):Ne.jsxs(Ne.Fragment,{children:[Ne.jsx(uH,{outerRadius:A,innerRadius:M,padding:t,normalizedFill:ee,normalizedStroke:Z,opacity:B,animated:r,theme:b}),((z=b.cluster)==null?void 0:z.label)&&Ne.jsx(An.group,{position:D,children:Ne.jsx(nh,{text:a,opacity:B,fontUrl:n,stroke:b.cluster.label.stroke,active:!1,color:(oe=b.cluster)==null?void 0:oe.label.color,fontSize:((te=b.cluster)==null?void 0:te.label.fontSize)??12})})]})})},[b,V,Ae,Ee,A,ee,M,t,Z,D,a,B,n,i,l,o,le,X,m,r])},fH=K.forwardRef(({onNodeClick:r,onNodeDoubleClick:e,onNodeContextMenu:t,onEdgeContextMenu:n,onEdgeClick:i,onEdgePointerOver:s,onEdgePointerOut:o,onNodePointerOver:a,onNodePointerOut:l,onClusterClick:c,onNodeDragged:u,onClusterDragged:h,onClusterPointerOver:p,onClusterPointerOut:m,contextMenu:v,animated:_,disabled:y,draggable:g,constrainDragging:x=!1,edgeLabelPosition:w,edgeArrowPosition:E,edgeInterpolation:b="linear",labelFontUrl:M,renderNode:A,onRenderCluster:P,...C},L)=>{const{layoutType:F,clusterAttribute:N}=C,I=Bn(le=>le.gl),X=Bn(le=>le.scene),q=Bn(le=>le.camera),{updateLayout:W}=j5({...C,constrainDragging:x});if(N&&!(F==="forceDirected2d"||F==="forceDirected3d"))throw new Error("Clustering is only supported for the force directed layouts.");const O=qe(le=>le.graph),k=qe(le=>le.nodes),G=qe(le=>le.edges),B=qe(le=>[...le.clusters.values()]),{centerNodesById:D,fitNodesInViewById:V,isCentered:Z}=J5({animated:_,disabled:y,layoutType:F});K.useImperativeHandle(L,()=>({centerGraph:D,fitNodesInView:V,graph:O,renderScene:()=>I.render(X,q)}),[D,V,O,I,X,q]);const ee=K.useCallback(le=>{u==null||u(le),N&&W()},[N,u,W]),ie=K.useMemo(()=>k.map(le=>Ne.jsx(eH,{id:le==null?void 0:le.id,labelFontUrl:M,draggable:g,constrainDragging:x,disabled:y,animated:_,contextMenu:v,renderNode:A,onClick:r,onDoubleClick:e,onContextMenu:t,onPointerOver:a,onPointerOut:l,onDragged:ee},le==null?void 0:le.id)),[x,_,v,y,g,M,k,r,t,e,ee,l,a,A]),ue=K.useMemo(()=>_?G.map(le=>Ne.jsx(iH,{id:le.id,disabled:y,animated:_,labelFontUrl:M,labelPlacement:w,arrowPlacement:E,interpolation:b,contextMenu:v,onClick:i,onContextMenu:n,onPointerOver:s,onPointerOut:o},le.id)):Ne.jsx(cH,{edges:G,disabled:y,animated:_,labelFontUrl:M,labelPlacement:w,arrowPlacement:E,interpolation:b,contextMenu:v,onClick:i,onContextMenu:n,onPointerOver:s,onPointerOut:o}),[_,v,y,E,b,w,G,M,i,n,o,s]),ce=K.useMemo(()=>B.map(le=>Ne.jsx(hH,{animated:_,disabled:y,draggable:g,labelFontUrl:M,onClick:c,onPointerOver:p,onPointerOut:m,onDragged:h,onRender:P,...le},le.label)),[_,B,y,g,M,c,m,p,h,P]);return Z&&Ne.jsxs(K.Fragment,{children:[ue,ie,ce]})}),dH={canvas:{background:"#1E2026"},node:{fill:"#7A8C9E",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.2,label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"},subLabel:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC"}},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},ring:{fill:"#54616D",activeFill:"#1DE9AC"},edge:{fill:"#474B56",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#1E2026",color:"#ACBAC7",activeColor:"#1DE9AC",fontSize:6}},arrow:{fill:"#474B56",activeFill:"#1DE9AC"},cluster:{stroke:"#474B56",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#1E2026",color:"#ACBAC7"}}},pH={canvas:{background:"#fff"},node:{fill:"#7CA0AB",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.2,label:{color:"#2A6475",stroke:"#fff",activeColor:"#1DE9AC"},subLabel:{color:"#ddd",stroke:"transparent",activeColor:"#1DE9AC"}},lasso:{border:"1px solid #55aaff",background:"rgba(75, 160, 255, 0.1)"},ring:{fill:"#D8E6EA",activeFill:"#1DE9AC"},edge:{fill:"#D8E6EA",activeFill:"#1DE9AC",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#fff",color:"#2A6475",activeColor:"#1DE9AC",fontSize:6}},arrow:{fill:"#D8E6EA",activeFill:"#1DE9AC"},cluster:{stroke:"#D8E6EA",opacity:1,selectedOpacity:1,inactiveOpacity:.1,label:{stroke:"#fff",color:"#2A6475"}}};function md(r,e,t){const{offsetX:n,offsetY:i}=r,{width:s,height:o}=t;e.set(n/s*2-1,-(i/o)*2+1)}function mH(r){const e=document.createElement("div");return e.style.pointerEvents="none",e.style.border=r.lasso.border,e.style.backgroundColor=r.lasso.background,e.style.position="fixed",e}const gH=({children:r,type:e="none",onLasso:t,onLassoEnd:n,disabled:i})=>{var s;const o=qe(I=>I.theme),a=Bn(I=>I.camera),l=Bn(I=>I.gl),c=Bn(I=>I.setEvents),u=Bn(I=>I.size),h=Bn(I=>I.get),p=Bn(I=>I.scene),m=zp(),v=qe(I=>I.actives),_=qe(I=>I.setActives),y=qe(I=>I.edges),g=qe(I=>I.edgeMeshes),x=K.useRef(!1),w=K.useRef(null),E=K.useRef(null),b=K.useRef(mH(o)),M=K.useRef(null),A=K.useRef(!1),P=K.useRef(h().events.enabled),C=K.useRef((s=m.controls)==null?void 0:s.enabled);K.useEffect(()=>{x.current&&(t==null||t(v)),x.current=!0},[v,t]);const L=K.useCallback(I=>{if(A.current){const[X,q,W]=M.current;W.x=Math.max(X.x,I.clientX),W.y=Math.max(X.y,I.clientY),q.x=Math.min(X.x,I.clientX),q.y=Math.min(X.y,I.clientY),b.current.style.left=`${q.x}px`,b.current.style.top=`${q.y}px`,b.current.style.width=`${W.x-q.x}px`,b.current.style.height=`${W.y-q.y}px`,md(I,w.current.endPoint,u),md(I,E.current.endPoint,u);const O=[],k=E.current.select().sort(B=>B.uuid).map(B=>y[g.indexOf(B)].id);O.push(...k);const G=w.current.select().sort(B=>B.uuid).filter(B=>{var D,V;return B.isMesh&&((D=B.userData)==null?void 0:D.id)&&(((V=B.userData)==null?void 0:V.type)===e||e==="all")}).map(B=>B.userData.id);O.push(...G),requestAnimationFrame(()=>{_(O)}),document.addEventListener("pointermove",L,{passive:!0,capture:!0,once:!0})}},[y,g,_,u,e]),F=K.useCallback(()=>{var I;A.current&&(c({enabled:P.current}),A.current=!1,(I=b.current.parentElement)==null||I.removeChild(b.current),m.controls.enabled=C.current,n==null||n(v),document.removeEventListener("pointermove",L),document.removeEventListener("pointerup",F))},[c,m.controls,n,v,L]),N=K.useCallback(I=>{var X,q;if(I.shiftKey){P.current=h().events.enabled,C.current=(X=m.controls)==null?void 0:X.enabled,w.current=new wE(a,p);const W=new ku;g.length&&W.add(...g),E.current=new wE(a,W),M.current=[new De,new De,new De];const[O]=M.current;m.controls.enabled=!1,c({enabled:!1}),A.current=!0,(q=l.domElement.parentElement)==null||q.appendChild(b.current),b.current.style.left=`${I.clientX}px`,b.current.style.top=`${I.clientY}px`,b.current.style.width="0px",b.current.style.height="0px",O.x=I.clientX,O.y=I.clientY,md(I,w.current.startPoint,u),md(I,E.current.startPoint,u),document.addEventListener("pointermove",L,{passive:!0,capture:!0,once:!0}),document.addEventListener("pointerup",F,{passive:!0})}},[a,m.controls,g,h,l.domElement.parentElement,L,F,p,c,u]);return K.useEffect(()=>{if(!(i||e==="none"))return typeof window<"u"&&(document.addEventListener("pointerdown",N,{passive:!0}),document.addEventListener("pointermove",L,{passive:!0}),document.addEventListener("pointerup",F,{passive:!0})),()=>{typeof window<"u"&&(document.removeEventListener("pointerdown",N),document.removeEventListener("pointermove",L),document.removeEventListener("pointerup",F))}},[e,i,N,L,F]),Ne.jsx("group",{children:r})},vH="_canvas_670zp_1",yH={canvas:vH},_H={alpha:!0,antialias:!0},xH={position:[0,0,1e3],near:5,far:5e4,fov:10},wH=K.forwardRef(({cameraMode:r="pan",layoutType:e="forceDirected2d",sizingType:t="default",labelType:n="auto",theme:i=pH,animated:s=!0,defaultNodeSize:o=7,minNodeSize:a=5,maxNodeSize:l=15,lassoType:c="none",glOptions:u={},edges:h,children:p,nodes:m,minDistance:v,maxDistance:_,onCanvasClick:y,disabled:g,onLasso:x,onLassoEnd:w,...E},b)=>{var M,A;const P=K.useRef(null),C=K.useRef(null),L=K.useRef(null);K.useImperativeHandle(b,()=>({centerGraph:(W,O)=>{var k;return(k=P.current)==null?void 0:k.centerGraph(W,O)},fitNodesInView:(W,O)=>{var k;return(k=P.current)==null?void 0:k.fitNodesInView(W,O)},zoomIn:()=>{var W;return(W=C.current)==null?void 0:W.zoomIn()},zoomOut:()=>{var W;return(W=C.current)==null?void 0:W.zoomOut()},dollyIn:W=>{var O;return(O=C.current)==null?void 0:O.dollyIn(W)},dollyOut:W=>{var O;return(O=C.current)==null?void 0:O.dollyOut(W)},panLeft:()=>{var W;return(W=C.current)==null?void 0:W.panLeft()},panRight:()=>{var W;return(W=C.current)==null?void 0:W.panRight()},panDown:()=>{var W;return(W=C.current)==null?void 0:W.panDown()},panUp:()=>{var W;return(W=C.current)==null?void 0:W.panUp()},resetControls:W=>{var O;return(O=C.current)==null?void 0:O.resetControls(W)},getControls:()=>{var W;return(W=C.current)==null?void 0:W.controls},getGraph:()=>{var W;return(W=P.current)==null?void 0:W.graph},exportCanvas:()=>(P.current.renderScene(),L.current.toDataURL()),freeze:()=>{var W;return(W=C.current)==null?void 0:W.freeze()},unFreeze:()=>{var W;return(W=C.current)==null?void 0:W.unFreeze()}}));const{selections:F,actives:N,collapsedNodeIds:I}=E,X=h.length+m.length>400?!1:s,q=K.useMemo(()=>({...u,..._H}),[u]);return Ne.jsx("div",{className:yH.canvas,children:Ne.jsx(NO,{legacy:!0,linear:!0,ref:L,flat:!0,gl:q,camera:xH,onPointerMissed:y,children:Ne.jsxs(V5,{createStore:()=>W5({selections:F,actives:N,theme:i,collapsedNodeIds:I}),children:[((M=i.canvas)==null?void 0:M.background)&&Ne.jsx("color",{attach:"background",args:[i.canvas.background]}),Ne.jsx("ambientLight",{intensity:1}),p,((A=i.canvas)==null?void 0:A.fog)&&Ne.jsx("fog",{attach:"fog",args:[i.canvas.fog,4e3,9e3]}),Ne.jsx(Z5,{mode:r,ref:C,disabled:g,minDistance:v,maxDistance:_,animated:s,children:Ne.jsx(gH,{disabled:g,type:c,onLasso:x,onLassoEnd:w,children:Ne.jsx(K.Suspense,{children:Ne.jsx(fH,{ref:P,disabled:g,animated:X,edges:h,nodes:m,layoutType:e,sizingType:t,labelType:n,defaultNodeSize:o,minNodeSize:a,maxNodeSize:l,...E})})})})]})})})}),gd={identity:"#22d3ee",knowledge:"#6366f1",rules:"#a78bfa",events:"#fbbf24"},SH={identity:"Identität",knowledge:"Wissen",rules:"Regeln",events:"Ereignisse"},P0=new Set(["auto","agent","hermes"]);function PH({data:r,onDelete:e}){const[t,n]=K.useState(null),i=K.useMemo(()=>{const c={};return r.edges.forEach(u=>{c[u.source]=(c[u.source]||0)+1,c[u.target]=(c[u.target]||0)+1}),c},[r]),s=K.useMemo(()=>r.nodes.map(c=>({id:c.id,label:c.content.length>26?c.content.slice(0,25)+"…":c.content,fill:gd[c.category]||"#64748b",size:6+Math.min(i[c.id]||0,6)*2})),[r,i]),o=K.useMemo(()=>r.edges.map(c=>({id:`${c.source}->${c.target}`,source:c.source,target:c.target,size:.4+c.weight})),[r]),a=t?r.nodes.find(c=>c.id===t)??null:null,l=K.useMemo(()=>{if(!t)return[];const c=new Set;return r.edges.forEach(u=>{u.source===t&&c.add(u.target),u.target===t&&c.add(u.source)}),r.nodes.filter(u=>c.has(u.id))},[t,r]);return r.nodes.length?Ne.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_280px] gap-3",children:[Ne.jsx("div",{className:"relative h-[480px] rounded-2xl border border-border/60 bg-[#070a0f] overflow-hidden",children:Ne.jsx(wH,{nodes:s,edges:o,theme:dH,layoutType:"forceDirected2d",labelType:"nodes",edgeArrowPosition:"none",draggable:!0,onNodeClick:c=>n(c.id),onCanvasClick:()=>n(null)})}),Ne.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 min-h-[480px]",children:a?Ne.jsxs(Ne.Fragment,{children:[Ne.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[Ne.jsx("span",{className:"w-3 h-3 rounded-full",style:{background:gd[a.category],boxShadow:`0 0 0 2px ${P0.has(a.source)?"#34d399":"#475569"}`}}),Ne.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",style:{color:gd[a.category]},children:SH[a.category]||a.category}),Ne.jsxs("span",{className:`ml-auto text-[10px] font-mono flex items-center gap-1 ${P0.has(a.source)?"text-emerald-400":"text-muted-foreground/70"}`,children:[P0.has(a.source)&&Ne.jsx(K2,{className:"h-2.5 w-2.5"}),a.source]})]}),Ne.jsx("div",{className:"text-sm text-foreground leading-relaxed mb-4 break-words",children:a.content}),Ne.jsxs("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/70 mb-2 flex items-center gap-1",children:[Ne.jsx(Vx,{className:"h-3 w-3"})," verwandte Fakten"]}),Ne.jsx("div",{className:"flex flex-col gap-1.5 mb-4",children:l.length?l.map(c=>Ne.jsxs("button",{onClick:()=>n(c.id),className:"flex items-center gap-2 text-[11px] text-muted-foreground hover:text-foreground text-left transition-colors",children:[Ne.jsx("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{background:gd[c.category]}}),Ne.jsx("span",{className:"truncate",children:c.content})]},c.id)):Ne.jsx("span",{className:"text-[11px] text-muted-foreground/60",children:"—"})}),Ne.jsxs("button",{onClick:()=>{e(a.id),n(null)},className:"flex items-center gap-1.5 text-[11px] text-red-400 border border-red-500/20 rounded-lg px-2.5 py-1.5 hover:bg-red-500/5 transition-all",children:[Ne.jsx($2,{className:"h-3.5 w-3.5"})," vergessen"]})]}):Ne.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center text-muted-foreground/70 gap-2 pt-24",children:[Ne.jsx(Vx,{className:"h-6 w-6"}),Ne.jsx("div",{className:"text-xs max-w-[180px] leading-relaxed",children:"Einen Knoten wählen, um den Fakt und seine semantischen Nachbarn zu sehen."})]})})]}):Ne.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Noch keine Fakten — der Graph füllt sich, sobald Hermes lernt oder du Einträge anlegst."})}export{PH as GraphView}; diff --git a/frontend/dist/assets/index-BVXzL-Al.js b/frontend/dist/assets/index-BbiMdr0-.js similarity index 83% rename from frontend/dist/assets/index-BVXzL-Al.js rename to frontend/dist/assets/index-BbiMdr0-.js index 53ab776..b27c611 100644 --- a/frontend/dist/assets/index-BVXzL-Al.js +++ b/frontend/dist/assets/index-BbiMdr0-.js @@ -34,10 +34,10 @@ var rM=Object.defineProperty;var _1=e=>{throw TypeError(e)};var nM=(e,t,r)=>t in `+D+i}var ee=!1;function ie(i,s){if(!i||ee)return"";ee=!0;var d=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(s)if(s=function(){throw Error()},Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(s,[])}catch(q){var m=q}Reflect.construct(i,[],s)}else{try{s.call()}catch(q){m=q}i.call(s.prototype)}else{try{throw Error()}catch(q){m=q}i()}}catch(q){if(q&&m&&typeof q.stack=="string"){for(var y=q.stack.split(` `),w=m.stack.split(` `),E=y.length-1,M=w.length-1;1<=E&&0<=M&&y[E]!==w[M];)M--;for(;1<=E&&0<=M;E--,M--)if(y[E]!==w[M]){if(E!==1||M!==1)do if(E--,M--,0>M||y[E]!==w[M]){var R=` -`+y[E].replace(" at new "," at ");return i.displayName&&R.includes("")&&(R=R.replace("",i.displayName)),R}while(1<=E&&0<=M);break}}}finally{ee=!1,Error.prepareStackTrace=d}return(i=i?i.displayName||i.name:"")?T(i):""}function re(i){switch(i.tag){case 5:return T(i.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return i=ie(i.type,!1),i;case 11:return i=ie(i.type.render,!1),i;case 1:return i=ie(i.type,!0),i;default:return""}}function ce(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case I:return"Fragment";case A:return"Portal";case B:return"Profiler";case U:return"StrictMode";case ue:return"Suspense";case J:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case X:return(i.displayName||"Context")+".Consumer";case K:return(i._context.displayName||"Context")+".Provider";case $:var s=i.render;return i=i.displayName,i||(i=s.displayName||s.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case ge:return s=i.displayName||null,s!==null?s:ce(i.type)||"Memo";case we:s=i._payload,i=i._init;try{return ce(i(s))}catch{}}return null}function me(i){var s=i.type;switch(i.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return i=s.render,i=i.displayName||i.name||"",s.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(s);case 8:return s===U?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Oe(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function te(i){var s=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function ke(i){var s=te(i)?"checked":"value",d=Object.getOwnPropertyDescriptor(i.constructor.prototype,s),m=""+i[s];if(!i.hasOwnProperty(s)&&typeof d<"u"&&typeof d.get=="function"&&typeof d.set=="function"){var y=d.get,w=d.set;return Object.defineProperty(i,s,{configurable:!0,get:function(){return y.call(this)},set:function(E){m=""+E,w.call(this,E)}}),Object.defineProperty(i,s,{enumerable:d.enumerable}),{getValue:function(){return m},setValue:function(E){m=""+E},stopTracking:function(){i._valueTracker=null,delete i[s]}}}}function _e(i){i._valueTracker||(i._valueTracker=ke(i))}function oe(i){if(!i)return!1;var s=i._valueTracker;if(!s)return!0;var d=s.getValue(),m="";return i&&(m=te(i)?i.checked?"true":"false":i.value),i=m,i!==d?(s.setValue(i),!0):!1}function Xe(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function Z(i,s){var d=s.checked;return Q({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:d??i._wrapperState.initialChecked})}function de(i,s){var d=s.defaultValue==null?"":s.defaultValue,m=s.checked!=null?s.checked:s.defaultChecked;d=Oe(s.value!=null?s.value:d),i._wrapperState={initialChecked:m,initialValue:d,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function tt(i,s){s=s.checked,s!=null&&O(i,"checked",s,!1)}function jr(i,s){tt(i,s);var d=Oe(s.value),m=s.type;if(d!=null)m==="number"?(d===0&&i.value===""||i.value!=d)&&(i.value=""+d):i.value!==""+d&&(i.value=""+d);else if(m==="submit"||m==="reset"){i.removeAttribute("value");return}s.hasOwnProperty("value")?ma(i,s.type,d):s.hasOwnProperty("defaultValue")&&ma(i,s.type,Oe(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(i.defaultChecked=!!s.defaultChecked)}function pa(i,s,d){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var m=s.type;if(!(m!=="submit"&&m!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+i._wrapperState.initialValue,d||s===i.value||(i.value=s),i.defaultValue=s}d=i.name,d!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,d!==""&&(i.name=d)}function ma(i,s,d){(s!=="number"||Xe(i.ownerDocument)!==i)&&(d==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+d&&(i.defaultValue=""+d))}var Bn=Array.isArray;function Un(i,s,d,m){if(i=i.options,s){s={};for(var y=0;y"+s.valueOf().toString()+"",s=ga.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;s.firstChild;)i.appendChild(s.firstChild)}});function ji(i,s){if(s){var d=i.firstChild;if(d&&d===i.lastChild&&d.nodeType===3){d.nodeValue=s;return}}i.textContent=s}var ki={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},dc=["Webkit","ms","Moz","O"];Object.keys(ki).forEach(function(i){dc.forEach(function(s){s=s+i.charAt(0).toUpperCase()+i.substring(1),ki[s]=ki[i]})});function al(i,s,d){return s==null||typeof s=="boolean"||s===""?"":d||typeof s!="number"||s===0||ki.hasOwnProperty(i)&&ki[i]?(""+s).trim():s+"px"}function ol(i,s){i=i.style;for(var d in s)if(s.hasOwnProperty(d)){var m=d.indexOf("--")===0,y=al(d,s[d],m);d==="float"&&(d="cssFloat"),m?i.setProperty(d,y):i[d]=y}}var F=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function he(i,s){if(s){if(F[i]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(r(137,i));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(r(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(r(61))}if(s.style!=null&&typeof s.style!="object")throw Error(r(62))}}function Pe(i,s){if(i.indexOf("-")===-1)return typeof s.is=="string";switch(i){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ze=null;function Ve(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var qt=null,Ze=null,gt=null;function va(i){if(i=Ol(i)){if(typeof qt!="function")throw Error(r(280));var s=i.stateNode;s&&(s=Dc(s),qt(i.stateNode,i.type,s))}}function sl(i){Ze?gt?gt.push(i):gt=[i]:Ze=i}function fc(){if(Ze){var i=Ze,s=gt;if(gt=Ze=null,va(i),s)for(i=0;i>>=0,i===0?32:31-(y_(i)/x_|0)|0}var vc=64,yc=4194304;function fl(i){switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function xc(i,s){var d=i.pendingLanes;if(d===0)return 0;var m=0,y=i.suspendedLanes,w=i.pingedLanes,E=d&268435455;if(E!==0){var M=E&~y;M!==0?m=fl(M):(w&=E,w!==0&&(m=fl(w)))}else E=d&~y,E!==0?m=fl(E):w!==0&&(m=fl(w));if(m===0)return 0;if(s!==0&&s!==m&&(s&y)===0&&(y=m&-m,w=s&-s,y>=w||y===16&&(w&4194240)!==0))return s;if((m&4)!==0&&(m|=d&16),s=i.entangledLanes,s!==0)for(i=i.entanglements,s&=m;0d;d++)s.push(i);return s}function hl(i,s,d){i.pendingLanes|=s,s!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,s=31-Jr(s),i[s]=d}function k_(i,s){var d=i.pendingLanes&~s;i.pendingLanes=s,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=s,i.mutableReadLanes&=s,i.entangledLanes&=s,s=i.entanglements;var m=i.eventTimes;for(i=i.expirationTimes;0=wl),Sx=" ",Nx=!1;function Ex(i,s){switch(i){case"keyup":return X_.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Px(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var No=!1;function J_(i,s){switch(i){case"compositionend":return Px(s);case"keypress":return s.which!==32?null:(Nx=!0,Sx);case"textInput":return i=s.data,i===Sx&&Nx?null:i;default:return null}}function e5(i,s){if(No)return i==="compositionend"||!mp&&Ex(i,s)?(i=yx(),Sc=up=Ci=null,No=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:d,offset:s-i};i=m}e:{for(;d;){if(d.nextSibling){d=d.nextSibling;break e}d=d.parentNode}d=void 0}d=Tx(d)}}function Rx(i,s){return i&&s?i===s?!0:i&&i.nodeType===3?!1:s&&s.nodeType===3?Rx(i,s.parentNode):"contains"in i?i.contains(s):i.compareDocumentPosition?!!(i.compareDocumentPosition(s)&16):!1:!1}function $x(){for(var i=window,s=Xe();s instanceof i.HTMLIFrameElement;){try{var d=typeof s.contentWindow.location.href=="string"}catch{d=!1}if(d)i=s.contentWindow;else break;s=Xe(i.document)}return s}function yp(i){var s=i&&i.nodeName&&i.nodeName.toLowerCase();return s&&(s==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||s==="textarea"||i.contentEditable==="true")}function u5(i){var s=$x(),d=i.focusedElem,m=i.selectionRange;if(s!==d&&d&&d.ownerDocument&&Rx(d.ownerDocument.documentElement,d)){if(m!==null&&yp(d)){if(s=m.start,i=m.end,i===void 0&&(i=s),"selectionStart"in d)d.selectionStart=s,d.selectionEnd=Math.min(i,d.value.length);else if(i=(s=d.ownerDocument||document)&&s.defaultView||window,i.getSelection){i=i.getSelection();var y=d.textContent.length,w=Math.min(m.start,y);m=m.end===void 0?w:Math.min(m.end,y),!i.extend&&w>m&&(y=m,m=w,w=y),y=Dx(d,w);var E=Dx(d,m);y&&E&&(i.rangeCount!==1||i.anchorNode!==y.node||i.anchorOffset!==y.offset||i.focusNode!==E.node||i.focusOffset!==E.offset)&&(s=s.createRange(),s.setStart(y.node,y.offset),i.removeAllRanges(),w>m?(i.addRange(s),i.extend(E.node,E.offset)):(s.setEnd(E.node,E.offset),i.addRange(s)))}}for(s=[],i=d;i=i.parentNode;)i.nodeType===1&&s.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;d=document.documentMode,Eo=null,xp=null,Nl=null,bp=!1;function Lx(i,s,d){var m=d.window===d?d.document:d.nodeType===9?d:d.ownerDocument;bp||Eo==null||Eo!==Xe(m)||(m=Eo,"selectionStart"in m&&yp(m)?m={start:m.selectionStart,end:m.selectionEnd}:(m=(m.ownerDocument&&m.ownerDocument.defaultView||window).getSelection(),m={anchorNode:m.anchorNode,anchorOffset:m.anchorOffset,focusNode:m.focusNode,focusOffset:m.focusOffset}),Nl&&Sl(Nl,m)||(Nl=m,m=Mc(xp,"onSelect"),0_o||(i.current=Mp[_o],Mp[_o]=null,_o--)}function Je(i,s){_o++,Mp[_o]=i.current,i.current=s}var Mi={},Qt=_i(Mi),dr=_i(!1),ba=Mi;function Mo(i,s){var d=i.type.contextTypes;if(!d)return Mi;var m=i.stateNode;if(m&&m.__reactInternalMemoizedUnmaskedChildContext===s)return m.__reactInternalMemoizedMaskedChildContext;var y={},w;for(w in d)y[w]=s[w];return m&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=s,i.__reactInternalMemoizedMaskedChildContext=y),y}function fr(i){return i=i.childContextTypes,i!=null}function Rc(){nt(dr),nt(Qt)}function Jx(i,s,d){if(Qt.current!==Mi)throw Error(r(168));Je(Qt,s),Je(dr,d)}function eb(i,s,d){var m=i.stateNode;if(s=s.childContextTypes,typeof m.getChildContext!="function")return d;m=m.getChildContext();for(var y in m)if(!(y in s))throw Error(r(108,me(i)||"Unknown",y));return Q({},d,m)}function $c(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||Mi,ba=Qt.current,Je(Qt,i),Je(dr,dr.current),!0}function tb(i,s,d){var m=i.stateNode;if(!m)throw Error(r(169));d?(i=eb(i,s,ba),m.__reactInternalMemoizedMergedChildContext=i,nt(dr),nt(Qt),Je(Qt,i)):nt(dr),Je(dr,d)}var Hn=null,Lc=!1,Ip=!1;function rb(i){Hn===null?Hn=[i]:Hn.push(i)}function w5(i){Lc=!0,rb(i)}function Ii(){if(!Ip&&Hn!==null){Ip=!0;var i=0,s=Qe;try{var d=Hn;for(Qe=1;i>=E,y-=E,Kn=1<<32-Jr(s)+y|d<Re?(_t=Te,Te=null):_t=Te.sibling;var Ke=ne(W,Te,H[Re],le);if(Ke===null){Te===null&&(Te=_t);break}i&&Te&&Ke.alternate===null&&s(W,Te),z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke,Te=_t}if(Re===H.length)return d(W,Te),st&&ja(W,Re),Ee;if(Te===null){for(;ReRe?(_t=Te,Te=null):_t=Te.sibling;var Ui=ne(W,Te,Ke.value,le);if(Ui===null){Te===null&&(Te=_t);break}i&&Te&&Ui.alternate===null&&s(W,Te),z=w(Ui,z,Re),Ie===null?Ee=Ui:Ie.sibling=Ui,Ie=Ui,Te=_t}if(Ke.done)return d(W,Te),st&&ja(W,Re),Ee;if(Te===null){for(;!Ke.done;Re++,Ke=H.next())Ke=se(W,Ke.value,le),Ke!==null&&(z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke);return st&&ja(W,Re),Ee}for(Te=m(W,Te);!Ke.done;Re++,Ke=H.next())Ke=ve(Te,W,Re,Ke.value,le),Ke!==null&&(i&&Ke.alternate!==null&&Te.delete(Ke.key===null?Re:Ke.key),z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke);return i&&Te.forEach(function(tM){return s(W,tM)}),st&&ja(W,Re),Ee}function yt(W,z,H,le){if(typeof H=="object"&&H!==null&&H.type===I&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case _:e:{for(var Ee=H.key,Ie=z;Ie!==null;){if(Ie.key===Ee){if(Ee=H.type,Ee===I){if(Ie.tag===7){d(W,Ie.sibling),z=y(Ie,H.props.children),z.return=W,W=z;break e}}else if(Ie.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===we&&lb(Ee)===Ie.type){d(W,Ie.sibling),z=y(Ie,H.props),z.ref=_l(W,Ie,H),z.return=W,W=z;break e}d(W,Ie);break}else s(W,Ie);Ie=Ie.sibling}H.type===I?(z=Oa(H.props.children,W.mode,le,H.key),z.return=W,W=z):(le=fd(H.type,H.key,H.props,null,W.mode,le),le.ref=_l(W,z,H),le.return=W,W=le)}return E(W);case A:e:{for(Ie=H.key;z!==null;){if(z.key===Ie)if(z.tag===4&&z.stateNode.containerInfo===H.containerInfo&&z.stateNode.implementation===H.implementation){d(W,z.sibling),z=y(z,H.children||[]),z.return=W,W=z;break e}else{d(W,z);break}else s(W,z);z=z.sibling}z=Om(H,W.mode,le),z.return=W,W=z}return E(W);case we:return Ie=H._init,yt(W,z,Ie(H._payload),le)}if(Bn(H))return je(W,z,H,le);if(V(H))return Se(W,z,H,le);Uc(W,H)}return typeof H=="string"&&H!==""||typeof H=="number"?(H=""+H,z!==null&&z.tag===6?(d(W,z.sibling),z=y(z,H),z.return=W,W=z):(d(W,z),z=Am(H,W.mode,le),z.return=W,W=z),E(W)):d(W,z)}return yt}var Ro=ub(!0),cb=ub(!1),Wc=_i(null),Hc=null,$o=null,zp=null;function Fp(){zp=$o=Hc=null}function Bp(i){var s=Wc.current;nt(Wc),i._currentValue=s}function Up(i,s,d){for(;i!==null;){var m=i.alternate;if((i.childLanes&s)!==s?(i.childLanes|=s,m!==null&&(m.childLanes|=s)):m!==null&&(m.childLanes&s)!==s&&(m.childLanes|=s),i===d)break;i=i.return}}function Lo(i,s){Hc=i,zp=$o=null,i=i.dependencies,i!==null&&i.firstContext!==null&&((i.lanes&s)!==0&&(hr=!0),i.firstContext=null)}function Rr(i){var s=i._currentValue;if(zp!==i)if(i={context:i,memoizedValue:s,next:null},$o===null){if(Hc===null)throw Error(r(308));$o=i,Hc.dependencies={lanes:0,firstContext:i}}else $o=$o.next=i;return s}var ka=null;function Wp(i){ka===null?ka=[i]:ka.push(i)}function db(i,s,d,m){var y=s.interleaved;return y===null?(d.next=d,Wp(s)):(d.next=y.next,y.next=d),s.interleaved=d,Vn(i,m)}function Vn(i,s){i.lanes|=s;var d=i.alternate;for(d!==null&&(d.lanes|=s),d=i,i=i.return;i!==null;)i.childLanes|=s,d=i.alternate,d!==null&&(d.childLanes|=s),d=i,i=i.return;return d.tag===3?d.stateNode:null}var Ti=!1;function Hp(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fb(i,s){i=i.updateQueue,s.updateQueue===i&&(s.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function qn(i,s){return{eventTime:i,lane:s,tag:0,payload:null,callback:null,next:null}}function Di(i,s,d){var m=i.updateQueue;if(m===null)return null;if(m=m.shared,(He&2)!==0){var y=m.pending;return y===null?s.next=s:(s.next=y.next,y.next=s),m.pending=s,Vn(i,d)}return y=m.interleaved,y===null?(s.next=s,Wp(m)):(s.next=y.next,y.next=s),m.interleaved=s,Vn(i,d)}function Kc(i,s,d){if(s=s.updateQueue,s!==null&&(s=s.shared,(d&4194240)!==0)){var m=s.lanes;m&=i.pendingLanes,d|=m,s.lanes=d,ip(i,d)}}function hb(i,s){var d=i.updateQueue,m=i.alternate;if(m!==null&&(m=m.updateQueue,d===m)){var y=null,w=null;if(d=d.firstBaseUpdate,d!==null){do{var E={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};w===null?y=w=E:w=w.next=E,d=d.next}while(d!==null);w===null?y=w=s:w=w.next=s}else y=w=s;d={baseState:m.baseState,firstBaseUpdate:y,lastBaseUpdate:w,shared:m.shared,effects:m.effects},i.updateQueue=d;return}i=d.lastBaseUpdate,i===null?d.firstBaseUpdate=s:i.next=s,d.lastBaseUpdate=s}function Gc(i,s,d,m){var y=i.updateQueue;Ti=!1;var w=y.firstBaseUpdate,E=y.lastBaseUpdate,M=y.shared.pending;if(M!==null){y.shared.pending=null;var R=M,q=R.next;R.next=null,E===null?w=q:E.next=q,E=R;var ae=i.alternate;ae!==null&&(ae=ae.updateQueue,M=ae.lastBaseUpdate,M!==E&&(M===null?ae.firstBaseUpdate=q:M.next=q,ae.lastBaseUpdate=R))}if(w!==null){var se=y.baseState;E=0,ae=q=R=null,M=w;do{var ne=M.lane,ve=M.eventTime;if((m&ne)===ne){ae!==null&&(ae=ae.next={eventTime:ve,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var je=i,Se=M;switch(ne=s,ve=d,Se.tag){case 1:if(je=Se.payload,typeof je=="function"){se=je.call(ve,se,ne);break e}se=je;break e;case 3:je.flags=je.flags&-65537|128;case 0:if(je=Se.payload,ne=typeof je=="function"?je.call(ve,se,ne):je,ne==null)break e;se=Q({},se,ne);break e;case 2:Ti=!0}}M.callback!==null&&M.lane!==0&&(i.flags|=64,ne=y.effects,ne===null?y.effects=[M]:ne.push(M))}else ve={eventTime:ve,lane:ne,tag:M.tag,payload:M.payload,callback:M.callback,next:null},ae===null?(q=ae=ve,R=se):ae=ae.next=ve,E|=ne;if(M=M.next,M===null){if(M=y.shared.pending,M===null)break;ne=M,M=ne.next,ne.next=null,y.lastBaseUpdate=ne,y.shared.pending=null}}while(!0);if(ae===null&&(R=se),y.baseState=R,y.firstBaseUpdate=q,y.lastBaseUpdate=ae,s=y.shared.interleaved,s!==null){y=s;do E|=y.lane,y=y.next;while(y!==s)}else w===null&&(y.shared.lanes=0);Ea|=E,i.lanes=E,i.memoizedState=se}}function pb(i,s,d){if(i=s.effects,s.effects=null,i!==null)for(s=0;sd?d:4,i(!0);var m=Qp.transition;Qp.transition={};try{i(!1),s()}finally{Qe=d,Qp.transition=m}}function Ib(){return $r().memoizedState}function N5(i,s,d){var m=zi(i);if(d={lane:m,action:d,hasEagerState:!1,eagerState:null,next:null},Tb(i))Db(s,d);else if(d=db(i,s,d,m),d!==null){var y=ir();on(d,i,m,y),Rb(d,s,m)}}function E5(i,s,d){var m=zi(i),y={lane:m,action:d,hasEagerState:!1,eagerState:null,next:null};if(Tb(i))Db(s,y);else{var w=i.alternate;if(i.lanes===0&&(w===null||w.lanes===0)&&(w=s.lastRenderedReducer,w!==null))try{var E=s.lastRenderedState,M=w(E,d);if(y.hasEagerState=!0,y.eagerState=M,en(M,E)){var R=s.interleaved;R===null?(y.next=y,Wp(s)):(y.next=R.next,R.next=y),s.interleaved=y;return}}catch{}finally{}d=db(i,s,y,m),d!==null&&(y=ir(),on(d,i,m,y),Rb(d,s,m))}}function Tb(i){var s=i.alternate;return i===dt||s!==null&&s===dt}function Db(i,s){Dl=Qc=!0;var d=i.pending;d===null?s.next=s:(s.next=d.next,d.next=s),i.pending=s}function Rb(i,s,d){if((d&4194240)!==0){var m=s.lanes;m&=i.pendingLanes,d|=m,s.lanes=d,ip(i,d)}}var Zc={readContext:Rr,useCallback:Yt,useContext:Yt,useEffect:Yt,useImperativeHandle:Yt,useInsertionEffect:Yt,useLayoutEffect:Yt,useMemo:Yt,useReducer:Yt,useRef:Yt,useState:Yt,useDebugValue:Yt,useDeferredValue:Yt,useTransition:Yt,useMutableSource:Yt,useSyncExternalStore:Yt,useId:Yt,unstable_isNewReconciler:!1},P5={readContext:Rr,useCallback:function(i,s){return xn().memoizedState=[i,s===void 0?null:s],i},useContext:Rr,useEffect:Nb,useImperativeHandle:function(i,s,d){return d=d!=null?d.concat([i]):null,Yc(4194308,4,Cb.bind(null,s,i),d)},useLayoutEffect:function(i,s){return Yc(4194308,4,i,s)},useInsertionEffect:function(i,s){return Yc(4,2,i,s)},useMemo:function(i,s){var d=xn();return s=s===void 0?null:s,i=i(),d.memoizedState=[i,s],i},useReducer:function(i,s,d){var m=xn();return s=d!==void 0?d(s):s,m.memoizedState=m.baseState=s,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:s},m.queue=i,i=i.dispatch=N5.bind(null,dt,i),[m.memoizedState,i]},useRef:function(i){var s=xn();return i={current:i},s.memoizedState=i},useState:kb,useDebugValue:rm,useDeferredValue:function(i){return xn().memoizedState=i},useTransition:function(){var i=kb(!1),s=i[0];return i=S5.bind(null,i[1]),xn().memoizedState=i,[s,i]},useMutableSource:function(){},useSyncExternalStore:function(i,s,d){var m=dt,y=xn();if(st){if(d===void 0)throw Error(r(407));d=d()}else{if(d=s(),Ot===null)throw Error(r(349));(Na&30)!==0||yb(m,s,d)}y.memoizedState=d;var w={value:d,getSnapshot:s};return y.queue=w,Nb(bb.bind(null,m,w,i),[i]),m.flags|=2048,Ll(9,xb.bind(null,m,w,d,s),void 0,null),d},useId:function(){var i=xn(),s=Ot.identifierPrefix;if(st){var d=Gn,m=Kn;d=(m&~(1<<32-Jr(m)-1)).toString(32)+d,s=":"+s+"R"+d,d=Rl++,0")&&(R=R.replace("",i.displayName)),R}while(1<=E&&0<=M);break}}}finally{ee=!1,Error.prepareStackTrace=d}return(i=i?i.displayName||i.name:"")?T(i):""}function re(i){switch(i.tag){case 5:return T(i.type);case 16:return T("Lazy");case 13:return T("Suspense");case 19:return T("SuspenseList");case 0:case 2:case 15:return i=ie(i.type,!1),i;case 11:return i=ie(i.type.render,!1),i;case 1:return i=ie(i.type,!0),i;default:return""}}function ce(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case I:return"Fragment";case A:return"Portal";case B:return"Profiler";case U:return"StrictMode";case ue:return"Suspense";case J:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case X:return(i.displayName||"Context")+".Consumer";case K:return(i._context.displayName||"Context")+".Provider";case $:var s=i.render;return i=i.displayName,i||(i=s.displayName||s.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case ge:return s=i.displayName||null,s!==null?s:ce(i.type)||"Memo";case we:s=i._payload,i=i._init;try{return ce(i(s))}catch{}}return null}function me(i){var s=i.type;switch(i.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return i=s.render,i=i.displayName||i.name||"",s.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(s);case 8:return s===U?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Oe(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function te(i){var s=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function ke(i){var s=te(i)?"checked":"value",d=Object.getOwnPropertyDescriptor(i.constructor.prototype,s),m=""+i[s];if(!i.hasOwnProperty(s)&&typeof d<"u"&&typeof d.get=="function"&&typeof d.set=="function"){var y=d.get,w=d.set;return Object.defineProperty(i,s,{configurable:!0,get:function(){return y.call(this)},set:function(E){m=""+E,w.call(this,E)}}),Object.defineProperty(i,s,{enumerable:d.enumerable}),{getValue:function(){return m},setValue:function(E){m=""+E},stopTracking:function(){i._valueTracker=null,delete i[s]}}}}function _e(i){i._valueTracker||(i._valueTracker=ke(i))}function oe(i){if(!i)return!1;var s=i._valueTracker;if(!s)return!0;var d=s.getValue(),m="";return i&&(m=te(i)?i.checked?"true":"false":i.value),i=m,i!==d?(s.setValue(i),!0):!1}function Xe(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function Z(i,s){var d=s.checked;return Q({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:d??i._wrapperState.initialChecked})}function de(i,s){var d=s.defaultValue==null?"":s.defaultValue,m=s.checked!=null?s.checked:s.defaultChecked;d=Oe(s.value!=null?s.value:d),i._wrapperState={initialChecked:m,initialValue:d,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function tt(i,s){s=s.checked,s!=null&&O(i,"checked",s,!1)}function jr(i,s){tt(i,s);var d=Oe(s.value),m=s.type;if(d!=null)m==="number"?(d===0&&i.value===""||i.value!=d)&&(i.value=""+d):i.value!==""+d&&(i.value=""+d);else if(m==="submit"||m==="reset"){i.removeAttribute("value");return}s.hasOwnProperty("value")?ma(i,s.type,d):s.hasOwnProperty("defaultValue")&&ma(i,s.type,Oe(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(i.defaultChecked=!!s.defaultChecked)}function pa(i,s,d){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var m=s.type;if(!(m!=="submit"&&m!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+i._wrapperState.initialValue,d||s===i.value||(i.value=s),i.defaultValue=s}d=i.name,d!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,d!==""&&(i.name=d)}function ma(i,s,d){(s!=="number"||Xe(i.ownerDocument)!==i)&&(d==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+d&&(i.defaultValue=""+d))}var Bn=Array.isArray;function Un(i,s,d,m){if(i=i.options,s){s={};for(var y=0;y"+s.valueOf().toString()+"",s=ga.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;s.firstChild;)i.appendChild(s.firstChild)}});function ji(i,s){if(s){var d=i.firstChild;if(d&&d===i.lastChild&&d.nodeType===3){d.nodeValue=s;return}}i.textContent=s}var ki={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},dc=["Webkit","ms","Moz","O"];Object.keys(ki).forEach(function(i){dc.forEach(function(s){s=s+i.charAt(0).toUpperCase()+i.substring(1),ki[s]=ki[i]})});function al(i,s,d){return s==null||typeof s=="boolean"||s===""?"":d||typeof s!="number"||s===0||ki.hasOwnProperty(i)&&ki[i]?(""+s).trim():s+"px"}function ol(i,s){i=i.style;for(var d in s)if(s.hasOwnProperty(d)){var m=d.indexOf("--")===0,y=al(d,s[d],m);d==="float"&&(d="cssFloat"),m?i.setProperty(d,y):i[d]=y}}var F=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function he(i,s){if(s){if(F[i]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(r(137,i));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(r(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(r(61))}if(s.style!=null&&typeof s.style!="object")throw Error(r(62))}}function Pe(i,s){if(i.indexOf("-")===-1)return typeof s.is=="string";switch(i){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ze=null;function Ve(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var qt=null,Ze=null,gt=null;function va(i){if(i=Ol(i)){if(typeof qt!="function")throw Error(r(280));var s=i.stateNode;s&&(s=Dc(s),qt(i.stateNode,i.type,s))}}function sl(i){Ze?gt?gt.push(i):gt=[i]:Ze=i}function fc(){if(Ze){var i=Ze,s=gt;if(gt=Ze=null,va(i),s)for(i=0;i>>=0,i===0?32:31-(y_(i)/x_|0)|0}var vc=64,yc=4194304;function fl(i){switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function xc(i,s){var d=i.pendingLanes;if(d===0)return 0;var m=0,y=i.suspendedLanes,w=i.pingedLanes,E=d&268435455;if(E!==0){var M=E&~y;M!==0?m=fl(M):(w&=E,w!==0&&(m=fl(w)))}else E=d&~y,E!==0?m=fl(E):w!==0&&(m=fl(w));if(m===0)return 0;if(s!==0&&s!==m&&(s&y)===0&&(y=m&-m,w=s&-s,y>=w||y===16&&(w&4194240)!==0))return s;if((m&4)!==0&&(m|=d&16),s=i.entangledLanes,s!==0)for(i=i.entanglements,s&=m;0d;d++)s.push(i);return s}function hl(i,s,d){i.pendingLanes|=s,s!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,s=31-Jr(s),i[s]=d}function k_(i,s){var d=i.pendingLanes&~s;i.pendingLanes=s,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=s,i.mutableReadLanes&=s,i.entangledLanes&=s,s=i.entanglements;var m=i.eventTimes;for(i=i.expirationTimes;0=wl),S0=" ",N0=!1;function E0(i,s){switch(i){case"keyup":return X_.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function P0(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var No=!1;function J_(i,s){switch(i){case"compositionend":return P0(s);case"keypress":return s.which!==32?null:(N0=!0,S0);case"textInput":return i=s.data,i===S0&&N0?null:i;default:return null}}function e5(i,s){if(No)return i==="compositionend"||!mp&&E0(i,s)?(i=y0(),Sc=up=Ci=null,No=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:d,offset:s-i};i=m}e:{for(;d;){if(d.nextSibling){d=d.nextSibling;break e}d=d.parentNode}d=void 0}d=T0(d)}}function R0(i,s){return i&&s?i===s?!0:i&&i.nodeType===3?!1:s&&s.nodeType===3?R0(i,s.parentNode):"contains"in i?i.contains(s):i.compareDocumentPosition?!!(i.compareDocumentPosition(s)&16):!1:!1}function $0(){for(var i=window,s=Xe();s instanceof i.HTMLIFrameElement;){try{var d=typeof s.contentWindow.location.href=="string"}catch{d=!1}if(d)i=s.contentWindow;else break;s=Xe(i.document)}return s}function yp(i){var s=i&&i.nodeName&&i.nodeName.toLowerCase();return s&&(s==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||s==="textarea"||i.contentEditable==="true")}function u5(i){var s=$0(),d=i.focusedElem,m=i.selectionRange;if(s!==d&&d&&d.ownerDocument&&R0(d.ownerDocument.documentElement,d)){if(m!==null&&yp(d)){if(s=m.start,i=m.end,i===void 0&&(i=s),"selectionStart"in d)d.selectionStart=s,d.selectionEnd=Math.min(i,d.value.length);else if(i=(s=d.ownerDocument||document)&&s.defaultView||window,i.getSelection){i=i.getSelection();var y=d.textContent.length,w=Math.min(m.start,y);m=m.end===void 0?w:Math.min(m.end,y),!i.extend&&w>m&&(y=m,m=w,w=y),y=D0(d,w);var E=D0(d,m);y&&E&&(i.rangeCount!==1||i.anchorNode!==y.node||i.anchorOffset!==y.offset||i.focusNode!==E.node||i.focusOffset!==E.offset)&&(s=s.createRange(),s.setStart(y.node,y.offset),i.removeAllRanges(),w>m?(i.addRange(s),i.extend(E.node,E.offset)):(s.setEnd(E.node,E.offset),i.addRange(s)))}}for(s=[],i=d;i=i.parentNode;)i.nodeType===1&&s.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;d=document.documentMode,Eo=null,xp=null,Nl=null,bp=!1;function L0(i,s,d){var m=d.window===d?d.document:d.nodeType===9?d:d.ownerDocument;bp||Eo==null||Eo!==Xe(m)||(m=Eo,"selectionStart"in m&&yp(m)?m={start:m.selectionStart,end:m.selectionEnd}:(m=(m.ownerDocument&&m.ownerDocument.defaultView||window).getSelection(),m={anchorNode:m.anchorNode,anchorOffset:m.anchorOffset,focusNode:m.focusNode,focusOffset:m.focusOffset}),Nl&&Sl(Nl,m)||(Nl=m,m=Mc(xp,"onSelect"),0_o||(i.current=Mp[_o],Mp[_o]=null,_o--)}function Je(i,s){_o++,Mp[_o]=i.current,i.current=s}var Mi={},Qt=_i(Mi),dr=_i(!1),ba=Mi;function Mo(i,s){var d=i.type.contextTypes;if(!d)return Mi;var m=i.stateNode;if(m&&m.__reactInternalMemoizedUnmaskedChildContext===s)return m.__reactInternalMemoizedMaskedChildContext;var y={},w;for(w in d)y[w]=s[w];return m&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=s,i.__reactInternalMemoizedMaskedChildContext=y),y}function fr(i){return i=i.childContextTypes,i!=null}function Rc(){nt(dr),nt(Qt)}function J0(i,s,d){if(Qt.current!==Mi)throw Error(r(168));Je(Qt,s),Je(dr,d)}function eb(i,s,d){var m=i.stateNode;if(s=s.childContextTypes,typeof m.getChildContext!="function")return d;m=m.getChildContext();for(var y in m)if(!(y in s))throw Error(r(108,me(i)||"Unknown",y));return Q({},d,m)}function $c(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||Mi,ba=Qt.current,Je(Qt,i),Je(dr,dr.current),!0}function tb(i,s,d){var m=i.stateNode;if(!m)throw Error(r(169));d?(i=eb(i,s,ba),m.__reactInternalMemoizedMergedChildContext=i,nt(dr),nt(Qt),Je(Qt,i)):nt(dr),Je(dr,d)}var Hn=null,Lc=!1,Ip=!1;function rb(i){Hn===null?Hn=[i]:Hn.push(i)}function w5(i){Lc=!0,rb(i)}function Ii(){if(!Ip&&Hn!==null){Ip=!0;var i=0,s=Qe;try{var d=Hn;for(Qe=1;i>=E,y-=E,Kn=1<<32-Jr(s)+y|d<Re?(_t=Te,Te=null):_t=Te.sibling;var Ke=ne(W,Te,H[Re],le);if(Ke===null){Te===null&&(Te=_t);break}i&&Te&&Ke.alternate===null&&s(W,Te),z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke,Te=_t}if(Re===H.length)return d(W,Te),st&&ja(W,Re),Ee;if(Te===null){for(;ReRe?(_t=Te,Te=null):_t=Te.sibling;var Ui=ne(W,Te,Ke.value,le);if(Ui===null){Te===null&&(Te=_t);break}i&&Te&&Ui.alternate===null&&s(W,Te),z=w(Ui,z,Re),Ie===null?Ee=Ui:Ie.sibling=Ui,Ie=Ui,Te=_t}if(Ke.done)return d(W,Te),st&&ja(W,Re),Ee;if(Te===null){for(;!Ke.done;Re++,Ke=H.next())Ke=se(W,Ke.value,le),Ke!==null&&(z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke);return st&&ja(W,Re),Ee}for(Te=m(W,Te);!Ke.done;Re++,Ke=H.next())Ke=ve(Te,W,Re,Ke.value,le),Ke!==null&&(i&&Ke.alternate!==null&&Te.delete(Ke.key===null?Re:Ke.key),z=w(Ke,z,Re),Ie===null?Ee=Ke:Ie.sibling=Ke,Ie=Ke);return i&&Te.forEach(function(tM){return s(W,tM)}),st&&ja(W,Re),Ee}function yt(W,z,H,le){if(typeof H=="object"&&H!==null&&H.type===I&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case _:e:{for(var Ee=H.key,Ie=z;Ie!==null;){if(Ie.key===Ee){if(Ee=H.type,Ee===I){if(Ie.tag===7){d(W,Ie.sibling),z=y(Ie,H.props.children),z.return=W,W=z;break e}}else if(Ie.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===we&&lb(Ee)===Ie.type){d(W,Ie.sibling),z=y(Ie,H.props),z.ref=_l(W,Ie,H),z.return=W,W=z;break e}d(W,Ie);break}else s(W,Ie);Ie=Ie.sibling}H.type===I?(z=Oa(H.props.children,W.mode,le,H.key),z.return=W,W=z):(le=fd(H.type,H.key,H.props,null,W.mode,le),le.ref=_l(W,z,H),le.return=W,W=le)}return E(W);case A:e:{for(Ie=H.key;z!==null;){if(z.key===Ie)if(z.tag===4&&z.stateNode.containerInfo===H.containerInfo&&z.stateNode.implementation===H.implementation){d(W,z.sibling),z=y(z,H.children||[]),z.return=W,W=z;break e}else{d(W,z);break}else s(W,z);z=z.sibling}z=Om(H,W.mode,le),z.return=W,W=z}return E(W);case we:return Ie=H._init,yt(W,z,Ie(H._payload),le)}if(Bn(H))return je(W,z,H,le);if(V(H))return Se(W,z,H,le);Uc(W,H)}return typeof H=="string"&&H!==""||typeof H=="number"?(H=""+H,z!==null&&z.tag===6?(d(W,z.sibling),z=y(z,H),z.return=W,W=z):(d(W,z),z=Am(H,W.mode,le),z.return=W,W=z),E(W)):d(W,z)}return yt}var Ro=ub(!0),cb=ub(!1),Wc=_i(null),Hc=null,$o=null,zp=null;function Fp(){zp=$o=Hc=null}function Bp(i){var s=Wc.current;nt(Wc),i._currentValue=s}function Up(i,s,d){for(;i!==null;){var m=i.alternate;if((i.childLanes&s)!==s?(i.childLanes|=s,m!==null&&(m.childLanes|=s)):m!==null&&(m.childLanes&s)!==s&&(m.childLanes|=s),i===d)break;i=i.return}}function Lo(i,s){Hc=i,zp=$o=null,i=i.dependencies,i!==null&&i.firstContext!==null&&((i.lanes&s)!==0&&(hr=!0),i.firstContext=null)}function Rr(i){var s=i._currentValue;if(zp!==i)if(i={context:i,memoizedValue:s,next:null},$o===null){if(Hc===null)throw Error(r(308));$o=i,Hc.dependencies={lanes:0,firstContext:i}}else $o=$o.next=i;return s}var ka=null;function Wp(i){ka===null?ka=[i]:ka.push(i)}function db(i,s,d,m){var y=s.interleaved;return y===null?(d.next=d,Wp(s)):(d.next=y.next,y.next=d),s.interleaved=d,Vn(i,m)}function Vn(i,s){i.lanes|=s;var d=i.alternate;for(d!==null&&(d.lanes|=s),d=i,i=i.return;i!==null;)i.childLanes|=s,d=i.alternate,d!==null&&(d.childLanes|=s),d=i,i=i.return;return d.tag===3?d.stateNode:null}var Ti=!1;function Hp(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fb(i,s){i=i.updateQueue,s.updateQueue===i&&(s.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function qn(i,s){return{eventTime:i,lane:s,tag:0,payload:null,callback:null,next:null}}function Di(i,s,d){var m=i.updateQueue;if(m===null)return null;if(m=m.shared,(He&2)!==0){var y=m.pending;return y===null?s.next=s:(s.next=y.next,y.next=s),m.pending=s,Vn(i,d)}return y=m.interleaved,y===null?(s.next=s,Wp(m)):(s.next=y.next,y.next=s),m.interleaved=s,Vn(i,d)}function Kc(i,s,d){if(s=s.updateQueue,s!==null&&(s=s.shared,(d&4194240)!==0)){var m=s.lanes;m&=i.pendingLanes,d|=m,s.lanes=d,ip(i,d)}}function hb(i,s){var d=i.updateQueue,m=i.alternate;if(m!==null&&(m=m.updateQueue,d===m)){var y=null,w=null;if(d=d.firstBaseUpdate,d!==null){do{var E={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};w===null?y=w=E:w=w.next=E,d=d.next}while(d!==null);w===null?y=w=s:w=w.next=s}else y=w=s;d={baseState:m.baseState,firstBaseUpdate:y,lastBaseUpdate:w,shared:m.shared,effects:m.effects},i.updateQueue=d;return}i=d.lastBaseUpdate,i===null?d.firstBaseUpdate=s:i.next=s,d.lastBaseUpdate=s}function Gc(i,s,d,m){var y=i.updateQueue;Ti=!1;var w=y.firstBaseUpdate,E=y.lastBaseUpdate,M=y.shared.pending;if(M!==null){y.shared.pending=null;var R=M,q=R.next;R.next=null,E===null?w=q:E.next=q,E=R;var ae=i.alternate;ae!==null&&(ae=ae.updateQueue,M=ae.lastBaseUpdate,M!==E&&(M===null?ae.firstBaseUpdate=q:M.next=q,ae.lastBaseUpdate=R))}if(w!==null){var se=y.baseState;E=0,ae=q=R=null,M=w;do{var ne=M.lane,ve=M.eventTime;if((m&ne)===ne){ae!==null&&(ae=ae.next={eventTime:ve,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var je=i,Se=M;switch(ne=s,ve=d,Se.tag){case 1:if(je=Se.payload,typeof je=="function"){se=je.call(ve,se,ne);break e}se=je;break e;case 3:je.flags=je.flags&-65537|128;case 0:if(je=Se.payload,ne=typeof je=="function"?je.call(ve,se,ne):je,ne==null)break e;se=Q({},se,ne);break e;case 2:Ti=!0}}M.callback!==null&&M.lane!==0&&(i.flags|=64,ne=y.effects,ne===null?y.effects=[M]:ne.push(M))}else ve={eventTime:ve,lane:ne,tag:M.tag,payload:M.payload,callback:M.callback,next:null},ae===null?(q=ae=ve,R=se):ae=ae.next=ve,E|=ne;if(M=M.next,M===null){if(M=y.shared.pending,M===null)break;ne=M,M=ne.next,ne.next=null,y.lastBaseUpdate=ne,y.shared.pending=null}}while(!0);if(ae===null&&(R=se),y.baseState=R,y.firstBaseUpdate=q,y.lastBaseUpdate=ae,s=y.shared.interleaved,s!==null){y=s;do E|=y.lane,y=y.next;while(y!==s)}else w===null&&(y.shared.lanes=0);Ea|=E,i.lanes=E,i.memoizedState=se}}function pb(i,s,d){if(i=s.effects,s.effects=null,i!==null)for(s=0;sd?d:4,i(!0);var m=Qp.transition;Qp.transition={};try{i(!1),s()}finally{Qe=d,Qp.transition=m}}function Ib(){return $r().memoizedState}function N5(i,s,d){var m=zi(i);if(d={lane:m,action:d,hasEagerState:!1,eagerState:null,next:null},Tb(i))Db(s,d);else if(d=db(i,s,d,m),d!==null){var y=ir();on(d,i,m,y),Rb(d,s,m)}}function E5(i,s,d){var m=zi(i),y={lane:m,action:d,hasEagerState:!1,eagerState:null,next:null};if(Tb(i))Db(s,y);else{var w=i.alternate;if(i.lanes===0&&(w===null||w.lanes===0)&&(w=s.lastRenderedReducer,w!==null))try{var E=s.lastRenderedState,M=w(E,d);if(y.hasEagerState=!0,y.eagerState=M,en(M,E)){var R=s.interleaved;R===null?(y.next=y,Wp(s)):(y.next=R.next,R.next=y),s.interleaved=y;return}}catch{}finally{}d=db(i,s,y,m),d!==null&&(y=ir(),on(d,i,m,y),Rb(d,s,m))}}function Tb(i){var s=i.alternate;return i===dt||s!==null&&s===dt}function Db(i,s){Dl=Qc=!0;var d=i.pending;d===null?s.next=s:(s.next=d.next,d.next=s),i.pending=s}function Rb(i,s,d){if((d&4194240)!==0){var m=s.lanes;m&=i.pendingLanes,d|=m,s.lanes=d,ip(i,d)}}var Zc={readContext:Rr,useCallback:Yt,useContext:Yt,useEffect:Yt,useImperativeHandle:Yt,useInsertionEffect:Yt,useLayoutEffect:Yt,useMemo:Yt,useReducer:Yt,useRef:Yt,useState:Yt,useDebugValue:Yt,useDeferredValue:Yt,useTransition:Yt,useMutableSource:Yt,useSyncExternalStore:Yt,useId:Yt,unstable_isNewReconciler:!1},P5={readContext:Rr,useCallback:function(i,s){return xn().memoizedState=[i,s===void 0?null:s],i},useContext:Rr,useEffect:Nb,useImperativeHandle:function(i,s,d){return d=d!=null?d.concat([i]):null,Yc(4194308,4,Cb.bind(null,s,i),d)},useLayoutEffect:function(i,s){return Yc(4194308,4,i,s)},useInsertionEffect:function(i,s){return Yc(4,2,i,s)},useMemo:function(i,s){var d=xn();return s=s===void 0?null:s,i=i(),d.memoizedState=[i,s],i},useReducer:function(i,s,d){var m=xn();return s=d!==void 0?d(s):s,m.memoizedState=m.baseState=s,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:s},m.queue=i,i=i.dispatch=N5.bind(null,dt,i),[m.memoizedState,i]},useRef:function(i){var s=xn();return i={current:i},s.memoizedState=i},useState:kb,useDebugValue:rm,useDeferredValue:function(i){return xn().memoizedState=i},useTransition:function(){var i=kb(!1),s=i[0];return i=S5.bind(null,i[1]),xn().memoizedState=i,[s,i]},useMutableSource:function(){},useSyncExternalStore:function(i,s,d){var m=dt,y=xn();if(st){if(d===void 0)throw Error(r(407));d=d()}else{if(d=s(),Ot===null)throw Error(r(349));(Na&30)!==0||yb(m,s,d)}y.memoizedState=d;var w={value:d,getSnapshot:s};return y.queue=w,Nb(bb.bind(null,m,w,i),[i]),m.flags|=2048,Ll(9,xb.bind(null,m,w,d,s),void 0,null),d},useId:function(){var i=xn(),s=Ot.identifierPrefix;if(st){var d=Gn,m=Kn;d=(m&~(1<<32-Jr(m)-1)).toString(32)+d,s=":"+s+"R"+d,d=Rl++,0<\/script>",i=i.removeChild(i.firstChild)):typeof m.is=="string"?i=E.createElement(d,{is:m.is}):(i=E.createElement(d),d==="select"&&(E=i,m.multiple?E.multiple=!0:m.size&&(E.size=m.size))):i=E.createElementNS(i,d),i[vn]=s,i[Al]=m,r1(i,s,!1,!1),s.stateNode=i;e:{switch(E=Pe(d,m),d){case"dialog":rt("cancel",i),rt("close",i),y=m;break;case"iframe":case"object":case"embed":rt("load",i),y=m;break;case"video":case"audio":for(y=0;yWo&&(s.flags|=128,m=!0,zl(w,!1),s.lanes=4194304)}else{if(!m)if(i=Vc(E),i!==null){if(s.flags|=128,m=!0,d=i.updateQueue,d!==null&&(s.updateQueue=d,s.flags|=4),zl(w,!0),w.tail===null&&w.tailMode==="hidden"&&!E.alternate&&!st)return Xt(s),null}else 2*vt()-w.renderingStartTime>Wo&&d!==1073741824&&(s.flags|=128,m=!0,zl(w,!1),s.lanes=4194304);w.isBackwards?(E.sibling=s.child,s.child=E):(d=w.last,d!==null?d.sibling=E:s.child=E,w.last=E)}return w.tail!==null?(s=w.tail,w.rendering=s,w.tail=s.sibling,w.renderingStartTime=vt(),s.sibling=null,d=ct.current,Je(ct,m?d&1|2:d&1),s):(Xt(s),null);case 22:case 23:return Em(),m=s.memoizedState!==null,i!==null&&i.memoizedState!==null!==m&&(s.flags|=8192),m&&(s.mode&1)!==0?(Er&1073741824)!==0&&(Xt(s),s.subtreeFlags&6&&(s.flags|=8192)):Xt(s),null;case 24:return null;case 25:return null}throw Error(r(156,s.tag))}function D5(i,s){switch(Dp(s),s.tag){case 1:return fr(s.type)&&Rc(),i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 3:return zo(),nt(dr),nt(Qt),qp(),i=s.flags,(i&65536)!==0&&(i&128)===0?(s.flags=i&-65537|128,s):null;case 5:return Gp(s),null;case 13:if(nt(ct),i=s.memoizedState,i!==null&&i.dehydrated!==null){if(s.alternate===null)throw Error(r(340));Do()}return i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 19:return nt(ct),null;case 4:return zo(),null;case 10:return Bp(s.type._context),null;case 22:case 23:return Em(),null;case 24:return null;default:return null}}var rd=!1,Zt=!1,R5=typeof WeakSet=="function"?WeakSet:Set,xe=null;function Bo(i,s){var d=i.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(m){ft(i,s,m)}else d.current=null}function pm(i,s,d){try{d()}catch(m){ft(i,s,m)}}var a1=!1;function $5(i,s){if(Ep=jc,i=$x(),yp(i)){if("selectionStart"in i)var d={start:i.selectionStart,end:i.selectionEnd};else e:{d=(d=i.ownerDocument)&&d.defaultView||window;var m=d.getSelection&&d.getSelection();if(m&&m.rangeCount!==0){d=m.anchorNode;var y=m.anchorOffset,w=m.focusNode;m=m.focusOffset;try{d.nodeType,w.nodeType}catch{d=null;break e}var E=0,M=-1,R=-1,q=0,ae=0,se=i,ne=null;t:for(;;){for(var ve;se!==d||y!==0&&se.nodeType!==3||(M=E+y),se!==w||m!==0&&se.nodeType!==3||(R=E+m),se.nodeType===3&&(E+=se.nodeValue.length),(ve=se.firstChild)!==null;)ne=se,se=ve;for(;;){if(se===i)break t;if(ne===d&&++q===y&&(M=E),ne===w&&++ae===m&&(R=E),(ve=se.nextSibling)!==null)break;se=ne,ne=se.parentNode}se=ve}d=M===-1||R===-1?null:{start:M,end:R}}else d=null}d=d||{start:0,end:0}}else d=null;for(Pp={focusedElem:i,selectionRange:d},jc=!1,xe=s;xe!==null;)if(s=xe,i=s.child,(s.subtreeFlags&1028)!==0&&i!==null)i.return=s,xe=i;else for(;xe!==null;){s=xe;try{var je=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(je!==null){var Se=je.memoizedProps,yt=je.memoizedState,W=s.stateNode,z=W.getSnapshotBeforeUpdate(s.elementType===s.type?Se:rn(s.type,Se),yt);W.__reactInternalSnapshotBeforeUpdate=z}break;case 3:var H=s.stateNode.containerInfo;H.nodeType===1?H.textContent="":H.nodeType===9&&H.documentElement&&H.removeChild(H.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(le){ft(s,s.return,le)}if(i=s.sibling,i!==null){i.return=s.return,xe=i;break}xe=s.return}return je=a1,a1=!1,je}function Fl(i,s,d){var m=s.updateQueue;if(m=m!==null?m.lastEffect:null,m!==null){var y=m=m.next;do{if((y.tag&i)===i){var w=y.destroy;y.destroy=void 0,w!==void 0&&pm(s,d,w)}y=y.next}while(y!==m)}}function nd(i,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var d=s=s.next;do{if((d.tag&i)===i){var m=d.create;d.destroy=m()}d=d.next}while(d!==s)}}function mm(i){var s=i.ref;if(s!==null){var d=i.stateNode;switch(i.tag){case 5:i=d;break;default:i=d}typeof s=="function"?s(i):s.current=i}}function o1(i){var s=i.alternate;s!==null&&(i.alternate=null,o1(s)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(s=i.stateNode,s!==null&&(delete s[vn],delete s[Al],delete s[_p],delete s[x5],delete s[b5])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function s1(i){return i.tag===5||i.tag===3||i.tag===4}function l1(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||s1(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function gm(i,s,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,s?d.nodeType===8?d.parentNode.insertBefore(i,s):d.insertBefore(i,s):(d.nodeType===8?(s=d.parentNode,s.insertBefore(i,d)):(s=d,s.appendChild(i)),d=d._reactRootContainer,d!=null||s.onclick!==null||(s.onclick=Tc));else if(m!==4&&(i=i.child,i!==null))for(gm(i,s,d),i=i.sibling;i!==null;)gm(i,s,d),i=i.sibling}function vm(i,s,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,s?d.insertBefore(i,s):d.appendChild(i);else if(m!==4&&(i=i.child,i!==null))for(vm(i,s,d),i=i.sibling;i!==null;)vm(i,s,d),i=i.sibling}var Lt=null,nn=!1;function Ri(i,s,d){for(d=d.child;d!==null;)u1(i,s,d),d=d.sibling}function u1(i,s,d){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(gc,d)}catch{}switch(d.tag){case 5:Zt||Bo(d,s);case 6:var m=Lt,y=nn;Lt=null,Ri(i,s,d),Lt=m,nn=y,Lt!==null&&(nn?(i=Lt,d=d.stateNode,i.nodeType===8?i.parentNode.removeChild(d):i.removeChild(d)):Lt.removeChild(d.stateNode));break;case 18:Lt!==null&&(nn?(i=Lt,d=d.stateNode,i.nodeType===8?Op(i.parentNode,d):i.nodeType===1&&Op(i,d),yl(i)):Op(Lt,d.stateNode));break;case 4:m=Lt,y=nn,Lt=d.stateNode.containerInfo,nn=!0,Ri(i,s,d),Lt=m,nn=y;break;case 0:case 11:case 14:case 15:if(!Zt&&(m=d.updateQueue,m!==null&&(m=m.lastEffect,m!==null))){y=m=m.next;do{var w=y,E=w.destroy;w=w.tag,E!==void 0&&((w&2)!==0||(w&4)!==0)&&pm(d,s,E),y=y.next}while(y!==m)}Ri(i,s,d);break;case 1:if(!Zt&&(Bo(d,s),m=d.stateNode,typeof m.componentWillUnmount=="function"))try{m.props=d.memoizedProps,m.state=d.memoizedState,m.componentWillUnmount()}catch(M){ft(d,s,M)}Ri(i,s,d);break;case 21:Ri(i,s,d);break;case 22:d.mode&1?(Zt=(m=Zt)||d.memoizedState!==null,Ri(i,s,d),Zt=m):Ri(i,s,d);break;default:Ri(i,s,d)}}function c1(i){var s=i.updateQueue;if(s!==null){i.updateQueue=null;var d=i.stateNode;d===null&&(d=i.stateNode=new R5),s.forEach(function(m){var y=G5.bind(null,i,m);d.has(m)||(d.add(m),m.then(y,y))})}}function an(i,s){var d=s.deletions;if(d!==null)for(var m=0;my&&(y=E),m&=~w}if(m=y,m=vt()-m,m=(120>m?120:480>m?480:1080>m?1080:1920>m?1920:3e3>m?3e3:4320>m?4320:1960*z5(m/1960))-m,10i?16:i,Li===null)var m=!1;else{if(i=Li,Li=null,ld=0,(He&6)!==0)throw Error(r(331));var y=He;for(He|=4,xe=i.current;xe!==null;){var w=xe,E=w.child;if((xe.flags&16)!==0){var M=w.deletions;if(M!==null){for(var R=0;Rvt()-bm?Ca(i,0):xm|=d),mr(i,s)}function k1(i,s){s===0&&((i.mode&1)===0?s=1:(s=yc,yc<<=1,(yc&130023424)===0&&(yc=4194304)));var d=ir();i=Vn(i,s),i!==null&&(hl(i,s,d),mr(i,d))}function K5(i){var s=i.memoizedState,d=0;s!==null&&(d=s.retryLane),k1(i,d)}function G5(i,s){var d=0;switch(i.tag){case 13:var m=i.stateNode,y=i.memoizedState;y!==null&&(d=y.retryLane);break;case 19:m=i.stateNode;break;default:throw Error(r(314))}m!==null&&m.delete(s),k1(i,d)}var S1;S1=function(i,s,d){if(i!==null)if(i.memoizedProps!==s.pendingProps||dr.current)hr=!0;else{if((i.lanes&d)===0&&(s.flags&128)===0)return hr=!1,I5(i,s,d);hr=(i.flags&131072)!==0}else hr=!1,st&&(s.flags&1048576)!==0&&nb(s,Fc,s.index);switch(s.lanes=0,s.tag){case 2:var m=s.type;td(i,s),i=s.pendingProps;var y=Mo(s,Qt.current);Lo(s,d),y=Xp(null,s,m,i,y,d);var w=Zp();return s.flags|=1,typeof y=="object"&&y!==null&&typeof y.render=="function"&&y.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,fr(m)?(w=!0,$c(s)):w=!1,s.memoizedState=y.state!==null&&y.state!==void 0?y.state:null,Hp(s),y.updater=Jc,s.stateNode=y,y._reactInternals=s,im(s,m,i,d),s=lm(null,s,m,!0,w,d)):(s.tag=0,st&&w&&Tp(s),nr(null,s,y,d),s=s.child),s;case 16:m=s.elementType;e:{switch(td(i,s),i=s.pendingProps,y=m._init,m=y(m._payload),s.type=m,y=s.tag=q5(m),i=rn(m,i),y){case 0:s=sm(null,s,m,i,d);break e;case 1:s=Yb(null,s,m,i,d);break e;case 11:s=Kb(null,s,m,i,d);break e;case 14:s=Gb(null,s,m,rn(m.type,i),d);break e}throw Error(r(306,m,""))}return s;case 0:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),sm(i,s,m,y,d);case 1:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),Yb(i,s,m,y,d);case 3:e:{if(Xb(s),i===null)throw Error(r(387));m=s.pendingProps,w=s.memoizedState,y=w.element,fb(i,s),Gc(s,m,null,d);var E=s.memoizedState;if(m=E.element,w.isDehydrated)if(w={element:m,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},s.updateQueue.baseState=w,s.memoizedState=w,s.flags&256){y=Fo(Error(r(423)),s),s=Zb(i,s,m,d,y);break e}else if(m!==y){y=Fo(Error(r(424)),s),s=Zb(i,s,m,d,y);break e}else for(Nr=Oi(s.stateNode.containerInfo.firstChild),Sr=s,st=!0,tn=null,d=cb(s,null,m,d),s.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Do(),m===y){s=Qn(i,s,d);break e}nr(i,s,m,d)}s=s.child}return s;case 5:return mb(s),i===null&&$p(s),m=s.type,y=s.pendingProps,w=i!==null?i.memoizedProps:null,E=y.children,Cp(m,y)?E=null:w!==null&&Cp(m,w)&&(s.flags|=32),Qb(i,s),nr(i,s,E,d),s.child;case 6:return i===null&&$p(s),null;case 13:return Jb(i,s,d);case 4:return Kp(s,s.stateNode.containerInfo),m=s.pendingProps,i===null?s.child=Ro(s,null,m,d):nr(i,s,m,d),s.child;case 11:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),Kb(i,s,m,y,d);case 7:return nr(i,s,s.pendingProps,d),s.child;case 8:return nr(i,s,s.pendingProps.children,d),s.child;case 12:return nr(i,s,s.pendingProps.children,d),s.child;case 10:e:{if(m=s.type._context,y=s.pendingProps,w=s.memoizedProps,E=y.value,Je(Wc,m._currentValue),m._currentValue=E,w!==null)if(en(w.value,E)){if(w.children===y.children&&!dr.current){s=Qn(i,s,d);break e}}else for(w=s.child,w!==null&&(w.return=s);w!==null;){var M=w.dependencies;if(M!==null){E=w.child;for(var R=M.firstContext;R!==null;){if(R.context===m){if(w.tag===1){R=qn(-1,d&-d),R.tag=2;var q=w.updateQueue;if(q!==null){q=q.shared;var ae=q.pending;ae===null?R.next=R:(R.next=ae.next,ae.next=R),q.pending=R}}w.lanes|=d,R=w.alternate,R!==null&&(R.lanes|=d),Up(w.return,d,s),M.lanes|=d;break}R=R.next}}else if(w.tag===10)E=w.type===s.type?null:w.child;else if(w.tag===18){if(E=w.return,E===null)throw Error(r(341));E.lanes|=d,M=E.alternate,M!==null&&(M.lanes|=d),Up(E,d,s),E=w.sibling}else E=w.child;if(E!==null)E.return=w;else for(E=w;E!==null;){if(E===s){E=null;break}if(w=E.sibling,w!==null){w.return=E.return,E=w;break}E=E.return}w=E}nr(i,s,y.children,d),s=s.child}return s;case 9:return y=s.type,m=s.pendingProps.children,Lo(s,d),y=Rr(y),m=m(y),s.flags|=1,nr(i,s,m,d),s.child;case 14:return m=s.type,y=rn(m,s.pendingProps),y=rn(m.type,y),Gb(i,s,m,y,d);case 15:return Vb(i,s,s.type,s.pendingProps,d);case 17:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),td(i,s),s.tag=1,fr(m)?(i=!0,$c(s)):i=!1,Lo(s,d),Lb(s,m,y),im(s,m,y,d),lm(null,s,m,!0,i,d);case 19:return t1(i,s,d);case 22:return qb(i,s,d)}throw Error(r(156,s.tag))};function N1(i,s){return ix(i,s)}function V5(i,s,d,m){this.tag=i,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=m,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zr(i,s,d,m){return new V5(i,s,d,m)}function Cm(i){return i=i.prototype,!(!i||!i.isReactComponent)}function q5(i){if(typeof i=="function")return Cm(i)?1:0;if(i!=null){if(i=i.$$typeof,i===$)return 11;if(i===ge)return 14}return 2}function Bi(i,s){var d=i.alternate;return d===null?(d=zr(i.tag,s,i.key,i.mode),d.elementType=i.elementType,d.type=i.type,d.stateNode=i.stateNode,d.alternate=i,i.alternate=d):(d.pendingProps=s,d.type=i.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=i.flags&14680064,d.childLanes=i.childLanes,d.lanes=i.lanes,d.child=i.child,d.memoizedProps=i.memoizedProps,d.memoizedState=i.memoizedState,d.updateQueue=i.updateQueue,s=i.dependencies,d.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},d.sibling=i.sibling,d.index=i.index,d.ref=i.ref,d}function fd(i,s,d,m,y,w){var E=2;if(m=i,typeof i=="function")Cm(i)&&(E=1);else if(typeof i=="string")E=5;else e:switch(i){case I:return Oa(d.children,y,w,s);case U:E=8,y|=8;break;case B:return i=zr(12,d,s,y|2),i.elementType=B,i.lanes=w,i;case ue:return i=zr(13,d,s,y),i.elementType=ue,i.lanes=w,i;case J:return i=zr(19,d,s,y),i.elementType=J,i.lanes=w,i;case pe:return hd(d,y,w,s);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case K:E=10;break e;case X:E=9;break e;case $:E=11;break e;case ge:E=14;break e;case we:E=16,m=null;break e}throw Error(r(130,i==null?i:typeof i,""))}return s=zr(E,d,s,y),s.elementType=i,s.type=m,s.lanes=w,s}function Oa(i,s,d,m){return i=zr(7,i,m,s),i.lanes=d,i}function hd(i,s,d,m){return i=zr(22,i,m,s),i.elementType=pe,i.lanes=d,i.stateNode={isHidden:!1},i}function Am(i,s,d){return i=zr(6,i,null,s),i.lanes=d,i}function Om(i,s,d){return s=zr(4,i.children!==null?i.children:[],i.key,s),s.lanes=d,s.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},s}function Q5(i,s,d,m,y){this.tag=s,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=np(0),this.expirationTimes=np(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=np(0),this.identifierPrefix=m,this.onRecoverableError=y,this.mutableSourceEagerHydrationData=null}function _m(i,s,d,m,y,w,E,M,R){return i=new Q5(i,s,d,M,R),s===1?(s=1,w===!0&&(s|=8)):s=0,w=zr(3,null,null,s),i.current=w,w.stateNode=i,w.memoizedState={element:m,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hp(w),i}function Y5(i,s,d){var m=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Lm.exports=cM(),Lm.exports}var F1;function dM(){if(F1)return wd;F1=1;var e=BN();return wd.createRoot=e.createRoot,wd.hydrateRoot=e.hydrateRoot,wd}var fM=dM();const hM=iy(fM);var Vu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ka,Xi,ps,ON,pM=(ON=class extends Vu{constructor(){super();De(this,Ka);De(this,Xi);De(this,ps);ye(this,ps,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){L(this,Xi)||this.setEventListener(L(this,ps))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Xi))==null||t.call(this),ye(this,Xi,void 0))}setEventListener(t){var r;ye(this,ps,t),(r=L(this,Xi))==null||r.call(this),ye(this,Xi,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){L(this,Ka)!==t&&(ye(this,Ka,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof L(this,Ka)=="boolean"?L(this,Ka):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Ka=new WeakMap,Xi=new WeakMap,ps=new WeakMap,ON),ay=new pM,mM={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Zi,ny,_N,gM=(_N=class{constructor(){De(this,Zi,mM);De(this,ny,!1)}setTimeoutProvider(e){ye(this,Zi,e)}setTimeout(e,t){return L(this,Zi).setTimeout(e,t)}clearTimeout(e){L(this,Zi).clearTimeout(e)}setInterval(e,t){return L(this,Zi).setInterval(e,t)}clearInterval(e){L(this,Zi).clearInterval(e)}},Zi=new WeakMap,ny=new WeakMap,_N),za=new gM;function vM(e){setTimeout(e,0)}var yM=typeof window>"u"||"Deno"in globalThis;function yr(){}function xM(e,t){return typeof e=="function"?e(t):e}function Ig(e){return typeof e=="number"&&e>=0&&e!==1/0}function UN(e,t){return Math.max(e+(t||0)-Date.now(),0)}function oa(e,t){return typeof e=="function"?e(t):e}function Cr(e,t){return typeof e=="function"?e(t):e}function B1(e,t){const{type:r="all",exact:n,fetchStatus:a,predicate:o,queryKey:u,stale:l}=e;if(u){if(n){if(t.queryHash!==oy(u,t.options))return!1}else if(!mu(t.queryKey,u))return!1}if(r!=="all"){const f=t.isActive();if(r==="active"&&!f||r==="inactive"&&f)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||a&&a!==t.state.fetchStatus||o&&!o(t))}function U1(e,t){const{exact:r,status:n,predicate:a,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(pu(t.options.mutationKey)!==pu(o))return!1}else if(!mu(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||a&&!a(t))}function oy(e,t){return((t==null?void 0:t.queryKeyHashFn)||pu)(e)}function pu(e){return JSON.stringify(e,(t,r)=>Dg(r)?Object.keys(r).sort().reduce((n,a)=>(n[a]=r[a],n),{}):r)}function mu(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>mu(e[r],t[r])):!1}var bM=Object.prototype.hasOwnProperty;function WN(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=W1(e)&&W1(t);if(!n&&!(Dg(e)&&Dg(t)))return t;const o=(n?e:Object.keys(e)).length,u=n?t:Object.keys(t),l=u.length,f=n?new Array(l):{};let h=0;for(let p=0;p{za.setTimeout(t,e)})}function Rg(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?WN(e,t):t}function jM(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function kM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var sy=Symbol();function HN(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===sy?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function KN(e,t){return typeof e=="function"?e(...t):!!e}function SM(e,t,r){let n=!1,a;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(a??(a=t()),n||(n=!0,a.aborted?r():a.addEventListener("abort",r,{once:!0})),a)}),e}var gu=(()=>{let e=()=>yM;return{isServer(){return e()},setIsServer(t){e=t}}})();function $g(){let e,t;const r=new Promise((a,o)=>{e=a,t=o});r.status="pending",r.catch(()=>{});function n(a){Object.assign(r,a),delete r.resolve,delete r.reject}return r.resolve=a=>{n({status:"fulfilled",value:a}),e(a)},r.reject=a=>{n({status:"rejected",reason:a}),t(a)},r}var NM=vM;function EM(){let e=[],t=0,r=l=>{l()},n=l=>{l()},a=NM;const o=l=>{t?e.push(l):a(()=>{r(l)})},u=()=>{const l=e;e=[],l.length&&a(()=>{n(()=>{l.forEach(f=>{r(f)})})})};return{batch:l=>{let f;t++;try{f=l()}finally{t--,t||u()}return f},batchCalls:l=>(...f)=>{o(()=>{l(...f)})},schedule:o,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{n=l},setScheduler:l=>{a=l}}}var Wt=EM(),ms,Ji,gs,MN,PM=(MN=class extends Vu{constructor(){super();De(this,ms,!0);De(this,Ji);De(this,gs);ye(this,gs,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){L(this,Ji)||this.setEventListener(L(this,gs))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Ji))==null||t.call(this),ye(this,Ji,void 0))}setEventListener(t){var r;ye(this,gs,t),(r=L(this,Ji))==null||r.call(this),ye(this,Ji,t(this.setOnline.bind(this)))}setOnline(t){L(this,ms)!==t&&(ye(this,ms,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return L(this,ms)}},ms=new WeakMap,Ji=new WeakMap,gs=new WeakMap,MN),af=new PM;function CM(e){return Math.min(1e3*2**e,3e4)}function GN(e){return(e??"online")==="online"?af.isOnline():!0}var Lg=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function VN(e){let t=!1,r=0,n;const a=$g(),o=()=>a.status!=="pending",u=k=>{var S;if(!o()){const N=new Lg(k);x(N),(S=e.onCancel)==null||S.call(e,N)}},l=()=>{t=!0},f=()=>{t=!1},h=()=>ay.isFocused()&&(e.networkMode==="always"||af.isOnline())&&e.canRun(),p=()=>GN(e.networkMode)&&e.canRun(),g=k=>{o()||(n==null||n(),a.resolve(k))},x=k=>{o()||(n==null||n(),a.reject(k))},b=()=>new Promise(k=>{var S;n=N=>{(o()||h())&&k(N)},(S=e.onPause)==null||S.call(e)}).then(()=>{var k;n=void 0,o()||(k=e.onContinue)==null||k.call(e)}),j=()=>{if(o())return;let k;const S=r===0?e.initialPromise:void 0;try{k=S??e.fn()}catch(N){k=Promise.reject(N)}Promise.resolve(k).then(g).catch(N=>{var A;if(o())return;const P=e.retry??(gu.isServer()?0:3),O=e.retryDelay??CM,C=typeof O=="function"?O(r,N):O,_=P===!0||typeof P=="number"&&rh()?void 0:b()).then(()=>{t?x(N):j()})})};return{promise:a,status:()=>a.status,cancel:u,continue:()=>(n==null||n(),a),cancelRetry:l,continueRetry:f,canStart:p,start:()=>(p()?j():b().then(j),a)}}var Ga,IN,qN=(IN=class{constructor(){De(this,Ga)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ig(this.gcTime)&&ye(this,Ga,za.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(gu.isServer()?1/0:300*1e3))}clearGcTimeout(){L(this,Ga)!==void 0&&(za.clearTimeout(L(this,Ga)),ye(this,Ga,void 0))}},Ga=new WeakMap,IN);function AM(e){return{onFetch:(t,r)=>{var p,g,x,b,j;const n=t.options,a=(x=(g=(p=t.fetchOptions)==null?void 0:p.meta)==null?void 0:g.fetchMore)==null?void 0:x.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],u=((j=t.state.data)==null?void 0:j.pageParams)||[];let l={pages:[],pageParams:[]},f=0;const h=async()=>{let k=!1;const S=O=>{SM(O,()=>t.signal,()=>k=!0)},N=HN(t.options,t.fetchOptions),P=async(O,C,_)=>{if(k)return Promise.reject(t.signal.reason);if(C==null&&O.pages.length)return Promise.resolve(O);const I=(()=>{const X={client:t.client,queryKey:t.queryKey,pageParam:C,direction:_?"backward":"forward",meta:t.options.meta};return S(X),X})(),U=await N(I),{maxPages:B}=t.options,K=_?kM:jM;return{pages:K(O.pages,U,B),pageParams:K(O.pageParams,C,B)}};if(a&&o.length){const O=a==="backward",C=O?OM:K1,_={pages:o,pageParams:u},A=C(n,_);l=await P(_,A,O)}else{const O=e??o.length;do{const C=f===0?u[0]??n.initialPageParam:K1(n,l);if(f>0&&C==null)break;l=await P(l,C),f++}while(f{var k,S;return(S=(k=t.options).persister)==null?void 0:S.call(k,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=h}}}function K1(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function OM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var vs,Va,ys,Ur,qa,Mt,Uu,Qa,Pr,QN,Zn,TN,_M=(TN=class extends qN{constructor(t){super();De(this,Pr);De(this,vs);De(this,Va);De(this,ys);De(this,Ur);De(this,qa);De(this,Mt);De(this,Uu);De(this,Qa);ye(this,Qa,!1),ye(this,Uu,t.defaultOptions),this.setOptions(t.options),this.observers=[],ye(this,qa,t.client),ye(this,Ur,L(this,qa).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,ye(this,Va,V1(this.options)),this.state=t.state??L(this,Va),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return L(this,vs)}get promise(){var t;return(t=L(this,Mt))==null?void 0:t.promise}setOptions(t){if(this.options={...L(this,Uu),...t},t!=null&&t._type&&ye(this,vs,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=V1(this.options);r.data!==void 0&&(this.setState(G1(r.data,r.dataUpdatedAt)),ye(this,Va,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&L(this,Ur).remove(this)}setData(t,r){const n=Rg(this.state.data,t,this.options);return Fe(this,Pr,Zn).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){Fe(this,Pr,Zn).call(this,{type:"setState",state:t})}cancel(t){var n,a;const r=(n=L(this,Mt))==null?void 0:n.promise;return(a=L(this,Mt))==null||a.cancel(t),r?r.then(yr).catch(yr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return L(this,Va)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Cr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===sy||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>oa(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!UN(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Mt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Mt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),L(this,Ur).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||(L(this,Mt)&&(L(this,Qa)||Fe(this,Pr,QN).call(this)?L(this,Mt).cancel({revert:!0}):L(this,Mt).cancelRetry()),this.scheduleGc()),L(this,Ur).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Fe(this,Pr,Zn).call(this,{type:"invalidate"})}async fetch(t,r){var h,p,g,x,b,j,k,S,N,P,O;if(this.state.fetchStatus!=="idle"&&((h=L(this,Mt))==null?void 0:h.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(L(this,Mt))return L(this,Mt).continueRetry(),L(this,Mt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const C=this.observers.find(_=>_.options.queryFn);C&&this.setOptions(C.options)}const n=new AbortController,a=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(ye(this,Qa,!0),n.signal)})},o=()=>{const C=HN(this.options,r),A=(()=>{const I={client:L(this,qa),queryKey:this.queryKey,meta:this.meta};return a(I),I})();return ye(this,Qa,!1),this.options.persister?this.options.persister(C,A,this):C(A)},l=(()=>{const C={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:L(this,qa),state:this.state,fetchFn:o};return a(C),C})(),f=L(this,vs)==="infinite"?AM(this.options.pages):this.options.behavior;f==null||f.onFetch(l,this),ye(this,ys,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((p=l.fetchOptions)==null?void 0:p.meta))&&Fe(this,Pr,Zn).call(this,{type:"fetch",meta:(g=l.fetchOptions)==null?void 0:g.meta}),ye(this,Mt,VN({initialPromise:r==null?void 0:r.initialPromise,fn:l.fetchFn,onCancel:C=>{C instanceof Lg&&C.revert&&this.setState({...L(this,ys),fetchStatus:"idle"}),n.abort()},onFail:(C,_)=>{Fe(this,Pr,Zn).call(this,{type:"failed",failureCount:C,error:_})},onPause:()=>{Fe(this,Pr,Zn).call(this,{type:"pause"})},onContinue:()=>{Fe(this,Pr,Zn).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const C=await L(this,Mt).start();if(C===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(C),(b=(x=L(this,Ur).config).onSuccess)==null||b.call(x,C,this),(k=(j=L(this,Ur).config).onSettled)==null||k.call(j,C,this.state.error,this),C}catch(C){if(C instanceof Lg){if(C.silent)return L(this,Mt).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw Fe(this,Pr,Zn).call(this,{type:"error",error:C}),(N=(S=L(this,Ur).config).onError)==null||N.call(S,C,this),(O=(P=L(this,Ur).config).onSettled)==null||O.call(P,this.state.data,C,this),C}finally{this.scheduleGc()}}},vs=new WeakMap,Va=new WeakMap,ys=new WeakMap,Ur=new WeakMap,qa=new WeakMap,Mt=new WeakMap,Uu=new WeakMap,Qa=new WeakMap,Pr=new WeakSet,QN=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Zn=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...YN(n.data,this.options),fetchMeta:t.meta??null};case"success":const a={...n,...G1(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return ye(this,ys,t.manual?a:void 0),a;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Wt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),L(this,Ur).notify({query:this,type:"updated",action:t})})},TN);function YN(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:GN(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function G1(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function V1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var vr,Ue,Wu,ar,Ya,xs,ei,ea,Hu,bs,ws,Xa,Za,ta,js,qe,ou,zg,Fg,Bg,Ug,Wg,Hg,Kg,XN,DN,MM=(DN=class extends Vu{constructor(t,r){super();De(this,qe);De(this,vr);De(this,Ue);De(this,Wu);De(this,ar);De(this,Ya);De(this,xs);De(this,ei);De(this,ea);De(this,Hu);De(this,bs);De(this,ws);De(this,Xa);De(this,Za);De(this,ta);De(this,js,new Set);this.options=r,ye(this,vr,t),ye(this,ea,null),ye(this,ei,$g()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(L(this,Ue).addObserver(this),q1(L(this,Ue),this.options)?Fe(this,qe,ou).call(this):this.updateResult(),Fe(this,qe,Ug).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Gg(L(this,Ue),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Gg(L(this,Ue),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Fe(this,qe,Wg).call(this),Fe(this,qe,Hg).call(this),L(this,Ue).removeObserver(this)}setOptions(t){const r=this.options,n=L(this,Ue);if(this.options=L(this,vr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Cr(this.options.enabled,L(this,Ue))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Fe(this,qe,Kg).call(this),L(this,Ue).setOptions(this.options),r._defaulted&&!Tg(this.options,r)&&L(this,vr).getQueryCache().notify({type:"observerOptionsUpdated",query:L(this,Ue),observer:this});const a=this.hasListeners();a&&Q1(L(this,Ue),n,this.options,r)&&Fe(this,qe,ou).call(this),this.updateResult(),a&&(L(this,Ue)!==n||Cr(this.options.enabled,L(this,Ue))!==Cr(r.enabled,L(this,Ue))||oa(this.options.staleTime,L(this,Ue))!==oa(r.staleTime,L(this,Ue)))&&Fe(this,qe,zg).call(this);const o=Fe(this,qe,Fg).call(this);a&&(L(this,Ue)!==n||Cr(this.options.enabled,L(this,Ue))!==Cr(r.enabled,L(this,Ue))||o!==L(this,ta))&&Fe(this,qe,Bg).call(this,o)}getOptimisticResult(t){const r=L(this,vr).getQueryCache().build(L(this,vr),t),n=this.createResult(r,t);return TM(this,n)&&(ye(this,ar,n),ye(this,xs,this.options),ye(this,Ya,L(this,Ue).state)),n}getCurrentResult(){return L(this,ar)}trackResult(t,r){return new Proxy(t,{get:(n,a)=>(this.trackProp(a),r==null||r(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&L(this,ei).status==="pending"&&L(this,ei).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,a))})}trackProp(t){L(this,js).add(t)}getCurrentQuery(){return L(this,Ue)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=L(this,vr).defaultQueryOptions(t),n=L(this,vr).getQueryCache().build(L(this,vr),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return Fe(this,qe,ou).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),L(this,ar)))}createResult(t,r){var B;const n=L(this,Ue),a=this.options,o=L(this,ar),u=L(this,Ya),l=L(this,xs),h=t!==n?t.state:L(this,Wu),{state:p}=t;let g={...p},x=!1,b;if(r._optimisticResults){const K=this.hasListeners(),X=!K&&q1(t,r),$=K&&Q1(t,n,r,a);(X||$)&&(g={...g,...YN(p.data,t.options)}),r._optimisticResults==="isRestoring"&&(g.fetchStatus="idle")}let{error:j,errorUpdatedAt:k,status:S}=g;b=g.data;let N=!1;if(r.placeholderData!==void 0&&b===void 0&&S==="pending"){let K;o!=null&&o.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData)?(K=o.data,N=!0):K=typeof r.placeholderData=="function"?r.placeholderData((B=L(this,ws))==null?void 0:B.state.data,L(this,ws)):r.placeholderData,K!==void 0&&(S="success",b=Rg(o==null?void 0:o.data,K,r),x=!0)}if(r.select&&b!==void 0&&!N)if(o&&b===(u==null?void 0:u.data)&&r.select===L(this,Hu))b=L(this,bs);else try{ye(this,Hu,r.select),b=r.select(b),b=Rg(o==null?void 0:o.data,b,r),ye(this,bs,b),ye(this,ea,null)}catch(K){ye(this,ea,K)}L(this,ea)&&(j=L(this,ea),b=L(this,bs),k=Date.now(),S="error");const P=g.fetchStatus==="fetching",O=S==="pending",C=S==="error",_=O&&P,A=b!==void 0,U={status:S,fetchStatus:g.fetchStatus,isPending:O,isSuccess:S==="success",isError:C,isInitialLoading:_,isLoading:_,data:b,dataUpdatedAt:g.dataUpdatedAt,error:j,errorUpdatedAt:k,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdateCount:g.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:g.dataUpdateCount>h.dataUpdateCount||g.errorUpdateCount>h.errorUpdateCount,isFetching:P,isRefetching:P&&!O,isLoadingError:C&&!A,isPaused:g.fetchStatus==="paused",isPlaceholderData:x,isRefetchError:C&&A,isStale:ly(t,r),refetch:this.refetch,promise:L(this,ei),isEnabled:Cr(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const K=U.data!==void 0,X=U.status==="error"&&!K,$=ge=>{X?ge.reject(U.error):K&&ge.resolve(U.data)},ue=()=>{const ge=ye(this,ei,U.promise=$g());$(ge)},J=L(this,ei);switch(J.status){case"pending":t.queryHash===n.queryHash&&$(J);break;case"fulfilled":(X||U.data!==J.value)&&ue();break;case"rejected":(!X||U.error!==J.reason)&&ue();break}}return U}updateResult(){const t=L(this,ar),r=this.createResult(L(this,Ue),this.options);if(ye(this,Ya,L(this,Ue).state),ye(this,xs,this.options),L(this,Ya).data!==void 0&&ye(this,ws,L(this,Ue)),Tg(r,t))return;ye(this,ar,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:a}=this.options,o=typeof a=="function"?a():a;if(o==="all"||!o&&!L(this,js).size)return!0;const u=new Set(o??L(this,js));return this.options.throwOnError&&u.add("error"),Object.keys(L(this,ar)).some(l=>{const f=l;return L(this,ar)[f]!==t[f]&&u.has(f)})};Fe(this,qe,XN).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Fe(this,qe,Ug).call(this)}},vr=new WeakMap,Ue=new WeakMap,Wu=new WeakMap,ar=new WeakMap,Ya=new WeakMap,xs=new WeakMap,ei=new WeakMap,ea=new WeakMap,Hu=new WeakMap,bs=new WeakMap,ws=new WeakMap,Xa=new WeakMap,Za=new WeakMap,ta=new WeakMap,js=new WeakMap,qe=new WeakSet,ou=function(t){Fe(this,qe,Kg).call(this);let r=L(this,Ue).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(yr)),r},zg=function(){Fe(this,qe,Wg).call(this);const t=oa(this.options.staleTime,L(this,Ue));if(gu.isServer()||L(this,ar).isStale||!Ig(t))return;const n=UN(L(this,ar).dataUpdatedAt,t)+1;ye(this,Xa,za.setTimeout(()=>{L(this,ar).isStale||this.updateResult()},n))},Fg=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(L(this,Ue)):this.options.refetchInterval)??!1},Bg=function(t){Fe(this,qe,Hg).call(this),ye(this,ta,t),!(gu.isServer()||Cr(this.options.enabled,L(this,Ue))===!1||!Ig(L(this,ta))||L(this,ta)===0)&&ye(this,Za,za.setInterval(()=>{(this.options.refetchIntervalInBackground||ay.isFocused())&&Fe(this,qe,ou).call(this)},L(this,ta)))},Ug=function(){Fe(this,qe,zg).call(this),Fe(this,qe,Bg).call(this,Fe(this,qe,Fg).call(this))},Wg=function(){L(this,Xa)!==void 0&&(za.clearTimeout(L(this,Xa)),ye(this,Xa,void 0))},Hg=function(){L(this,Za)!==void 0&&(za.clearInterval(L(this,Za)),ye(this,Za,void 0))},Kg=function(){const t=L(this,vr).getQueryCache().build(L(this,vr),this.options);if(t===L(this,Ue))return;const r=L(this,Ue);ye(this,Ue,t),ye(this,Wu,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},XN=function(t){Wt.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(L(this,ar))}),L(this,vr).getQueryCache().notify({query:L(this,Ue),type:"observerResultsUpdated"})})},DN);function IM(e,t){return Cr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Cr(t.retryOnMount,e)===!1)}function q1(e,t){return IM(e,t)||e.state.data!==void 0&&Gg(e,t,t.refetchOnMount)}function Gg(e,t,r){if(Cr(t.enabled,e)!==!1&&oa(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&ly(e,t)}return!1}function Q1(e,t,r,n){return(e!==t||Cr(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&ly(e,r)}function ly(e,t){return Cr(t.enabled,e)!==!1&&e.isStaleByTime(oa(t.staleTime,e))}function TM(e,t){return!Tg(e.getCurrentResult(),t)}var Ku,Nn,Jt,Ja,En,Gi,RN,DM=(RN=class extends qN{constructor(t){super();De(this,En);De(this,Ku);De(this,Nn);De(this,Jt);De(this,Ja);ye(this,Ku,t.client),this.mutationId=t.mutationId,ye(this,Jt,t.mutationCache),ye(this,Nn,[]),this.state=t.state||RM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){L(this,Nn).includes(t)||(L(this,Nn).push(t),this.clearGcTimeout(),L(this,Jt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){ye(this,Nn,L(this,Nn).filter(r=>r!==t)),this.scheduleGc(),L(this,Jt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){L(this,Nn).length||(this.state.status==="pending"?this.scheduleGc():L(this,Jt).remove(this))}continue(){var t;return((t=L(this,Ja))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var u,l,f,h,p,g,x,b,j,k,S,N,P,O,C,_,A,I;const r=()=>{Fe(this,En,Gi).call(this,{type:"continue"})},n={client:L(this,Ku),meta:this.options.meta,mutationKey:this.options.mutationKey};ye(this,Ja,VN({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(U,B)=>{Fe(this,En,Gi).call(this,{type:"failed",failureCount:U,error:B})},onPause:()=>{Fe(this,En,Gi).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>L(this,Jt).canRun(this)}));const a=this.state.status==="pending",o=!L(this,Ja).canStart();try{if(a)r();else{Fe(this,En,Gi).call(this,{type:"pending",variables:t,isPaused:o}),L(this,Jt).config.onMutate&&await L(this,Jt).config.onMutate(t,this,n);const B=await((l=(u=this.options).onMutate)==null?void 0:l.call(u,t,n));B!==this.state.context&&Fe(this,En,Gi).call(this,{type:"pending",context:B,variables:t,isPaused:o})}const U=await L(this,Ja).start();return await((h=(f=L(this,Jt).config).onSuccess)==null?void 0:h.call(f,U,t,this.state.context,this,n)),await((g=(p=this.options).onSuccess)==null?void 0:g.call(p,U,t,this.state.context,n)),await((b=(x=L(this,Jt).config).onSettled)==null?void 0:b.call(x,U,null,this.state.variables,this.state.context,this,n)),await((k=(j=this.options).onSettled)==null?void 0:k.call(j,U,null,t,this.state.context,n)),Fe(this,En,Gi).call(this,{type:"success",data:U}),U}catch(U){try{await((N=(S=L(this,Jt).config).onError)==null?void 0:N.call(S,U,t,this.state.context,this,n))}catch(B){Promise.reject(B)}try{await((O=(P=this.options).onError)==null?void 0:O.call(P,U,t,this.state.context,n))}catch(B){Promise.reject(B)}try{await((_=(C=L(this,Jt).config).onSettled)==null?void 0:_.call(C,void 0,U,this.state.variables,this.state.context,this,n))}catch(B){Promise.reject(B)}try{await((I=(A=this.options).onSettled)==null?void 0:I.call(A,void 0,U,t,this.state.context,n))}catch(B){Promise.reject(B)}throw Fe(this,En,Gi).call(this,{type:"error",error:U}),U}finally{L(this,Jt).runNext(this)}}},Ku=new WeakMap,Nn=new WeakMap,Jt=new WeakMap,Ja=new WeakMap,En=new WeakSet,Gi=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Wt.batch(()=>{L(this,Nn).forEach(n=>{n.onMutationUpdate(t)}),L(this,Jt).notify({mutation:this,type:"updated",action:t})})},RN);function RM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ti,ln,Gu,$N,$M=($N=class extends Vu{constructor(t={}){super();De(this,ti);De(this,ln);De(this,Gu);this.config=t,ye(this,ti,new Set),ye(this,ln,new Map),ye(this,Gu,0)}build(t,r,n){const a=new DM({client:t,mutationCache:this,mutationId:++bd(this,Gu)._,options:t.defaultMutationOptions(r),state:n});return this.add(a),a}add(t){L(this,ti).add(t);const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r);n?n.push(t):L(this,ln).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if(L(this,ti).delete(t)){const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r);if(n)if(n.length>1){const a=n.indexOf(t);a!==-1&&n.splice(a,1)}else n[0]===t&&L(this,ln).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r),a=n==null?void 0:n.find(o=>o.state.status==="pending");return!a||a===t}else return!0}runNext(t){var n;const r=jd(t);if(typeof r=="string"){const a=(n=L(this,ln).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Wt.batch(()=>{L(this,ti).forEach(t=>{this.notify({type:"removed",mutation:t})}),L(this,ti).clear(),L(this,ln).clear()})}getAll(){return Array.from(L(this,ti))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>U1(r,n))}findAll(t={}){return this.getAll().filter(r=>U1(t,r))}notify(t){Wt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Wt.batch(()=>Promise.all(t.map(r=>r.continue().catch(yr))))}},ti=new WeakMap,ln=new WeakMap,Gu=new WeakMap,$N);function jd(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Pn,LN,LM=(LN=class extends Vu{constructor(t={}){super();De(this,Pn);this.config=t,ye(this,Pn,new Map)}build(t,r,n){const a=r.queryKey,o=r.queryHash??oy(a,r);let u=this.get(o);return u||(u=new _M({client:t,queryKey:a,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(a)}),this.add(u)),u}add(t){L(this,Pn).has(t.queryHash)||(L(this,Pn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=L(this,Pn).get(t.queryHash);r&&(t.destroy(),r===t&&L(this,Pn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Wt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return L(this,Pn).get(t)}getAll(){return[...L(this,Pn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>B1(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>B1(t,n)):r}notify(t){Wt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Wt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Wt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pn=new WeakMap,LN),ht,ra,na,ks,Ss,ia,Ns,Es,zN,zM=(zN=class{constructor(e={}){De(this,ht);De(this,ra);De(this,na);De(this,ks);De(this,Ss);De(this,ia);De(this,Ns);De(this,Es);ye(this,ht,e.queryCache||new LM),ye(this,ra,e.mutationCache||new $M),ye(this,na,e.defaultOptions||{}),ye(this,ks,new Map),ye(this,Ss,new Map),ye(this,ia,0)}mount(){bd(this,ia)._++,L(this,ia)===1&&(ye(this,Ns,ay.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,ht).onFocus())})),ye(this,Es,af.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,ht).onOnline())})))}unmount(){var e,t;bd(this,ia)._--,L(this,ia)===0&&((e=L(this,Ns))==null||e.call(this),ye(this,Ns,void 0),(t=L(this,Es))==null||t.call(this),ye(this,Es,void 0))}isFetching(e){return L(this,ht).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return L(this,ra).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,ht).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=L(this,ht).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(oa(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return L(this,ht).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),a=L(this,ht).get(n.queryHash),o=a==null?void 0:a.state.data,u=xM(t,o);if(u!==void 0)return L(this,ht).build(this,n).setData(u,{...r,manual:!0})}setQueriesData(e,t,r){return Wt.batch(()=>L(this,ht).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,ht).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=L(this,ht);Wt.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=L(this,ht);return Wt.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Wt.batch(()=>L(this,ht).findAll(e).map(a=>a.cancel(r)));return Promise.all(n).then(yr).catch(yr)}invalidateQueries(e,t={}){return Wt.batch(()=>(L(this,ht).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Wt.batch(()=>L(this,ht).findAll(e).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let o=a.fetch(void 0,r);return r.throwOnError||(o=o.catch(yr)),a.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(yr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=L(this,ht).build(this,t);return r.isStaleByTime(oa(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(yr).catch(yr)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(yr).catch(yr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return af.isOnline()?L(this,ra).resumePausedMutations():Promise.resolve()}getQueryCache(){return L(this,ht)}getMutationCache(){return L(this,ra)}getDefaultOptions(){return L(this,na)}setDefaultOptions(e){ye(this,na,e)}setQueryDefaults(e,t){L(this,ks).set(pu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...L(this,ks).values()],r={};return t.forEach(n=>{mu(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){L(this,Ss).set(pu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...L(this,Ss).values()],r={};return t.forEach(n=>{mu(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...L(this,na).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=oy(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===sy&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...L(this,na).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){L(this,ht).clear(),L(this,ra).clear()}},ht=new WeakMap,ra=new WeakMap,na=new WeakMap,ks=new WeakMap,Ss=new WeakMap,ia=new WeakMap,Ns=new WeakMap,Es=new WeakMap,zN),ZN=v.createContext(void 0),po=e=>{const t=v.useContext(ZN);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},FM=({client:e,children:t})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(ZN.Provider,{value:e,children:t})),JN=v.createContext(!1),BM=()=>v.useContext(JN);JN.Provider;function UM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var WM=v.createContext(UM()),HM=()=>v.useContext(WM),KM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?KN(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},GM=e=>{v.useEffect(()=>{e.clearReset()},[e])},VM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(a&&e.data===void 0||KN(r,[e.error,n])),qM=e=>{if(e.suspense){const r=a=>a==="static"?a:Math.max(a??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...a)=>r(n(...a)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},QM=(e,t)=>e.isLoading&&e.isFetching&&!t,YM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Y1=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function XM(e,t,r){var b,j,k,S;const n=BM(),a=HM(),o=po(),u=o.defaultQueryOptions(e);(j=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||j.call(b,u);const l=o.getQueryCache().get(u.queryHash),f=e.subscribed!==!1;u._optimisticResults=n?"isRestoring":f?"optimistic":void 0,qM(u),KM(u,a,l),GM(a);const h=!o.getQueryCache().get(u.queryHash),[p]=v.useState(()=>new t(o,u)),g=p.getOptimisticResult(u),x=!n&&f;if(v.useSyncExternalStore(v.useCallback(N=>{const P=x?p.subscribe(Wt.batchCalls(N)):yr;return p.updateResult(),P},[p,x]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),v.useEffect(()=>{p.setOptions(u)},[u,p]),YM(u,g))throw Y1(u,p,a);if(VM({result:g,errorResetBoundary:a,throwOnError:u.throwOnError,query:l,suspense:u.suspense}))throw g.error;if((S=(k=o.getDefaultOptions().queries)==null?void 0:k._experimental_afterQuery)==null||S.call(k,u,g),u.experimental_prefetchInRender&&!gu.isServer()&&QM(g,n)){const N=h?Y1(u,p,a):l==null?void 0:l.promise;N==null||N.catch(yr).finally(()=>{p.updateResult()})}return u.notifyOnChangeProps?g:p.trackResult(g)}function ur(e,t){return XM(e,MM)}/** +`+w.stack}return{value:i,source:s,stack:y,digest:null}}function am(i,s,d){return{value:i,source:null,stack:d??null,digest:s??null}}function om(i,s){try{console.error(s.value)}catch(d){setTimeout(function(){throw d})}}var O5=typeof WeakMap=="function"?WeakMap:Map;function Fb(i,s,d){d=qn(-1,d),d.tag=3,d.payload={element:null};var m=s.value;return d.callback=function(){od||(od=!0,wm=m),om(i,s)},d}function Bb(i,s,d){d=qn(-1,d),d.tag=3;var m=i.type.getDerivedStateFromError;if(typeof m=="function"){var y=s.value;d.payload=function(){return m(y)},d.callback=function(){om(i,s)}}var w=i.stateNode;return w!==null&&typeof w.componentDidCatch=="function"&&(d.callback=function(){om(i,s),typeof m!="function"&&($i===null?$i=new Set([this]):$i.add(this));var E=s.stack;this.componentDidCatch(s.value,{componentStack:E!==null?E:""})}),d}function Ub(i,s,d){var m=i.pingCache;if(m===null){m=i.pingCache=new O5;var y=new Set;m.set(s,y)}else y=m.get(s),y===void 0&&(y=new Set,m.set(s,y));y.has(d)||(y.add(d),i=H5.bind(null,i,s,d),s.then(i,i))}function Wb(i){do{var s;if((s=i.tag===13)&&(s=i.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return i;i=i.return}while(i!==null);return null}function Hb(i,s,d,m,y){return(i.mode&1)===0?(i===s?i.flags|=65536:(i.flags|=128,d.flags|=131072,d.flags&=-52805,d.tag===1&&(d.alternate===null?d.tag=17:(s=qn(-1,1),s.tag=2,Di(d,s,1))),d.lanes|=1),i):(i.flags|=65536,i.lanes=y,i)}var _5=C.ReactCurrentOwner,hr=!1;function nr(i,s,d,m){s.child=i===null?cb(s,null,d,m):Ro(s,i.child,d,m)}function Kb(i,s,d,m,y){d=d.render;var w=s.ref;return Lo(s,y),m=Xp(i,s,d,m,w,y),d=Zp(),i!==null&&!hr?(s.updateQueue=i.updateQueue,s.flags&=-2053,i.lanes&=~y,Qn(i,s,y)):(st&&d&&Tp(s),s.flags|=1,nr(i,s,m,y),s.child)}function Gb(i,s,d,m,y){if(i===null){var w=d.type;return typeof w=="function"&&!Cm(w)&&w.defaultProps===void 0&&d.compare===null&&d.defaultProps===void 0?(s.tag=15,s.type=w,Vb(i,s,w,m,y)):(i=fd(d.type,null,m,s,s.mode,y),i.ref=s.ref,i.return=s,s.child=i)}if(w=i.child,(i.lanes&y)===0){var E=w.memoizedProps;if(d=d.compare,d=d!==null?d:Sl,d(E,m)&&i.ref===s.ref)return Qn(i,s,y)}return s.flags|=1,i=Bi(w,m),i.ref=s.ref,i.return=s,s.child=i}function Vb(i,s,d,m,y){if(i!==null){var w=i.memoizedProps;if(Sl(w,m)&&i.ref===s.ref)if(hr=!1,s.pendingProps=m=w,(i.lanes&y)!==0)(i.flags&131072)!==0&&(hr=!0);else return s.lanes=i.lanes,Qn(i,s,y)}return sm(i,s,d,m,y)}function qb(i,s,d){var m=s.pendingProps,y=m.children,w=i!==null?i.memoizedState:null;if(m.mode==="hidden")if((s.mode&1)===0)s.memoizedState={baseLanes:0,cachePool:null,transitions:null},Je(Uo,Er),Er|=d;else{if((d&1073741824)===0)return i=w!==null?w.baseLanes|d:d,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:i,cachePool:null,transitions:null},s.updateQueue=null,Je(Uo,Er),Er|=i,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},m=w!==null?w.baseLanes:d,Je(Uo,Er),Er|=m}else w!==null?(m=w.baseLanes|d,s.memoizedState=null):m=d,Je(Uo,Er),Er|=m;return nr(i,s,y,d),s.child}function Qb(i,s){var d=s.ref;(i===null&&d!==null||i!==null&&i.ref!==d)&&(s.flags|=512,s.flags|=2097152)}function sm(i,s,d,m,y){var w=fr(d)?ba:Qt.current;return w=Mo(s,w),Lo(s,y),d=Xp(i,s,d,m,w,y),m=Zp(),i!==null&&!hr?(s.updateQueue=i.updateQueue,s.flags&=-2053,i.lanes&=~y,Qn(i,s,y)):(st&&m&&Tp(s),s.flags|=1,nr(i,s,d,y),s.child)}function Yb(i,s,d,m,y){if(fr(d)){var w=!0;$c(s)}else w=!1;if(Lo(s,y),s.stateNode===null)td(i,s),Lb(s,d,m),im(s,d,m,y),m=!0;else if(i===null){var E=s.stateNode,M=s.memoizedProps;E.props=M;var R=E.context,q=d.contextType;typeof q=="object"&&q!==null?q=Rr(q):(q=fr(d)?ba:Qt.current,q=Mo(s,q));var ae=d.getDerivedStateFromProps,se=typeof ae=="function"||typeof E.getSnapshotBeforeUpdate=="function";se||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(M!==m||R!==q)&&zb(s,E,m,q),Ti=!1;var ne=s.memoizedState;E.state=ne,Gc(s,m,E,y),R=s.memoizedState,M!==m||ne!==R||dr.current||Ti?(typeof ae=="function"&&(nm(s,d,ae,m),R=s.memoizedState),(M=Ti||$b(s,d,M,m,ne,R,q))?(se||typeof E.UNSAFE_componentWillMount!="function"&&typeof E.componentWillMount!="function"||(typeof E.componentWillMount=="function"&&E.componentWillMount(),typeof E.UNSAFE_componentWillMount=="function"&&E.UNSAFE_componentWillMount()),typeof E.componentDidMount=="function"&&(s.flags|=4194308)):(typeof E.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=m,s.memoizedState=R),E.props=m,E.state=R,E.context=q,m=M):(typeof E.componentDidMount=="function"&&(s.flags|=4194308),m=!1)}else{E=s.stateNode,fb(i,s),M=s.memoizedProps,q=s.type===s.elementType?M:rn(s.type,M),E.props=q,se=s.pendingProps,ne=E.context,R=d.contextType,typeof R=="object"&&R!==null?R=Rr(R):(R=fr(d)?ba:Qt.current,R=Mo(s,R));var ve=d.getDerivedStateFromProps;(ae=typeof ve=="function"||typeof E.getSnapshotBeforeUpdate=="function")||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(M!==se||ne!==R)&&zb(s,E,m,R),Ti=!1,ne=s.memoizedState,E.state=ne,Gc(s,m,E,y);var je=s.memoizedState;M!==se||ne!==je||dr.current||Ti?(typeof ve=="function"&&(nm(s,d,ve,m),je=s.memoizedState),(q=Ti||$b(s,d,q,m,ne,je,R)||!1)?(ae||typeof E.UNSAFE_componentWillUpdate!="function"&&typeof E.componentWillUpdate!="function"||(typeof E.componentWillUpdate=="function"&&E.componentWillUpdate(m,je,R),typeof E.UNSAFE_componentWillUpdate=="function"&&E.UNSAFE_componentWillUpdate(m,je,R)),typeof E.componentDidUpdate=="function"&&(s.flags|=4),typeof E.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof E.componentDidUpdate!="function"||M===i.memoizedProps&&ne===i.memoizedState||(s.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||M===i.memoizedProps&&ne===i.memoizedState||(s.flags|=1024),s.memoizedProps=m,s.memoizedState=je),E.props=m,E.state=je,E.context=R,m=q):(typeof E.componentDidUpdate!="function"||M===i.memoizedProps&&ne===i.memoizedState||(s.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||M===i.memoizedProps&&ne===i.memoizedState||(s.flags|=1024),m=!1)}return lm(i,s,d,m,w,y)}function lm(i,s,d,m,y,w){Qb(i,s);var E=(s.flags&128)!==0;if(!m&&!E)return y&&tb(s,d,!1),Qn(i,s,w);m=s.stateNode,_5.current=s;var M=E&&typeof d.getDerivedStateFromError!="function"?null:m.render();return s.flags|=1,i!==null&&E?(s.child=Ro(s,i.child,null,w),s.child=Ro(s,null,M,w)):nr(i,s,M,w),s.memoizedState=m.state,y&&tb(s,d,!0),s.child}function Xb(i){var s=i.stateNode;s.pendingContext?J0(i,s.pendingContext,s.pendingContext!==s.context):s.context&&J0(i,s.context,!1),Kp(i,s.containerInfo)}function Zb(i,s,d,m,y){return Do(),Lp(y),s.flags|=256,nr(i,s,d,m),s.child}var um={dehydrated:null,treeContext:null,retryLane:0};function cm(i){return{baseLanes:i,cachePool:null,transitions:null}}function Jb(i,s,d){var m=s.pendingProps,y=ct.current,w=!1,E=(s.flags&128)!==0,M;if((M=E)||(M=i!==null&&i.memoizedState===null?!1:(y&2)!==0),M?(w=!0,s.flags&=-129):(i===null||i.memoizedState!==null)&&(y|=1),Je(ct,y&1),i===null)return $p(s),i=s.memoizedState,i!==null&&(i=i.dehydrated,i!==null)?((s.mode&1)===0?s.lanes=1:i.data==="$!"?s.lanes=8:s.lanes=1073741824,null):(E=m.children,i=m.fallback,w?(m=s.mode,w=s.child,E={mode:"hidden",children:E},(m&1)===0&&w!==null?(w.childLanes=0,w.pendingProps=E):w=hd(E,m,0,null),i=Oa(i,m,d,null),w.return=s,i.return=s,w.sibling=i,s.child=w,s.child.memoizedState=cm(d),s.memoizedState=um,i):dm(s,E));if(y=i.memoizedState,y!==null&&(M=y.dehydrated,M!==null))return M5(i,s,E,m,M,y,d);if(w){w=m.fallback,E=s.mode,y=i.child,M=y.sibling;var R={mode:"hidden",children:m.children};return(E&1)===0&&s.child!==y?(m=s.child,m.childLanes=0,m.pendingProps=R,s.deletions=null):(m=Bi(y,R),m.subtreeFlags=y.subtreeFlags&14680064),M!==null?w=Bi(M,w):(w=Oa(w,E,d,null),w.flags|=2),w.return=s,m.return=s,m.sibling=w,s.child=m,m=w,w=s.child,E=i.child.memoizedState,E=E===null?cm(d):{baseLanes:E.baseLanes|d,cachePool:null,transitions:E.transitions},w.memoizedState=E,w.childLanes=i.childLanes&~d,s.memoizedState=um,m}return w=i.child,i=w.sibling,m=Bi(w,{mode:"visible",children:m.children}),(s.mode&1)===0&&(m.lanes=d),m.return=s,m.sibling=null,i!==null&&(d=s.deletions,d===null?(s.deletions=[i],s.flags|=16):d.push(i)),s.child=m,s.memoizedState=null,m}function dm(i,s){return s=hd({mode:"visible",children:s},i.mode,0,null),s.return=i,i.child=s}function ed(i,s,d,m){return m!==null&&Lp(m),Ro(s,i.child,null,d),i=dm(s,s.pendingProps.children),i.flags|=2,s.memoizedState=null,i}function M5(i,s,d,m,y,w,E){if(d)return s.flags&256?(s.flags&=-257,m=am(Error(r(422))),ed(i,s,E,m)):s.memoizedState!==null?(s.child=i.child,s.flags|=128,null):(w=m.fallback,y=s.mode,m=hd({mode:"visible",children:m.children},y,0,null),w=Oa(w,y,E,null),w.flags|=2,m.return=s,w.return=s,m.sibling=w,s.child=m,(s.mode&1)!==0&&Ro(s,i.child,null,E),s.child.memoizedState=cm(E),s.memoizedState=um,w);if((s.mode&1)===0)return ed(i,s,E,null);if(y.data==="$!"){if(m=y.nextSibling&&y.nextSibling.dataset,m)var M=m.dgst;return m=M,w=Error(r(419)),m=am(w,m,void 0),ed(i,s,E,m)}if(M=(E&i.childLanes)!==0,hr||M){if(m=Ot,m!==null){switch(E&-E){case 4:y=2;break;case 16:y=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:y=32;break;case 536870912:y=268435456;break;default:y=0}y=(y&(m.suspendedLanes|E))!==0?0:y,y!==0&&y!==w.retryLane&&(w.retryLane=y,Vn(i,y),on(m,i,y,-1))}return Pm(),m=am(Error(r(421))),ed(i,s,E,m)}return y.data==="$?"?(s.flags|=128,s.child=i.child,s=K5.bind(null,i),y._reactRetry=s,null):(i=w.treeContext,Nr=Oi(y.nextSibling),Sr=s,st=!0,tn=null,i!==null&&(Tr[Dr++]=Kn,Tr[Dr++]=Gn,Tr[Dr++]=wa,Kn=i.id,Gn=i.overflow,wa=s),s=dm(s,m.children),s.flags|=4096,s)}function e1(i,s,d){i.lanes|=s;var m=i.alternate;m!==null&&(m.lanes|=s),Up(i.return,s,d)}function fm(i,s,d,m,y){var w=i.memoizedState;w===null?i.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:m,tail:d,tailMode:y}:(w.isBackwards=s,w.rendering=null,w.renderingStartTime=0,w.last=m,w.tail=d,w.tailMode=y)}function t1(i,s,d){var m=s.pendingProps,y=m.revealOrder,w=m.tail;if(nr(i,s,m.children,d),m=ct.current,(m&2)!==0)m=m&1|2,s.flags|=128;else{if(i!==null&&(i.flags&128)!==0)e:for(i=s.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&e1(i,d,s);else if(i.tag===19)e1(i,d,s);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===s)break e;for(;i.sibling===null;){if(i.return===null||i.return===s)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}m&=1}if(Je(ct,m),(s.mode&1)===0)s.memoizedState=null;else switch(y){case"forwards":for(d=s.child,y=null;d!==null;)i=d.alternate,i!==null&&Vc(i)===null&&(y=d),d=d.sibling;d=y,d===null?(y=s.child,s.child=null):(y=d.sibling,d.sibling=null),fm(s,!1,y,d,w);break;case"backwards":for(d=null,y=s.child,s.child=null;y!==null;){if(i=y.alternate,i!==null&&Vc(i)===null){s.child=y;break}i=y.sibling,y.sibling=d,d=y,y=i}fm(s,!0,d,null,w);break;case"together":fm(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function td(i,s){(s.mode&1)===0&&i!==null&&(i.alternate=null,s.alternate=null,s.flags|=2)}function Qn(i,s,d){if(i!==null&&(s.dependencies=i.dependencies),Ea|=s.lanes,(d&s.childLanes)===0)return null;if(i!==null&&s.child!==i.child)throw Error(r(153));if(s.child!==null){for(i=s.child,d=Bi(i,i.pendingProps),s.child=d,d.return=s;i.sibling!==null;)i=i.sibling,d=d.sibling=Bi(i,i.pendingProps),d.return=s;d.sibling=null}return s.child}function I5(i,s,d){switch(s.tag){case 3:Xb(s),Do();break;case 5:mb(s);break;case 1:fr(s.type)&&$c(s);break;case 4:Kp(s,s.stateNode.containerInfo);break;case 10:var m=s.type._context,y=s.memoizedProps.value;Je(Wc,m._currentValue),m._currentValue=y;break;case 13:if(m=s.memoizedState,m!==null)return m.dehydrated!==null?(Je(ct,ct.current&1),s.flags|=128,null):(d&s.child.childLanes)!==0?Jb(i,s,d):(Je(ct,ct.current&1),i=Qn(i,s,d),i!==null?i.sibling:null);Je(ct,ct.current&1);break;case 19:if(m=(d&s.childLanes)!==0,(i.flags&128)!==0){if(m)return t1(i,s,d);s.flags|=128}if(y=s.memoizedState,y!==null&&(y.rendering=null,y.tail=null,y.lastEffect=null),Je(ct,ct.current),m)break;return null;case 22:case 23:return s.lanes=0,qb(i,s,d)}return Qn(i,s,d)}var r1,hm,n1,i1;r1=function(i,s){for(var d=s.child;d!==null;){if(d.tag===5||d.tag===6)i.appendChild(d.stateNode);else if(d.tag!==4&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===s)break;for(;d.sibling===null;){if(d.return===null||d.return===s)return;d=d.return}d.sibling.return=d.return,d=d.sibling}},hm=function(){},n1=function(i,s,d,m){var y=i.memoizedProps;if(y!==m){i=s.stateNode,Sa(yn.current);var w=null;switch(d){case"input":y=Z(i,y),m=Z(i,m),w=[];break;case"select":y=Q({},y,{value:void 0}),m=Q({},m,{value:void 0}),w=[];break;case"textarea":y=wo(i,y),m=wo(i,m),w=[];break;default:typeof y.onClick!="function"&&typeof m.onClick=="function"&&(i.onclick=Tc)}he(d,m);var E;d=null;for(q in y)if(!m.hasOwnProperty(q)&&y.hasOwnProperty(q)&&y[q]!=null)if(q==="style"){var M=y[q];for(E in M)M.hasOwnProperty(E)&&(d||(d={}),d[E]="")}else q!=="dangerouslySetInnerHTML"&&q!=="children"&&q!=="suppressContentEditableWarning"&&q!=="suppressHydrationWarning"&&q!=="autoFocus"&&(a.hasOwnProperty(q)?w||(w=[]):(w=w||[]).push(q,null));for(q in m){var R=m[q];if(M=y!=null?y[q]:void 0,m.hasOwnProperty(q)&&R!==M&&(R!=null||M!=null))if(q==="style")if(M){for(E in M)!M.hasOwnProperty(E)||R&&R.hasOwnProperty(E)||(d||(d={}),d[E]="");for(E in R)R.hasOwnProperty(E)&&M[E]!==R[E]&&(d||(d={}),d[E]=R[E])}else d||(w||(w=[]),w.push(q,d)),d=R;else q==="dangerouslySetInnerHTML"?(R=R?R.__html:void 0,M=M?M.__html:void 0,R!=null&&M!==R&&(w=w||[]).push(q,R)):q==="children"?typeof R!="string"&&typeof R!="number"||(w=w||[]).push(q,""+R):q!=="suppressContentEditableWarning"&&q!=="suppressHydrationWarning"&&(a.hasOwnProperty(q)?(R!=null&&q==="onScroll"&&rt("scroll",i),w||M===R||(w=[])):(w=w||[]).push(q,R))}d&&(w=w||[]).push("style",d);var q=w;(s.updateQueue=q)&&(s.flags|=4)}},i1=function(i,s,d,m){d!==m&&(s.flags|=4)};function zl(i,s){if(!st)switch(i.tailMode){case"hidden":s=i.tail;for(var d=null;s!==null;)s.alternate!==null&&(d=s),s=s.sibling;d===null?i.tail=null:d.sibling=null;break;case"collapsed":d=i.tail;for(var m=null;d!==null;)d.alternate!==null&&(m=d),d=d.sibling;m===null?s||i.tail===null?i.tail=null:i.tail.sibling=null:m.sibling=null}}function Xt(i){var s=i.alternate!==null&&i.alternate.child===i.child,d=0,m=0;if(s)for(var y=i.child;y!==null;)d|=y.lanes|y.childLanes,m|=y.subtreeFlags&14680064,m|=y.flags&14680064,y.return=i,y=y.sibling;else for(y=i.child;y!==null;)d|=y.lanes|y.childLanes,m|=y.subtreeFlags,m|=y.flags,y.return=i,y=y.sibling;return i.subtreeFlags|=m,i.childLanes=d,s}function T5(i,s,d){var m=s.pendingProps;switch(Dp(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xt(s),null;case 1:return fr(s.type)&&Rc(),Xt(s),null;case 3:return m=s.stateNode,zo(),nt(dr),nt(Qt),qp(),m.pendingContext&&(m.context=m.pendingContext,m.pendingContext=null),(i===null||i.child===null)&&(Bc(s)?s.flags|=4:i===null||i.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,tn!==null&&(Sm(tn),tn=null))),hm(i,s),Xt(s),null;case 5:Gp(s);var y=Sa(Tl.current);if(d=s.type,i!==null&&s.stateNode!=null)n1(i,s,d,m,y),i.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!m){if(s.stateNode===null)throw Error(r(166));return Xt(s),null}if(i=Sa(yn.current),Bc(s)){m=s.stateNode,d=s.type;var w=s.memoizedProps;switch(m[vn]=s,m[Al]=w,i=(s.mode&1)!==0,d){case"dialog":rt("cancel",m),rt("close",m);break;case"iframe":case"object":case"embed":rt("load",m);break;case"video":case"audio":for(y=0;y<\/script>",i=i.removeChild(i.firstChild)):typeof m.is=="string"?i=E.createElement(d,{is:m.is}):(i=E.createElement(d),d==="select"&&(E=i,m.multiple?E.multiple=!0:m.size&&(E.size=m.size))):i=E.createElementNS(i,d),i[vn]=s,i[Al]=m,r1(i,s,!1,!1),s.stateNode=i;e:{switch(E=Pe(d,m),d){case"dialog":rt("cancel",i),rt("close",i),y=m;break;case"iframe":case"object":case"embed":rt("load",i),y=m;break;case"video":case"audio":for(y=0;yWo&&(s.flags|=128,m=!0,zl(w,!1),s.lanes=4194304)}else{if(!m)if(i=Vc(E),i!==null){if(s.flags|=128,m=!0,d=i.updateQueue,d!==null&&(s.updateQueue=d,s.flags|=4),zl(w,!0),w.tail===null&&w.tailMode==="hidden"&&!E.alternate&&!st)return Xt(s),null}else 2*vt()-w.renderingStartTime>Wo&&d!==1073741824&&(s.flags|=128,m=!0,zl(w,!1),s.lanes=4194304);w.isBackwards?(E.sibling=s.child,s.child=E):(d=w.last,d!==null?d.sibling=E:s.child=E,w.last=E)}return w.tail!==null?(s=w.tail,w.rendering=s,w.tail=s.sibling,w.renderingStartTime=vt(),s.sibling=null,d=ct.current,Je(ct,m?d&1|2:d&1),s):(Xt(s),null);case 22:case 23:return Em(),m=s.memoizedState!==null,i!==null&&i.memoizedState!==null!==m&&(s.flags|=8192),m&&(s.mode&1)!==0?(Er&1073741824)!==0&&(Xt(s),s.subtreeFlags&6&&(s.flags|=8192)):Xt(s),null;case 24:return null;case 25:return null}throw Error(r(156,s.tag))}function D5(i,s){switch(Dp(s),s.tag){case 1:return fr(s.type)&&Rc(),i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 3:return zo(),nt(dr),nt(Qt),qp(),i=s.flags,(i&65536)!==0&&(i&128)===0?(s.flags=i&-65537|128,s):null;case 5:return Gp(s),null;case 13:if(nt(ct),i=s.memoizedState,i!==null&&i.dehydrated!==null){if(s.alternate===null)throw Error(r(340));Do()}return i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 19:return nt(ct),null;case 4:return zo(),null;case 10:return Bp(s.type._context),null;case 22:case 23:return Em(),null;case 24:return null;default:return null}}var rd=!1,Zt=!1,R5=typeof WeakSet=="function"?WeakSet:Set,xe=null;function Bo(i,s){var d=i.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(m){ft(i,s,m)}else d.current=null}function pm(i,s,d){try{d()}catch(m){ft(i,s,m)}}var a1=!1;function $5(i,s){if(Ep=jc,i=$0(),yp(i)){if("selectionStart"in i)var d={start:i.selectionStart,end:i.selectionEnd};else e:{d=(d=i.ownerDocument)&&d.defaultView||window;var m=d.getSelection&&d.getSelection();if(m&&m.rangeCount!==0){d=m.anchorNode;var y=m.anchorOffset,w=m.focusNode;m=m.focusOffset;try{d.nodeType,w.nodeType}catch{d=null;break e}var E=0,M=-1,R=-1,q=0,ae=0,se=i,ne=null;t:for(;;){for(var ve;se!==d||y!==0&&se.nodeType!==3||(M=E+y),se!==w||m!==0&&se.nodeType!==3||(R=E+m),se.nodeType===3&&(E+=se.nodeValue.length),(ve=se.firstChild)!==null;)ne=se,se=ve;for(;;){if(se===i)break t;if(ne===d&&++q===y&&(M=E),ne===w&&++ae===m&&(R=E),(ve=se.nextSibling)!==null)break;se=ne,ne=se.parentNode}se=ve}d=M===-1||R===-1?null:{start:M,end:R}}else d=null}d=d||{start:0,end:0}}else d=null;for(Pp={focusedElem:i,selectionRange:d},jc=!1,xe=s;xe!==null;)if(s=xe,i=s.child,(s.subtreeFlags&1028)!==0&&i!==null)i.return=s,xe=i;else for(;xe!==null;){s=xe;try{var je=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(je!==null){var Se=je.memoizedProps,yt=je.memoizedState,W=s.stateNode,z=W.getSnapshotBeforeUpdate(s.elementType===s.type?Se:rn(s.type,Se),yt);W.__reactInternalSnapshotBeforeUpdate=z}break;case 3:var H=s.stateNode.containerInfo;H.nodeType===1?H.textContent="":H.nodeType===9&&H.documentElement&&H.removeChild(H.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(le){ft(s,s.return,le)}if(i=s.sibling,i!==null){i.return=s.return,xe=i;break}xe=s.return}return je=a1,a1=!1,je}function Fl(i,s,d){var m=s.updateQueue;if(m=m!==null?m.lastEffect:null,m!==null){var y=m=m.next;do{if((y.tag&i)===i){var w=y.destroy;y.destroy=void 0,w!==void 0&&pm(s,d,w)}y=y.next}while(y!==m)}}function nd(i,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var d=s=s.next;do{if((d.tag&i)===i){var m=d.create;d.destroy=m()}d=d.next}while(d!==s)}}function mm(i){var s=i.ref;if(s!==null){var d=i.stateNode;switch(i.tag){case 5:i=d;break;default:i=d}typeof s=="function"?s(i):s.current=i}}function o1(i){var s=i.alternate;s!==null&&(i.alternate=null,o1(s)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(s=i.stateNode,s!==null&&(delete s[vn],delete s[Al],delete s[_p],delete s[x5],delete s[b5])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function s1(i){return i.tag===5||i.tag===3||i.tag===4}function l1(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||s1(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function gm(i,s,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,s?d.nodeType===8?d.parentNode.insertBefore(i,s):d.insertBefore(i,s):(d.nodeType===8?(s=d.parentNode,s.insertBefore(i,d)):(s=d,s.appendChild(i)),d=d._reactRootContainer,d!=null||s.onclick!==null||(s.onclick=Tc));else if(m!==4&&(i=i.child,i!==null))for(gm(i,s,d),i=i.sibling;i!==null;)gm(i,s,d),i=i.sibling}function vm(i,s,d){var m=i.tag;if(m===5||m===6)i=i.stateNode,s?d.insertBefore(i,s):d.appendChild(i);else if(m!==4&&(i=i.child,i!==null))for(vm(i,s,d),i=i.sibling;i!==null;)vm(i,s,d),i=i.sibling}var Lt=null,nn=!1;function Ri(i,s,d){for(d=d.child;d!==null;)u1(i,s,d),d=d.sibling}function u1(i,s,d){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(gc,d)}catch{}switch(d.tag){case 5:Zt||Bo(d,s);case 6:var m=Lt,y=nn;Lt=null,Ri(i,s,d),Lt=m,nn=y,Lt!==null&&(nn?(i=Lt,d=d.stateNode,i.nodeType===8?i.parentNode.removeChild(d):i.removeChild(d)):Lt.removeChild(d.stateNode));break;case 18:Lt!==null&&(nn?(i=Lt,d=d.stateNode,i.nodeType===8?Op(i.parentNode,d):i.nodeType===1&&Op(i,d),yl(i)):Op(Lt,d.stateNode));break;case 4:m=Lt,y=nn,Lt=d.stateNode.containerInfo,nn=!0,Ri(i,s,d),Lt=m,nn=y;break;case 0:case 11:case 14:case 15:if(!Zt&&(m=d.updateQueue,m!==null&&(m=m.lastEffect,m!==null))){y=m=m.next;do{var w=y,E=w.destroy;w=w.tag,E!==void 0&&((w&2)!==0||(w&4)!==0)&&pm(d,s,E),y=y.next}while(y!==m)}Ri(i,s,d);break;case 1:if(!Zt&&(Bo(d,s),m=d.stateNode,typeof m.componentWillUnmount=="function"))try{m.props=d.memoizedProps,m.state=d.memoizedState,m.componentWillUnmount()}catch(M){ft(d,s,M)}Ri(i,s,d);break;case 21:Ri(i,s,d);break;case 22:d.mode&1?(Zt=(m=Zt)||d.memoizedState!==null,Ri(i,s,d),Zt=m):Ri(i,s,d);break;default:Ri(i,s,d)}}function c1(i){var s=i.updateQueue;if(s!==null){i.updateQueue=null;var d=i.stateNode;d===null&&(d=i.stateNode=new R5),s.forEach(function(m){var y=G5.bind(null,i,m);d.has(m)||(d.add(m),m.then(y,y))})}}function an(i,s){var d=s.deletions;if(d!==null)for(var m=0;my&&(y=E),m&=~w}if(m=y,m=vt()-m,m=(120>m?120:480>m?480:1080>m?1080:1920>m?1920:3e3>m?3e3:4320>m?4320:1960*z5(m/1960))-m,10i?16:i,Li===null)var m=!1;else{if(i=Li,Li=null,ld=0,(He&6)!==0)throw Error(r(331));var y=He;for(He|=4,xe=i.current;xe!==null;){var w=xe,E=w.child;if((xe.flags&16)!==0){var M=w.deletions;if(M!==null){for(var R=0;Rvt()-bm?Ca(i,0):xm|=d),mr(i,s)}function k1(i,s){s===0&&((i.mode&1)===0?s=1:(s=yc,yc<<=1,(yc&130023424)===0&&(yc=4194304)));var d=ir();i=Vn(i,s),i!==null&&(hl(i,s,d),mr(i,d))}function K5(i){var s=i.memoizedState,d=0;s!==null&&(d=s.retryLane),k1(i,d)}function G5(i,s){var d=0;switch(i.tag){case 13:var m=i.stateNode,y=i.memoizedState;y!==null&&(d=y.retryLane);break;case 19:m=i.stateNode;break;default:throw Error(r(314))}m!==null&&m.delete(s),k1(i,d)}var S1;S1=function(i,s,d){if(i!==null)if(i.memoizedProps!==s.pendingProps||dr.current)hr=!0;else{if((i.lanes&d)===0&&(s.flags&128)===0)return hr=!1,I5(i,s,d);hr=(i.flags&131072)!==0}else hr=!1,st&&(s.flags&1048576)!==0&&nb(s,Fc,s.index);switch(s.lanes=0,s.tag){case 2:var m=s.type;td(i,s),i=s.pendingProps;var y=Mo(s,Qt.current);Lo(s,d),y=Xp(null,s,m,i,y,d);var w=Zp();return s.flags|=1,typeof y=="object"&&y!==null&&typeof y.render=="function"&&y.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,fr(m)?(w=!0,$c(s)):w=!1,s.memoizedState=y.state!==null&&y.state!==void 0?y.state:null,Hp(s),y.updater=Jc,s.stateNode=y,y._reactInternals=s,im(s,m,i,d),s=lm(null,s,m,!0,w,d)):(s.tag=0,st&&w&&Tp(s),nr(null,s,y,d),s=s.child),s;case 16:m=s.elementType;e:{switch(td(i,s),i=s.pendingProps,y=m._init,m=y(m._payload),s.type=m,y=s.tag=q5(m),i=rn(m,i),y){case 0:s=sm(null,s,m,i,d);break e;case 1:s=Yb(null,s,m,i,d);break e;case 11:s=Kb(null,s,m,i,d);break e;case 14:s=Gb(null,s,m,rn(m.type,i),d);break e}throw Error(r(306,m,""))}return s;case 0:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),sm(i,s,m,y,d);case 1:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),Yb(i,s,m,y,d);case 3:e:{if(Xb(s),i===null)throw Error(r(387));m=s.pendingProps,w=s.memoizedState,y=w.element,fb(i,s),Gc(s,m,null,d);var E=s.memoizedState;if(m=E.element,w.isDehydrated)if(w={element:m,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},s.updateQueue.baseState=w,s.memoizedState=w,s.flags&256){y=Fo(Error(r(423)),s),s=Zb(i,s,m,d,y);break e}else if(m!==y){y=Fo(Error(r(424)),s),s=Zb(i,s,m,d,y);break e}else for(Nr=Oi(s.stateNode.containerInfo.firstChild),Sr=s,st=!0,tn=null,d=cb(s,null,m,d),s.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(Do(),m===y){s=Qn(i,s,d);break e}nr(i,s,m,d)}s=s.child}return s;case 5:return mb(s),i===null&&$p(s),m=s.type,y=s.pendingProps,w=i!==null?i.memoizedProps:null,E=y.children,Cp(m,y)?E=null:w!==null&&Cp(m,w)&&(s.flags|=32),Qb(i,s),nr(i,s,E,d),s.child;case 6:return i===null&&$p(s),null;case 13:return Jb(i,s,d);case 4:return Kp(s,s.stateNode.containerInfo),m=s.pendingProps,i===null?s.child=Ro(s,null,m,d):nr(i,s,m,d),s.child;case 11:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),Kb(i,s,m,y,d);case 7:return nr(i,s,s.pendingProps,d),s.child;case 8:return nr(i,s,s.pendingProps.children,d),s.child;case 12:return nr(i,s,s.pendingProps.children,d),s.child;case 10:e:{if(m=s.type._context,y=s.pendingProps,w=s.memoizedProps,E=y.value,Je(Wc,m._currentValue),m._currentValue=E,w!==null)if(en(w.value,E)){if(w.children===y.children&&!dr.current){s=Qn(i,s,d);break e}}else for(w=s.child,w!==null&&(w.return=s);w!==null;){var M=w.dependencies;if(M!==null){E=w.child;for(var R=M.firstContext;R!==null;){if(R.context===m){if(w.tag===1){R=qn(-1,d&-d),R.tag=2;var q=w.updateQueue;if(q!==null){q=q.shared;var ae=q.pending;ae===null?R.next=R:(R.next=ae.next,ae.next=R),q.pending=R}}w.lanes|=d,R=w.alternate,R!==null&&(R.lanes|=d),Up(w.return,d,s),M.lanes|=d;break}R=R.next}}else if(w.tag===10)E=w.type===s.type?null:w.child;else if(w.tag===18){if(E=w.return,E===null)throw Error(r(341));E.lanes|=d,M=E.alternate,M!==null&&(M.lanes|=d),Up(E,d,s),E=w.sibling}else E=w.child;if(E!==null)E.return=w;else for(E=w;E!==null;){if(E===s){E=null;break}if(w=E.sibling,w!==null){w.return=E.return,E=w;break}E=E.return}w=E}nr(i,s,y.children,d),s=s.child}return s;case 9:return y=s.type,m=s.pendingProps.children,Lo(s,d),y=Rr(y),m=m(y),s.flags|=1,nr(i,s,m,d),s.child;case 14:return m=s.type,y=rn(m,s.pendingProps),y=rn(m.type,y),Gb(i,s,m,y,d);case 15:return Vb(i,s,s.type,s.pendingProps,d);case 17:return m=s.type,y=s.pendingProps,y=s.elementType===m?y:rn(m,y),td(i,s),s.tag=1,fr(m)?(i=!0,$c(s)):i=!1,Lo(s,d),Lb(s,m,y),im(s,m,y,d),lm(null,s,m,!0,i,d);case 19:return t1(i,s,d);case 22:return qb(i,s,d)}throw Error(r(156,s.tag))};function N1(i,s){return i0(i,s)}function V5(i,s,d,m){this.tag=i,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=m,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zr(i,s,d,m){return new V5(i,s,d,m)}function Cm(i){return i=i.prototype,!(!i||!i.isReactComponent)}function q5(i){if(typeof i=="function")return Cm(i)?1:0;if(i!=null){if(i=i.$$typeof,i===$)return 11;if(i===ge)return 14}return 2}function Bi(i,s){var d=i.alternate;return d===null?(d=zr(i.tag,s,i.key,i.mode),d.elementType=i.elementType,d.type=i.type,d.stateNode=i.stateNode,d.alternate=i,i.alternate=d):(d.pendingProps=s,d.type=i.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=i.flags&14680064,d.childLanes=i.childLanes,d.lanes=i.lanes,d.child=i.child,d.memoizedProps=i.memoizedProps,d.memoizedState=i.memoizedState,d.updateQueue=i.updateQueue,s=i.dependencies,d.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},d.sibling=i.sibling,d.index=i.index,d.ref=i.ref,d}function fd(i,s,d,m,y,w){var E=2;if(m=i,typeof i=="function")Cm(i)&&(E=1);else if(typeof i=="string")E=5;else e:switch(i){case I:return Oa(d.children,y,w,s);case U:E=8,y|=8;break;case B:return i=zr(12,d,s,y|2),i.elementType=B,i.lanes=w,i;case ue:return i=zr(13,d,s,y),i.elementType=ue,i.lanes=w,i;case J:return i=zr(19,d,s,y),i.elementType=J,i.lanes=w,i;case pe:return hd(d,y,w,s);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case K:E=10;break e;case X:E=9;break e;case $:E=11;break e;case ge:E=14;break e;case we:E=16,m=null;break e}throw Error(r(130,i==null?i:typeof i,""))}return s=zr(E,d,s,y),s.elementType=i,s.type=m,s.lanes=w,s}function Oa(i,s,d,m){return i=zr(7,i,m,s),i.lanes=d,i}function hd(i,s,d,m){return i=zr(22,i,m,s),i.elementType=pe,i.lanes=d,i.stateNode={isHidden:!1},i}function Am(i,s,d){return i=zr(6,i,null,s),i.lanes=d,i}function Om(i,s,d){return s=zr(4,i.children!==null?i.children:[],i.key,s),s.lanes=d,s.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},s}function Q5(i,s,d,m,y){this.tag=s,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=np(0),this.expirationTimes=np(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=np(0),this.identifierPrefix=m,this.onRecoverableError=y,this.mutableSourceEagerHydrationData=null}function _m(i,s,d,m,y,w,E,M,R){return i=new Q5(i,s,d,M,R),s===1?(s=1,w===!0&&(s|=8)):s=0,w=zr(3,null,null,s),i.current=w,w.stateNode=i,w.memoizedState={element:m,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hp(w),i}function Y5(i,s,d){var m=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Lm.exports=cM(),Lm.exports}var F1;function dM(){if(F1)return wd;F1=1;var e=BN();return wd.createRoot=e.createRoot,wd.hydrateRoot=e.hydrateRoot,wd}var fM=dM();const hM=iy(fM);var Vu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ka,Xi,ps,ON,pM=(ON=class extends Vu{constructor(){super();De(this,Ka);De(this,Xi);De(this,ps);ye(this,ps,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){L(this,Xi)||this.setEventListener(L(this,ps))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Xi))==null||t.call(this),ye(this,Xi,void 0))}setEventListener(t){var r;ye(this,ps,t),(r=L(this,Xi))==null||r.call(this),ye(this,Xi,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){L(this,Ka)!==t&&(ye(this,Ka,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof L(this,Ka)=="boolean"?L(this,Ka):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Ka=new WeakMap,Xi=new WeakMap,ps=new WeakMap,ON),ay=new pM,mM={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Zi,ny,_N,gM=(_N=class{constructor(){De(this,Zi,mM);De(this,ny,!1)}setTimeoutProvider(e){ye(this,Zi,e)}setTimeout(e,t){return L(this,Zi).setTimeout(e,t)}clearTimeout(e){L(this,Zi).clearTimeout(e)}setInterval(e,t){return L(this,Zi).setInterval(e,t)}clearInterval(e){L(this,Zi).clearInterval(e)}},Zi=new WeakMap,ny=new WeakMap,_N),za=new gM;function vM(e){setTimeout(e,0)}var yM=typeof window>"u"||"Deno"in globalThis;function yr(){}function xM(e,t){return typeof e=="function"?e(t):e}function Ig(e){return typeof e=="number"&&e>=0&&e!==1/0}function UN(e,t){return Math.max(e+(t||0)-Date.now(),0)}function oa(e,t){return typeof e=="function"?e(t):e}function Cr(e,t){return typeof e=="function"?e(t):e}function B1(e,t){const{type:r="all",exact:n,fetchStatus:a,predicate:o,queryKey:u,stale:l}=e;if(u){if(n){if(t.queryHash!==oy(u,t.options))return!1}else if(!mu(t.queryKey,u))return!1}if(r!=="all"){const f=t.isActive();if(r==="active"&&!f||r==="inactive"&&f)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||a&&a!==t.state.fetchStatus||o&&!o(t))}function U1(e,t){const{exact:r,status:n,predicate:a,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(pu(t.options.mutationKey)!==pu(o))return!1}else if(!mu(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||a&&!a(t))}function oy(e,t){return((t==null?void 0:t.queryKeyHashFn)||pu)(e)}function pu(e){return JSON.stringify(e,(t,r)=>Dg(r)?Object.keys(r).sort().reduce((n,a)=>(n[a]=r[a],n),{}):r)}function mu(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>mu(e[r],t[r])):!1}var bM=Object.prototype.hasOwnProperty;function WN(e,t,r=0){if(e===t)return e;if(r>500)return t;const n=W1(e)&&W1(t);if(!n&&!(Dg(e)&&Dg(t)))return t;const o=(n?e:Object.keys(e)).length,u=n?t:Object.keys(t),l=u.length,f=n?new Array(l):{};let h=0;for(let p=0;p{za.setTimeout(t,e)})}function Rg(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?WN(e,t):t}function jM(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function kM(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var sy=Symbol();function HN(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===sy?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function KN(e,t){return typeof e=="function"?e(...t):!!e}function SM(e,t,r){let n=!1,a;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(a??(a=t()),n||(n=!0,a.aborted?r():a.addEventListener("abort",r,{once:!0})),a)}),e}var gu=(()=>{let e=()=>yM;return{isServer(){return e()},setIsServer(t){e=t}}})();function $g(){let e,t;const r=new Promise((a,o)=>{e=a,t=o});r.status="pending",r.catch(()=>{});function n(a){Object.assign(r,a),delete r.resolve,delete r.reject}return r.resolve=a=>{n({status:"fulfilled",value:a}),e(a)},r.reject=a=>{n({status:"rejected",reason:a}),t(a)},r}var NM=vM;function EM(){let e=[],t=0,r=l=>{l()},n=l=>{l()},a=NM;const o=l=>{t?e.push(l):a(()=>{r(l)})},u=()=>{const l=e;e=[],l.length&&a(()=>{n(()=>{l.forEach(f=>{r(f)})})})};return{batch:l=>{let f;t++;try{f=l()}finally{t--,t||u()}return f},batchCalls:l=>(...f)=>{o(()=>{l(...f)})},schedule:o,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{n=l},setScheduler:l=>{a=l}}}var Wt=EM(),ms,Ji,gs,MN,PM=(MN=class extends Vu{constructor(){super();De(this,ms,!0);De(this,Ji);De(this,gs);ye(this,gs,t=>{if(typeof window<"u"&&window.addEventListener){const r=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){L(this,Ji)||this.setEventListener(L(this,gs))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Ji))==null||t.call(this),ye(this,Ji,void 0))}setEventListener(t){var r;ye(this,gs,t),(r=L(this,Ji))==null||r.call(this),ye(this,Ji,t(this.setOnline.bind(this)))}setOnline(t){L(this,ms)!==t&&(ye(this,ms,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return L(this,ms)}},ms=new WeakMap,Ji=new WeakMap,gs=new WeakMap,MN),af=new PM;function CM(e){return Math.min(1e3*2**e,3e4)}function GN(e){return(e??"online")==="online"?af.isOnline():!0}var Lg=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function VN(e){let t=!1,r=0,n;const a=$g(),o=()=>a.status!=="pending",u=k=>{var S;if(!o()){const N=new Lg(k);x(N),(S=e.onCancel)==null||S.call(e,N)}},l=()=>{t=!0},f=()=>{t=!1},h=()=>ay.isFocused()&&(e.networkMode==="always"||af.isOnline())&&e.canRun(),p=()=>GN(e.networkMode)&&e.canRun(),g=k=>{o()||(n==null||n(),a.resolve(k))},x=k=>{o()||(n==null||n(),a.reject(k))},b=()=>new Promise(k=>{var S;n=N=>{(o()||h())&&k(N)},(S=e.onPause)==null||S.call(e)}).then(()=>{var k;n=void 0,o()||(k=e.onContinue)==null||k.call(e)}),j=()=>{if(o())return;let k;const S=r===0?e.initialPromise:void 0;try{k=S??e.fn()}catch(N){k=Promise.reject(N)}Promise.resolve(k).then(g).catch(N=>{var A;if(o())return;const P=e.retry??(gu.isServer()?0:3),O=e.retryDelay??CM,C=typeof O=="function"?O(r,N):O,_=P===!0||typeof P=="number"&&rh()?void 0:b()).then(()=>{t?x(N):j()})})};return{promise:a,status:()=>a.status,cancel:u,continue:()=>(n==null||n(),a),cancelRetry:l,continueRetry:f,canStart:p,start:()=>(p()?j():b().then(j),a)}}var Ga,IN,qN=(IN=class{constructor(){De(this,Ga)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ig(this.gcTime)&&ye(this,Ga,za.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(gu.isServer()?1/0:300*1e3))}clearGcTimeout(){L(this,Ga)!==void 0&&(za.clearTimeout(L(this,Ga)),ye(this,Ga,void 0))}},Ga=new WeakMap,IN);function AM(e){return{onFetch:(t,r)=>{var p,g,x,b,j;const n=t.options,a=(x=(g=(p=t.fetchOptions)==null?void 0:p.meta)==null?void 0:g.fetchMore)==null?void 0:x.direction,o=((b=t.state.data)==null?void 0:b.pages)||[],u=((j=t.state.data)==null?void 0:j.pageParams)||[];let l={pages:[],pageParams:[]},f=0;const h=async()=>{let k=!1;const S=O=>{SM(O,()=>t.signal,()=>k=!0)},N=HN(t.options,t.fetchOptions),P=async(O,C,_)=>{if(k)return Promise.reject(t.signal.reason);if(C==null&&O.pages.length)return Promise.resolve(O);const I=(()=>{const X={client:t.client,queryKey:t.queryKey,pageParam:C,direction:_?"backward":"forward",meta:t.options.meta};return S(X),X})(),U=await N(I),{maxPages:B}=t.options,K=_?kM:jM;return{pages:K(O.pages,U,B),pageParams:K(O.pageParams,C,B)}};if(a&&o.length){const O=a==="backward",C=O?OM:K1,_={pages:o,pageParams:u},A=C(n,_);l=await P(_,A,O)}else{const O=e??o.length;do{const C=f===0?u[0]??n.initialPageParam:K1(n,l);if(f>0&&C==null)break;l=await P(l,C),f++}while(f{var k,S;return(S=(k=t.options).persister)==null?void 0:S.call(k,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=h}}}function K1(e,{pages:t,pageParams:r}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}function OM(e,{pages:t,pageParams:r}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,r[0],r):void 0}var vs,Va,ys,Ur,qa,Mt,Uu,Qa,Pr,QN,Zn,TN,_M=(TN=class extends qN{constructor(t){super();De(this,Pr);De(this,vs);De(this,Va);De(this,ys);De(this,Ur);De(this,qa);De(this,Mt);De(this,Uu);De(this,Qa);ye(this,Qa,!1),ye(this,Uu,t.defaultOptions),this.setOptions(t.options),this.observers=[],ye(this,qa,t.client),ye(this,Ur,L(this,qa).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,ye(this,Va,V1(this.options)),this.state=t.state??L(this,Va),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return L(this,vs)}get promise(){var t;return(t=L(this,Mt))==null?void 0:t.promise}setOptions(t){if(this.options={...L(this,Uu),...t},t!=null&&t._type&&ye(this,vs,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=V1(this.options);r.data!==void 0&&(this.setState(G1(r.data,r.dataUpdatedAt)),ye(this,Va,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&L(this,Ur).remove(this)}setData(t,r){const n=Rg(this.state.data,t,this.options);return Fe(this,Pr,Zn).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(t){Fe(this,Pr,Zn).call(this,{type:"setState",state:t})}cancel(t){var n,a;const r=(n=L(this,Mt))==null?void 0:n.promise;return(a=L(this,Mt))==null||a.cancel(t),r?r.then(yr).catch(yr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return L(this,Va)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Cr(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===sy||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>oa(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!UN(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Mt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=L(this,Mt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),L(this,Ur).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||(L(this,Mt)&&(L(this,Qa)||Fe(this,Pr,QN).call(this)?L(this,Mt).cancel({revert:!0}):L(this,Mt).cancelRetry()),this.scheduleGc()),L(this,Ur).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Fe(this,Pr,Zn).call(this,{type:"invalidate"})}async fetch(t,r){var h,p,g,x,b,j,k,S,N,P,O;if(this.state.fetchStatus!=="idle"&&((h=L(this,Mt))==null?void 0:h.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(L(this,Mt))return L(this,Mt).continueRetry(),L(this,Mt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const C=this.observers.find(_=>_.options.queryFn);C&&this.setOptions(C.options)}const n=new AbortController,a=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(ye(this,Qa,!0),n.signal)})},o=()=>{const C=HN(this.options,r),A=(()=>{const I={client:L(this,qa),queryKey:this.queryKey,meta:this.meta};return a(I),I})();return ye(this,Qa,!1),this.options.persister?this.options.persister(C,A,this):C(A)},l=(()=>{const C={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:L(this,qa),state:this.state,fetchFn:o};return a(C),C})(),f=L(this,vs)==="infinite"?AM(this.options.pages):this.options.behavior;f==null||f.onFetch(l,this),ye(this,ys,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((p=l.fetchOptions)==null?void 0:p.meta))&&Fe(this,Pr,Zn).call(this,{type:"fetch",meta:(g=l.fetchOptions)==null?void 0:g.meta}),ye(this,Mt,VN({initialPromise:r==null?void 0:r.initialPromise,fn:l.fetchFn,onCancel:C=>{C instanceof Lg&&C.revert&&this.setState({...L(this,ys),fetchStatus:"idle"}),n.abort()},onFail:(C,_)=>{Fe(this,Pr,Zn).call(this,{type:"failed",failureCount:C,error:_})},onPause:()=>{Fe(this,Pr,Zn).call(this,{type:"pause"})},onContinue:()=>{Fe(this,Pr,Zn).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const C=await L(this,Mt).start();if(C===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(C),(b=(x=L(this,Ur).config).onSuccess)==null||b.call(x,C,this),(k=(j=L(this,Ur).config).onSettled)==null||k.call(j,C,this.state.error,this),C}catch(C){if(C instanceof Lg){if(C.silent)return L(this,Mt).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw Fe(this,Pr,Zn).call(this,{type:"error",error:C}),(N=(S=L(this,Ur).config).onError)==null||N.call(S,C,this),(O=(P=L(this,Ur).config).onSettled)==null||O.call(P,this.state.data,C,this),C}finally{this.scheduleGc()}}},vs=new WeakMap,Va=new WeakMap,ys=new WeakMap,Ur=new WeakMap,qa=new WeakMap,Mt=new WeakMap,Uu=new WeakMap,Qa=new WeakMap,Pr=new WeakSet,QN=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Zn=function(t){const r=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...YN(n.data,this.options),fetchMeta:t.meta??null};case"success":const a={...n,...G1(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return ye(this,ys,t.manual?a:void 0),a;case"error":const o=t.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=r(this.state),Wt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),L(this,Ur).notify({query:this,type:"updated",action:t})})},TN);function YN(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:GN(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function G1(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function V1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,n=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var vr,Ue,Wu,ar,Ya,xs,ei,ea,Hu,bs,ws,Xa,Za,ta,js,qe,ou,zg,Fg,Bg,Ug,Wg,Hg,Kg,XN,DN,MM=(DN=class extends Vu{constructor(t,r){super();De(this,qe);De(this,vr);De(this,Ue);De(this,Wu);De(this,ar);De(this,Ya);De(this,xs);De(this,ei);De(this,ea);De(this,Hu);De(this,bs);De(this,ws);De(this,Xa);De(this,Za);De(this,ta);De(this,js,new Set);this.options=r,ye(this,vr,t),ye(this,ea,null),ye(this,ei,$g()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(L(this,Ue).addObserver(this),q1(L(this,Ue),this.options)?Fe(this,qe,ou).call(this):this.updateResult(),Fe(this,qe,Ug).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Gg(L(this,Ue),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Gg(L(this,Ue),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Fe(this,qe,Wg).call(this),Fe(this,qe,Hg).call(this),L(this,Ue).removeObserver(this)}setOptions(t){const r=this.options,n=L(this,Ue);if(this.options=L(this,vr).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Cr(this.options.enabled,L(this,Ue))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Fe(this,qe,Kg).call(this),L(this,Ue).setOptions(this.options),r._defaulted&&!Tg(this.options,r)&&L(this,vr).getQueryCache().notify({type:"observerOptionsUpdated",query:L(this,Ue),observer:this});const a=this.hasListeners();a&&Q1(L(this,Ue),n,this.options,r)&&Fe(this,qe,ou).call(this),this.updateResult(),a&&(L(this,Ue)!==n||Cr(this.options.enabled,L(this,Ue))!==Cr(r.enabled,L(this,Ue))||oa(this.options.staleTime,L(this,Ue))!==oa(r.staleTime,L(this,Ue)))&&Fe(this,qe,zg).call(this);const o=Fe(this,qe,Fg).call(this);a&&(L(this,Ue)!==n||Cr(this.options.enabled,L(this,Ue))!==Cr(r.enabled,L(this,Ue))||o!==L(this,ta))&&Fe(this,qe,Bg).call(this,o)}getOptimisticResult(t){const r=L(this,vr).getQueryCache().build(L(this,vr),t),n=this.createResult(r,t);return TM(this,n)&&(ye(this,ar,n),ye(this,xs,this.options),ye(this,Ya,L(this,Ue).state)),n}getCurrentResult(){return L(this,ar)}trackResult(t,r){return new Proxy(t,{get:(n,a)=>(this.trackProp(a),r==null||r(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&L(this,ei).status==="pending"&&L(this,ei).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,a))})}trackProp(t){L(this,js).add(t)}getCurrentQuery(){return L(this,Ue)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=L(this,vr).defaultQueryOptions(t),n=L(this,vr).getQueryCache().build(L(this,vr),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(t){return Fe(this,qe,ou).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),L(this,ar)))}createResult(t,r){var B;const n=L(this,Ue),a=this.options,o=L(this,ar),u=L(this,Ya),l=L(this,xs),h=t!==n?t.state:L(this,Wu),{state:p}=t;let g={...p},x=!1,b;if(r._optimisticResults){const K=this.hasListeners(),X=!K&&q1(t,r),$=K&&Q1(t,n,r,a);(X||$)&&(g={...g,...YN(p.data,t.options)}),r._optimisticResults==="isRestoring"&&(g.fetchStatus="idle")}let{error:j,errorUpdatedAt:k,status:S}=g;b=g.data;let N=!1;if(r.placeholderData!==void 0&&b===void 0&&S==="pending"){let K;o!=null&&o.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData)?(K=o.data,N=!0):K=typeof r.placeholderData=="function"?r.placeholderData((B=L(this,ws))==null?void 0:B.state.data,L(this,ws)):r.placeholderData,K!==void 0&&(S="success",b=Rg(o==null?void 0:o.data,K,r),x=!0)}if(r.select&&b!==void 0&&!N)if(o&&b===(u==null?void 0:u.data)&&r.select===L(this,Hu))b=L(this,bs);else try{ye(this,Hu,r.select),b=r.select(b),b=Rg(o==null?void 0:o.data,b,r),ye(this,bs,b),ye(this,ea,null)}catch(K){ye(this,ea,K)}L(this,ea)&&(j=L(this,ea),b=L(this,bs),k=Date.now(),S="error");const P=g.fetchStatus==="fetching",O=S==="pending",C=S==="error",_=O&&P,A=b!==void 0,U={status:S,fetchStatus:g.fetchStatus,isPending:O,isSuccess:S==="success",isError:C,isInitialLoading:_,isLoading:_,data:b,dataUpdatedAt:g.dataUpdatedAt,error:j,errorUpdatedAt:k,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdateCount:g.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:g.dataUpdateCount>h.dataUpdateCount||g.errorUpdateCount>h.errorUpdateCount,isFetching:P,isRefetching:P&&!O,isLoadingError:C&&!A,isPaused:g.fetchStatus==="paused",isPlaceholderData:x,isRefetchError:C&&A,isStale:ly(t,r),refetch:this.refetch,promise:L(this,ei),isEnabled:Cr(r.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const K=U.data!==void 0,X=U.status==="error"&&!K,$=ge=>{X?ge.reject(U.error):K&&ge.resolve(U.data)},ue=()=>{const ge=ye(this,ei,U.promise=$g());$(ge)},J=L(this,ei);switch(J.status){case"pending":t.queryHash===n.queryHash&&$(J);break;case"fulfilled":(X||U.data!==J.value)&&ue();break;case"rejected":(!X||U.error!==J.reason)&&ue();break}}return U}updateResult(){const t=L(this,ar),r=this.createResult(L(this,Ue),this.options);if(ye(this,Ya,L(this,Ue).state),ye(this,xs,this.options),L(this,Ya).data!==void 0&&ye(this,ws,L(this,Ue)),Tg(r,t))return;ye(this,ar,r);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:a}=this.options,o=typeof a=="function"?a():a;if(o==="all"||!o&&!L(this,js).size)return!0;const u=new Set(o??L(this,js));return this.options.throwOnError&&u.add("error"),Object.keys(L(this,ar)).some(l=>{const f=l;return L(this,ar)[f]!==t[f]&&u.has(f)})};Fe(this,qe,XN).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Fe(this,qe,Ug).call(this)}},vr=new WeakMap,Ue=new WeakMap,Wu=new WeakMap,ar=new WeakMap,Ya=new WeakMap,xs=new WeakMap,ei=new WeakMap,ea=new WeakMap,Hu=new WeakMap,bs=new WeakMap,ws=new WeakMap,Xa=new WeakMap,Za=new WeakMap,ta=new WeakMap,js=new WeakMap,qe=new WeakSet,ou=function(t){Fe(this,qe,Kg).call(this);let r=L(this,Ue).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(yr)),r},zg=function(){Fe(this,qe,Wg).call(this);const t=oa(this.options.staleTime,L(this,Ue));if(gu.isServer()||L(this,ar).isStale||!Ig(t))return;const n=UN(L(this,ar).dataUpdatedAt,t)+1;ye(this,Xa,za.setTimeout(()=>{L(this,ar).isStale||this.updateResult()},n))},Fg=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(L(this,Ue)):this.options.refetchInterval)??!1},Bg=function(t){Fe(this,qe,Hg).call(this),ye(this,ta,t),!(gu.isServer()||Cr(this.options.enabled,L(this,Ue))===!1||!Ig(L(this,ta))||L(this,ta)===0)&&ye(this,Za,za.setInterval(()=>{(this.options.refetchIntervalInBackground||ay.isFocused())&&Fe(this,qe,ou).call(this)},L(this,ta)))},Ug=function(){Fe(this,qe,zg).call(this),Fe(this,qe,Bg).call(this,Fe(this,qe,Fg).call(this))},Wg=function(){L(this,Xa)!==void 0&&(za.clearTimeout(L(this,Xa)),ye(this,Xa,void 0))},Hg=function(){L(this,Za)!==void 0&&(za.clearInterval(L(this,Za)),ye(this,Za,void 0))},Kg=function(){const t=L(this,vr).getQueryCache().build(L(this,vr),this.options);if(t===L(this,Ue))return;const r=L(this,Ue);ye(this,Ue,t),ye(this,Wu,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},XN=function(t){Wt.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(L(this,ar))}),L(this,vr).getQueryCache().notify({query:L(this,Ue),type:"observerResultsUpdated"})})},DN);function IM(e,t){return Cr(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Cr(t.retryOnMount,e)===!1)}function q1(e,t){return IM(e,t)||e.state.data!==void 0&&Gg(e,t,t.refetchOnMount)}function Gg(e,t,r){if(Cr(t.enabled,e)!==!1&&oa(t.staleTime,e)!=="static"){const n=typeof r=="function"?r(e):r;return n==="always"||n!==!1&&ly(e,t)}return!1}function Q1(e,t,r,n){return(e!==t||Cr(n.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&ly(e,r)}function ly(e,t){return Cr(t.enabled,e)!==!1&&e.isStaleByTime(oa(t.staleTime,e))}function TM(e,t){return!Tg(e.getCurrentResult(),t)}var Ku,Nn,Jt,Ja,En,Gi,RN,DM=(RN=class extends qN{constructor(t){super();De(this,En);De(this,Ku);De(this,Nn);De(this,Jt);De(this,Ja);ye(this,Ku,t.client),this.mutationId=t.mutationId,ye(this,Jt,t.mutationCache),ye(this,Nn,[]),this.state=t.state||RM(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){L(this,Nn).includes(t)||(L(this,Nn).push(t),this.clearGcTimeout(),L(this,Jt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){ye(this,Nn,L(this,Nn).filter(r=>r!==t)),this.scheduleGc(),L(this,Jt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){L(this,Nn).length||(this.state.status==="pending"?this.scheduleGc():L(this,Jt).remove(this))}continue(){var t;return((t=L(this,Ja))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var u,l,f,h,p,g,x,b,j,k,S,N,P,O,C,_,A,I;const r=()=>{Fe(this,En,Gi).call(this,{type:"continue"})},n={client:L(this,Ku),meta:this.options.meta,mutationKey:this.options.mutationKey};ye(this,Ja,VN({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(U,B)=>{Fe(this,En,Gi).call(this,{type:"failed",failureCount:U,error:B})},onPause:()=>{Fe(this,En,Gi).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>L(this,Jt).canRun(this)}));const a=this.state.status==="pending",o=!L(this,Ja).canStart();try{if(a)r();else{Fe(this,En,Gi).call(this,{type:"pending",variables:t,isPaused:o}),L(this,Jt).config.onMutate&&await L(this,Jt).config.onMutate(t,this,n);const B=await((l=(u=this.options).onMutate)==null?void 0:l.call(u,t,n));B!==this.state.context&&Fe(this,En,Gi).call(this,{type:"pending",context:B,variables:t,isPaused:o})}const U=await L(this,Ja).start();return await((h=(f=L(this,Jt).config).onSuccess)==null?void 0:h.call(f,U,t,this.state.context,this,n)),await((g=(p=this.options).onSuccess)==null?void 0:g.call(p,U,t,this.state.context,n)),await((b=(x=L(this,Jt).config).onSettled)==null?void 0:b.call(x,U,null,this.state.variables,this.state.context,this,n)),await((k=(j=this.options).onSettled)==null?void 0:k.call(j,U,null,t,this.state.context,n)),Fe(this,En,Gi).call(this,{type:"success",data:U}),U}catch(U){try{await((N=(S=L(this,Jt).config).onError)==null?void 0:N.call(S,U,t,this.state.context,this,n))}catch(B){Promise.reject(B)}try{await((O=(P=this.options).onError)==null?void 0:O.call(P,U,t,this.state.context,n))}catch(B){Promise.reject(B)}try{await((_=(C=L(this,Jt).config).onSettled)==null?void 0:_.call(C,void 0,U,this.state.variables,this.state.context,this,n))}catch(B){Promise.reject(B)}try{await((I=(A=this.options).onSettled)==null?void 0:I.call(A,void 0,U,t,this.state.context,n))}catch(B){Promise.reject(B)}throw Fe(this,En,Gi).call(this,{type:"error",error:U}),U}finally{L(this,Jt).runNext(this)}}},Ku=new WeakMap,Nn=new WeakMap,Jt=new WeakMap,Ja=new WeakMap,En=new WeakSet,Gi=function(t){const r=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Wt.batch(()=>{L(this,Nn).forEach(n=>{n.onMutationUpdate(t)}),L(this,Jt).notify({mutation:this,type:"updated",action:t})})},RN);function RM(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ti,ln,Gu,$N,$M=($N=class extends Vu{constructor(t={}){super();De(this,ti);De(this,ln);De(this,Gu);this.config=t,ye(this,ti,new Set),ye(this,ln,new Map),ye(this,Gu,0)}build(t,r,n){const a=new DM({client:t,mutationCache:this,mutationId:++bd(this,Gu)._,options:t.defaultMutationOptions(r),state:n});return this.add(a),a}add(t){L(this,ti).add(t);const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r);n?n.push(t):L(this,ln).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if(L(this,ti).delete(t)){const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r);if(n)if(n.length>1){const a=n.indexOf(t);a!==-1&&n.splice(a,1)}else n[0]===t&&L(this,ln).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=jd(t);if(typeof r=="string"){const n=L(this,ln).get(r),a=n==null?void 0:n.find(o=>o.state.status==="pending");return!a||a===t}else return!0}runNext(t){var n;const r=jd(t);if(typeof r=="string"){const a=(n=L(this,ln).get(r))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Wt.batch(()=>{L(this,ti).forEach(t=>{this.notify({type:"removed",mutation:t})}),L(this,ti).clear(),L(this,ln).clear()})}getAll(){return Array.from(L(this,ti))}find(t){const r={exact:!0,...t};return this.getAll().find(n=>U1(r,n))}findAll(t={}){return this.getAll().filter(r=>U1(t,r))}notify(t){Wt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Wt.batch(()=>Promise.all(t.map(r=>r.continue().catch(yr))))}},ti=new WeakMap,ln=new WeakMap,Gu=new WeakMap,$N);function jd(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Pn,LN,LM=(LN=class extends Vu{constructor(t={}){super();De(this,Pn);this.config=t,ye(this,Pn,new Map)}build(t,r,n){const a=r.queryKey,o=r.queryHash??oy(a,r);let u=this.get(o);return u||(u=new _M({client:t,queryKey:a,queryHash:o,options:t.defaultQueryOptions(r),state:n,defaultOptions:t.getQueryDefaults(a)}),this.add(u)),u}add(t){L(this,Pn).has(t.queryHash)||(L(this,Pn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=L(this,Pn).get(t.queryHash);r&&(t.destroy(),r===t&&L(this,Pn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Wt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return L(this,Pn).get(t)}getAll(){return[...L(this,Pn).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(n=>B1(r,n))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(n=>B1(t,n)):r}notify(t){Wt.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Wt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Wt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pn=new WeakMap,LN),ht,ra,na,ks,Ss,ia,Ns,Es,zN,zM=(zN=class{constructor(e={}){De(this,ht);De(this,ra);De(this,na);De(this,ks);De(this,Ss);De(this,ia);De(this,Ns);De(this,Es);ye(this,ht,e.queryCache||new LM),ye(this,ra,e.mutationCache||new $M),ye(this,na,e.defaultOptions||{}),ye(this,ks,new Map),ye(this,Ss,new Map),ye(this,ia,0)}mount(){bd(this,ia)._++,L(this,ia)===1&&(ye(this,Ns,ay.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,ht).onFocus())})),ye(this,Es,af.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,ht).onOnline())})))}unmount(){var e,t;bd(this,ia)._--,L(this,ia)===0&&((e=L(this,Ns))==null||e.call(this),ye(this,Ns,void 0),(t=L(this,Es))==null||t.call(this),ye(this,Es,void 0))}isFetching(e){return L(this,ht).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return L(this,ra).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,ht).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=L(this,ht).build(this,t),n=r.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(oa(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return L(this,ht).findAll(e).map(({queryKey:t,state:r})=>{const n=r.data;return[t,n]})}setQueryData(e,t,r){const n=this.defaultQueryOptions({queryKey:e}),a=L(this,ht).get(n.queryHash),o=a==null?void 0:a.state.data,u=xM(t,o);if(u!==void 0)return L(this,ht).build(this,n).setData(u,{...r,manual:!0})}setQueriesData(e,t,r){return Wt.batch(()=>L(this,ht).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=L(this,ht).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=L(this,ht);Wt.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=L(this,ht);return Wt.batch(()=>(r.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},n=Wt.batch(()=>L(this,ht).findAll(e).map(a=>a.cancel(r)));return Promise.all(n).then(yr).catch(yr)}invalidateQueries(e,t={}){return Wt.batch(()=>(L(this,ht).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},n=Wt.batch(()=>L(this,ht).findAll(e).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let o=a.fetch(void 0,r);return r.throwOnError||(o=o.catch(yr)),a.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(yr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=L(this,ht).build(this,t);return r.isStaleByTime(oa(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(yr).catch(yr)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(yr).catch(yr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return af.isOnline()?L(this,ra).resumePausedMutations():Promise.resolve()}getQueryCache(){return L(this,ht)}getMutationCache(){return L(this,ra)}getDefaultOptions(){return L(this,na)}setDefaultOptions(e){ye(this,na,e)}setQueryDefaults(e,t){L(this,ks).set(pu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...L(this,ks).values()],r={};return t.forEach(n=>{mu(e,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(e,t){L(this,Ss).set(pu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...L(this,Ss).values()],r={};return t.forEach(n=>{mu(e,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...L(this,na).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=oy(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===sy&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...L(this,na).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){L(this,ht).clear(),L(this,ra).clear()}},ht=new WeakMap,ra=new WeakMap,na=new WeakMap,ks=new WeakMap,Ss=new WeakMap,ia=new WeakMap,Ns=new WeakMap,Es=new WeakMap,zN),ZN=v.createContext(void 0),po=e=>{const t=v.useContext(ZN);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},FM=({client:e,children:t})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(ZN.Provider,{value:e,children:t})),JN=v.createContext(!1),BM=()=>v.useContext(JN);JN.Provider;function UM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var WM=v.createContext(UM()),HM=()=>v.useContext(WM),KM=(e,t,r)=>{const n=r!=null&&r.state.error&&typeof e.throwOnError=="function"?KN(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||n)&&(t.isReset()||(e.retryOnMount=!1))},GM=e=>{v.useEffect(()=>{e.clearReset()},[e])},VM=({result:e,errorResetBoundary:t,throwOnError:r,query:n,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(a&&e.data===void 0||KN(r,[e.error,n])),qM=e=>{if(e.suspense){const r=a=>a==="static"?a:Math.max(a??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...a)=>r(n(...a)):r(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},QM=(e,t)=>e.isLoading&&e.isFetching&&!t,YM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Y1=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function XM(e,t,r){var b,j,k,S;const n=BM(),a=HM(),o=po(),u=o.defaultQueryOptions(e);(j=(b=o.getDefaultOptions().queries)==null?void 0:b._experimental_beforeQuery)==null||j.call(b,u);const l=o.getQueryCache().get(u.queryHash),f=e.subscribed!==!1;u._optimisticResults=n?"isRestoring":f?"optimistic":void 0,qM(u),KM(u,a,l),GM(a);const h=!o.getQueryCache().get(u.queryHash),[p]=v.useState(()=>new t(o,u)),g=p.getOptimisticResult(u),x=!n&&f;if(v.useSyncExternalStore(v.useCallback(N=>{const P=x?p.subscribe(Wt.batchCalls(N)):yr;return p.updateResult(),P},[p,x]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),v.useEffect(()=>{p.setOptions(u)},[u,p]),YM(u,g))throw Y1(u,p,a);if(VM({result:g,errorResetBoundary:a,throwOnError:u.throwOnError,query:l,suspense:u.suspense}))throw g.error;if((S=(k=o.getDefaultOptions().queries)==null?void 0:k._experimental_afterQuery)==null||S.call(k,u,g),u.experimental_prefetchInRender&&!gu.isServer()&&QM(g,n)){const N=h?Y1(u,p,a):l==null?void 0:l.promise;N==null||N.catch(yr).finally(()=>{p.updateResult()})}return u.notifyOnChangeProps?g:p.trackResult(g)}function ur(e,t){return XM(e,MM)}/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -312,11 +312,6 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const EI=Ce("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);/** - * @license lucide-react v0.460.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. */const ju=Ce("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.460.0 - ISC * @@ -332,7 +327,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PI=Ce("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** + */const EI=Ce("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -347,8 +342,8 @@ Error generating stack: `+w.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ls=Ce("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Zg=[{id:"dashboard",label:"Zentrale",hint:"System- & Stack-Status",icon:hI},{id:"models",label:"Modell-Manager",hint:"Verwalten, laden & Gateway-Routing",icon:tI},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:yu},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:xI},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Ps},{id:"terminal",label:"Terminal",hint:"Interaktives Hermes-Agent-Terminal",icon:i2},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:aI}];var J1=1,CI=.9,AI=.8,OI=.17,Um=.1,Wm=.999,_I=.9999,MI=.99,II=/[\\\/_+.#"@\[\(\{&]/,TI=/[\\\/_+.#"@\[\(\{&]/g,DI=/[\s-]/,o2=/[\s-]/g;function Jg(e,t,r,n,a,o,u){if(o===t.length)return a===e.length?J1:MI;var l=`${a},${o}`;if(u[l]!==void 0)return u[l];for(var f=n.charAt(o),h=r.indexOf(f,a),p=0,g,x,b,j;h>=0;)g=Jg(e,t,r,n,h+1,o+1,u),g>p&&(h===a?g*=J1:II.test(e.charAt(h-1))?(g*=AI,b=e.slice(a,h-1).match(TI),b&&a>0&&(g*=Math.pow(Wm,b.length))):DI.test(e.charAt(h-1))?(g*=CI,j=e.slice(a,h-1).match(o2),j&&a>0&&(g*=Math.pow(Wm,j.length))):(g*=OI,a>0&&(g*=Math.pow(Wm,h-a))),e.charAt(h)!==t.charAt(o)&&(g*=_I)),(gg&&(g=x*Um)),g>p&&(p=g),h=r.indexOf(f,h+1);return u[l]=p,p}function ew(e){return e.toLowerCase().replace(o2," ")}function RI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Jg(e,t,ew(e),ew(t),0,0,{})}function sa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e==null||e(a),r===!1||!a.defaultPrevented)return t==null?void 0:t(a)}}function tw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function As(...e){return t=>{let r=!1;const n=e.map(a=>{const o=tw(a,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;a{var N;const{scope:x,children:b,...j}=g,k=((N=x==null?void 0:x[e])==null?void 0:N[f])||l,S=v.useMemo(()=>j,Object.values(j));return c.jsx(k.Provider,{value:S,children:b})};h.displayName=o+"Provider";function p(g,x){var k;const b=((k=x==null?void 0:x[e])==null?void 0:k[f])||l,j=v.useContext(b);if(j)return j;if(u!==void 0)return u;throw new Error(`\`${g}\` must be used within \`${o}\``)}return[h,p]}const a=()=>{const o=r.map(u=>v.createContext(u));return function(l){const f=(l==null?void 0:l[e])||o;return v.useMemo(()=>({[`__scope${e}`]:{...l,[e]:f}}),[l,f])}};return a.scopeName=e,[n,LI(a,...t)]}function LI(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(o){const u=n.reduce((l,{useScope:f,scopeName:h})=>{const g=f(o)[`__scope${h}`];return{...l,...g}},{});return v.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return r.scopeName=t.scopeName,r}var Su=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},zI=rh[" useId ".trim().toString()]||(()=>{}),FI=0;function si(e){const[t,r]=v.useState(zI());return Su(()=>{r(n=>n??String(FI++))},[e]),t?`radix-${t}`:""}var BI=rh[" useInsertionEffect ".trim().toString()]||Su;function UI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[a,o,u]=WI({defaultProp:t,onChange:r}),l=e!==void 0,f=l?e:a;{const p=v.useRef(e!==void 0);v.useEffect(()=>{const g=p.current;g!==l&&console.warn(`${n} is changing from ${g?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=l},[l,n])}const h=v.useCallback(p=>{var g;if(l){const x=HI(p)?p(e):p;x!==e&&((g=u.current)==null||g.call(u,x))}else o(p)},[l,e,o,u]);return[f,h]}function WI({defaultProp:e,onChange:t}){const[r,n]=v.useState(e),a=v.useRef(r),o=v.useRef(t);return BI(()=>{o.current=t},[t]),v.useEffect(()=>{var u;a.current!==r&&((u=o.current)==null||u.call(o,r),a.current=r)},[r,a]),[r,n,o]}function HI(e){return typeof e=="function"}var nh=BN();function s2(e){const t=v.forwardRef((r,n)=>{let{children:a,...o}=r,u=null,l=!1;const f=[];rw(a)&&typeof Sd=="function"&&(a=Sd(a._payload)),v.Children.forEach(a,x=>{var b;if(QI(x)){l=!0;const j=x;let k="child"in j.props?j.props.child:j.props.children;rw(k)&&typeof Sd=="function"&&(k=Sd(k._payload)),u=GI(j,k),f.push((b=u==null?void 0:u.props)==null?void 0:b.children)}else f.push(x)}),u?u=v.cloneElement(u,void 0,f):!l&&v.Children.count(a)===1&&v.isValidElement(a)&&(u=a);const h=u?qI(u):void 0,p=mo(n,h);if(!u){if(a||a===0)throw new Error(l?JI(e):ZI(e));return a}const g=VI(o,u.props??{});return u.type!==v.Fragment&&(g.ref=n?p:h),v.cloneElement(u,g)});return t.displayName=`${e}.Slot`,t}var KI=Symbol.for("radix.slottable"),GI=(e,t)=>{if("child"in e.props){const r=e.props.child;return v.isValidElement(r)?v.cloneElement(r,void 0,e.props.children(r.props.children)):null}return v.isValidElement(t)?t:null};function VI(e,t){const r={...t};for(const n in t){const a=e[n],o=t[n];/^on[A-Z]/.test(n)?a&&o?r[n]=(...l)=>{const f=o(...l);return a(...l),f}:a&&(r[n]=a):n==="style"?r[n]={...a,...o}:n==="className"&&(r[n]=[a,o].filter(Boolean).join(" "))}return{...e,...r}}function qI(e){var n,a;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function QI(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===KI}var YI=Symbol.for("react.lazy");function rw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===YI&&"_payload"in e&&XI(e._payload)}function XI(e){return typeof e=="object"&&e!==null&&"then"in e}var ZI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,JI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Sd=rh[" use ".trim().toString()],eT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Gt=eT.reduce((e,t)=>{const r=s2(`Primitive.${t}`),n=v.forwardRef((a,o)=>{const{asChild:u,...l}=a,f=u?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(f,{...l,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function tT(e,t){e&&nh.flushSync(()=>e.dispatchEvent(t))}function Nu(e){const t=v.useRef(e);return v.useEffect(()=>{t.current=e}),v.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function rT(e,t=globalThis==null?void 0:globalThis.document){const r=Nu(e);v.useEffect(()=>{const n=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var nT="DismissableLayer",ev="dismissableLayer.update",iT="dismissableLayer.pointerDownOutside",aT="dismissableLayer.focusOutside",nw,cy=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),l2=v.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:l,onDismiss:f,...h}=e,p=v.useContext(cy),[g,x]=v.useState(null),b=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=v.useState({}),k=mo(t,B=>x(B)),S=Array.from(p.layers),[N]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),P=S.indexOf(N),O=g?S.indexOf(g):-1,C=p.layersWithOutsidePointerEventsDisabled.size>0,_=O>=P,A=v.useRef(!1),I=uT(B=>{const K=B.target;if(!(K instanceof Node))return;const X=[...p.branches].some($=>$.contains(K));!_||X||(o==null||o(B),l==null||l(B),B.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:A,dismissableSurfaces:p.dismissableSurfaces}),U=cT(B=>{if(n&&A.current)return;const K=B.target;[...p.branches].some($=>$.contains(K))||(u==null||u(B),l==null||l(B),B.defaultPrevented||f==null||f())},b);return rT(B=>{O===p.layers.size-1&&(a==null||a(B),!B.defaultPrevented&&f&&(B.preventDefault(),f()))},b),v.useEffect(()=>{if(g)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(nw=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(g)),p.layers.add(g),iw(),()=>{r&&(p.layersWithOutsidePointerEventsDisabled.delete(g),p.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=nw))}},[g,b,r,p]),v.useEffect(()=>()=>{g&&(p.layers.delete(g),p.layersWithOutsidePointerEventsDisabled.delete(g),iw())},[g,p]),v.useEffect(()=>{const B=()=>j({});return document.addEventListener(ev,B),()=>document.removeEventListener(ev,B)},[]),c.jsx(Gt.div,{...h,ref:k,style:{pointerEvents:C?_?"auto":"none":void 0,...e.style},onFocusCapture:sa(e.onFocusCapture,U.onFocusCapture),onBlurCapture:sa(e.onBlurCapture,U.onBlurCapture),onPointerDownCapture:sa(e.onPointerDownCapture,I.onPointerDownCapture)})});l2.displayName=nT;var oT="DismissableLayerBranch",sT=v.forwardRef((e,t)=>{const r=v.useContext(cy),n=v.useRef(null),a=mo(t,n);return v.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),c.jsx(Gt.div,{...e,ref:a})});sT.displayName=oT;function lT(){const e=v.useContext(cy),[t,r]=v.useState(null);return v.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function uT(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:a,dismissableSurfaces:o}=t,u=Nu(e),l=v.useRef(!1),f=v.useRef(!1),h=v.useRef(new Map),p=v.useRef(()=>{});return v.useEffect(()=>{function g(){f.current=!1,a.current=!1,h.current.clear()}function x(){return Array.from(h.current.values()).some(Boolean)}function b(P){if(!f.current)return;const O=P.target;O instanceof Node&&[...o].some(_=>_.contains(O))||h.current.set(P.type,!0),P.type==="click"&&window.setTimeout(()=>{f.current&&p.current()},0)}function j(P){f.current&&h.current.set(P.type,!1)}const k=P=>{if(P.target&&!l.current){let O=function(){r.removeEventListener("click",p.current);const _=x();g(),_||u2(iT,u,C,{discrete:!0})};const C={originalEvent:P};f.current=!0,a.current=n&&P.button===0,h.current.clear(),!n||P.button!==0?O():(r.removeEventListener("click",p.current),p.current=O,r.addEventListener("click",p.current,{once:!0}))}else r.removeEventListener("click",p.current),g();l.current=!1},S=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const P of S)r.addEventListener(P,b,!0),r.addEventListener(P,j);const N=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(N),r.removeEventListener("pointerdown",k),r.removeEventListener("click",p.current);for(const P of S)r.removeEventListener(P,b,!0),r.removeEventListener(P,j)}},[r,u,n,a,o]),{onPointerDownCapture:()=>l.current=!0}}function cT(e,t=globalThis==null?void 0:globalThis.document){const r=Nu(e),n=v.useRef(!1);return v.useEffect(()=>{const a=o=>{o.target&&!n.current&&u2(aT,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function iw(){const e=new CustomEvent(ev);document.dispatchEvent(e)}function u2(e,t,r,{discrete:n}){const a=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),n?tT(a,o):a.dispatchEvent(o)}var Hm="focusScope.autoFocusOnMount",Km="focusScope.autoFocusOnUnmount",aw={bubbles:!1,cancelable:!0},dT="FocusScope",c2=v.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...u}=e,[l,f]=v.useState(null),h=Nu(a),p=Nu(o),g=v.useRef(null),x=mo(t,k=>f(k)),b=v.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;v.useEffect(()=>{if(n){let k=function(O){if(b.paused||!l)return;const C=O.target;l.contains(C)?g.current=C:Vi(g.current,{select:!0})},S=function(O){if(b.paused||!l)return;const C=O.relatedTarget;C!==null&&(l.contains(C)||Vi(g.current,{select:!0}))},N=function(O){if(document.activeElement===document.body)for(const _ of O)_.removedNodes.length>0&&Vi(l)};document.addEventListener("focusin",k),document.addEventListener("focusout",S);const P=new MutationObserver(N);return l&&P.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",S),P.disconnect()}}},[n,l,b.paused]),v.useEffect(()=>{if(l){sw.add(b);const k=document.activeElement;if(!l.contains(k)){const N=new CustomEvent(Hm,aw);l.addEventListener(Hm,h),l.dispatchEvent(N),N.defaultPrevented||(fT(vT(d2(l)),{select:!0}),document.activeElement===k&&Vi(l))}return()=>{l.removeEventListener(Hm,h),setTimeout(()=>{const N=new CustomEvent(Km,aw);l.addEventListener(Km,p),l.dispatchEvent(N),N.defaultPrevented||Vi(k??document.body,{select:!0}),l.removeEventListener(Km,p),sw.remove(b)},0)}}},[l,h,p,b]);const j=v.useCallback(k=>{if(!r&&!n||b.paused)return;const S=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,N=document.activeElement;if(S&&N){const P=k.currentTarget,[O,C]=hT(P);O&&C?!k.shiftKey&&N===C?(k.preventDefault(),r&&Vi(O,{select:!0})):k.shiftKey&&N===O&&(k.preventDefault(),r&&Vi(C,{select:!0})):N===P&&k.preventDefault()}},[r,n,b.paused]);return c.jsx(Gt.div,{tabIndex:-1,...u,ref:x,onKeyDown:j})});c2.displayName=dT;function fT(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(Vi(n,{select:t}),document.activeElement!==r)return}function hT(e){const t=d2(e),r=ow(t,e),n=ow(t.reverse(),e);return[r,n]}function d2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const a=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||a?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function ow(e,t){for(const r of e)if(!pT(r,{upTo:t}))return r}function pT(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function mT(e){return e instanceof HTMLInputElement&&"select"in e}function Vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&mT(e)&&t&&e.select()}}var sw=gT();function gT(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=lw(e,t),e.unshift(t)},remove(t){var r;e=lw(e,t),(r=e[0])==null||r.resume()}}}function lw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function vT(e){return e.filter(t=>t.tagName!=="A")}var yT="Portal",f2=v.forwardRef((e,t)=>{var l;const{container:r,...n}=e,[a,o]=v.useState(!1);Su(()=>o(!0),[]);const u=r||a&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return u?nh.createPortal(c.jsx(Gt.div,{...n,ref:t}),u):null});f2.displayName=yT;function xT(e,t){return v.useReducer((r,n)=>t[r][n]??r,e)}var ih=e=>{const{present:t,children:r}=e,n=bT(t),a=typeof r=="function"?r({present:n.isPresent}):v.Children.only(r),o=wT(n.ref,jT(a));return typeof r=="function"||n.isPresent?v.cloneElement(a,{ref:o}):null};ih.displayName="Presence";function bT(e){const[t,r]=v.useState(),n=v.useRef(null),a=v.useRef(e),o=v.useRef("none"),u=e?"mounted":"unmounted",[l,f]=xT(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const h=Nd(n.current);o.current=l==="mounted"?h:"none"},[l]),Su(()=>{const h=n.current,p=a.current;if(p!==e){const x=o.current,b=Nd(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(p&&x!==b?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,f]),Su(()=>{if(t){let h;const p=t.ownerDocument.defaultView??window,g=b=>{const k=Nd(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(f("ANIMATION_END"),!a.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",h=p.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},x=b=>{b.target===t&&(o.current=Nd(n.current))};return t.addEventListener("animationstart",x),t.addEventListener("animationcancel",g),t.addEventListener("animationend",g),()=>{p.clearTimeout(h),t.removeEventListener("animationstart",x),t.removeEventListener("animationcancel",g),t.removeEventListener("animationend",g)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:v.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function uw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function wT(...e){const t=v.useRef(e);return t.current=e,v.useCallback(r=>{const n=t.current;let a=!1;const o=n.map(u=>{const l=uw(u,r);return!a&&typeof l=="function"&&(a=!0),l});if(a)return()=>{for(let u=0;u{wn||(wn={start:cw(),end:cw()});const{start:e,end:t}=wn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ed++,()=>{Ed===1&&(wn==null||wn.start.remove(),wn==null||wn.end.remove(),wn=null),Ed=Math.max(0,Ed-1)}},[])}function cw(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Cn=function(){return Cn=Object.assign||function(t){for(var r,n=1,a=arguments.length;n"u")return FT;var t=BT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},WT=g2(),us="data-scroll-locked",HT=function(e,t,r,n){var a=e.left,o=e.top,u=e.right,l=e.gap;return r===void 0&&(r="margin"),` - .`.concat(NT,` { + */const ls=Ce("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Zg=[{id:"dashboard",label:"Zentrale",hint:"System- & Stack-Status",icon:hI},{id:"models",label:"Modell-Manager",hint:"Verwalten, laden & Gateway-Routing",icon:tI},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:yu},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:xI},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Ps},{id:"terminal",label:"Terminal",hint:"Interaktives Hermes-Agent-Terminal",icon:i2},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:aI}];var J1=1,PI=.9,CI=.8,AI=.17,Um=.1,Wm=.999,OI=.9999,_I=.99,MI=/[\\\/_+.#"@\[\(\{&]/,II=/[\\\/_+.#"@\[\(\{&]/g,TI=/[\s-]/,o2=/[\s-]/g;function Jg(e,t,r,n,a,o,u){if(o===t.length)return a===e.length?J1:_I;var l=`${a},${o}`;if(u[l]!==void 0)return u[l];for(var f=n.charAt(o),h=r.indexOf(f,a),p=0,g,x,b,j;h>=0;)g=Jg(e,t,r,n,h+1,o+1,u),g>p&&(h===a?g*=J1:MI.test(e.charAt(h-1))?(g*=CI,b=e.slice(a,h-1).match(II),b&&a>0&&(g*=Math.pow(Wm,b.length))):TI.test(e.charAt(h-1))?(g*=PI,j=e.slice(a,h-1).match(o2),j&&a>0&&(g*=Math.pow(Wm,j.length))):(g*=AI,a>0&&(g*=Math.pow(Wm,h-a))),e.charAt(h)!==t.charAt(o)&&(g*=OI)),(gg&&(g=x*Um)),g>p&&(p=g),h=r.indexOf(f,h+1);return u[l]=p,p}function ew(e){return e.toLowerCase().replace(o2," ")}function DI(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,Jg(e,t,ew(e),ew(t),0,0,{})}function sa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e==null||e(a),r===!1||!a.defaultPrevented)return t==null?void 0:t(a)}}function tw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function As(...e){return t=>{let r=!1;const n=e.map(a=>{const o=tw(a,t);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;a{var N;const{scope:x,children:b,...j}=g,k=((N=x==null?void 0:x[e])==null?void 0:N[f])||l,S=v.useMemo(()=>j,Object.values(j));return c.jsx(k.Provider,{value:S,children:b})};h.displayName=o+"Provider";function p(g,x){var k;const b=((k=x==null?void 0:x[e])==null?void 0:k[f])||l,j=v.useContext(b);if(j)return j;if(u!==void 0)return u;throw new Error(`\`${g}\` must be used within \`${o}\``)}return[h,p]}const a=()=>{const o=r.map(u=>v.createContext(u));return function(l){const f=(l==null?void 0:l[e])||o;return v.useMemo(()=>({[`__scope${e}`]:{...l,[e]:f}}),[l,f])}};return a.scopeName=e,[n,$I(a,...t)]}function $I(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(o){const u=n.reduce((l,{useScope:f,scopeName:h})=>{const g=f(o)[`__scope${h}`];return{...l,...g}},{});return v.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return r.scopeName=t.scopeName,r}var Su=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},LI=rh[" useId ".trim().toString()]||(()=>{}),zI=0;function si(e){const[t,r]=v.useState(LI());return Su(()=>{r(n=>n??String(zI++))},[e]),t?`radix-${t}`:""}var FI=rh[" useInsertionEffect ".trim().toString()]||Su;function BI({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[a,o,u]=UI({defaultProp:t,onChange:r}),l=e!==void 0,f=l?e:a;{const p=v.useRef(e!==void 0);v.useEffect(()=>{const g=p.current;g!==l&&console.warn(`${n} is changing from ${g?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=l},[l,n])}const h=v.useCallback(p=>{var g;if(l){const x=WI(p)?p(e):p;x!==e&&((g=u.current)==null||g.call(u,x))}else o(p)},[l,e,o,u]);return[f,h]}function UI({defaultProp:e,onChange:t}){const[r,n]=v.useState(e),a=v.useRef(r),o=v.useRef(t);return FI(()=>{o.current=t},[t]),v.useEffect(()=>{var u;a.current!==r&&((u=o.current)==null||u.call(o,r),a.current=r)},[r,a]),[r,n,o]}function WI(e){return typeof e=="function"}var nh=BN();function s2(e){const t=v.forwardRef((r,n)=>{let{children:a,...o}=r,u=null,l=!1;const f=[];rw(a)&&typeof Sd=="function"&&(a=Sd(a._payload)),v.Children.forEach(a,x=>{var b;if(qI(x)){l=!0;const j=x;let k="child"in j.props?j.props.child:j.props.children;rw(k)&&typeof Sd=="function"&&(k=Sd(k._payload)),u=KI(j,k),f.push((b=u==null?void 0:u.props)==null?void 0:b.children)}else f.push(x)}),u?u=v.cloneElement(u,void 0,f):!l&&v.Children.count(a)===1&&v.isValidElement(a)&&(u=a);const h=u?VI(u):void 0,p=mo(n,h);if(!u){if(a||a===0)throw new Error(l?ZI(e):XI(e));return a}const g=GI(o,u.props??{});return u.type!==v.Fragment&&(g.ref=n?p:h),v.cloneElement(u,g)});return t.displayName=`${e}.Slot`,t}var HI=Symbol.for("radix.slottable"),KI=(e,t)=>{if("child"in e.props){const r=e.props.child;return v.isValidElement(r)?v.cloneElement(r,void 0,e.props.children(r.props.children)):null}return v.isValidElement(t)?t:null};function GI(e,t){const r={...t};for(const n in t){const a=e[n],o=t[n];/^on[A-Z]/.test(n)?a&&o?r[n]=(...l)=>{const f=o(...l);return a(...l),f}:a&&(r[n]=a):n==="style"?r[n]={...a,...o}:n==="className"&&(r[n]=[a,o].filter(Boolean).join(" "))}return{...e,...r}}function VI(e){var n,a;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function qI(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===HI}var QI=Symbol.for("react.lazy");function rw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===QI&&"_payload"in e&&YI(e._payload)}function YI(e){return typeof e=="object"&&e!==null&&"then"in e}var XI=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ZI=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Sd=rh[" use ".trim().toString()],JI=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Gt=JI.reduce((e,t)=>{const r=s2(`Primitive.${t}`),n=v.forwardRef((a,o)=>{const{asChild:u,...l}=a,f=u?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(f,{...l,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function eT(e,t){e&&nh.flushSync(()=>e.dispatchEvent(t))}function Nu(e){const t=v.useRef(e);return v.useEffect(()=>{t.current=e}),v.useMemo(()=>((...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)}),[])}function tT(e,t=globalThis==null?void 0:globalThis.document){const r=Nu(e);v.useEffect(()=>{const n=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var rT="DismissableLayer",ev="dismissableLayer.update",nT="dismissableLayer.pointerDownOutside",iT="dismissableLayer.focusOutside",nw,cy=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),l2=v.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:n=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:l,onDismiss:f,...h}=e,p=v.useContext(cy),[g,x]=v.useState(null),b=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=v.useState({}),k=mo(t,B=>x(B)),S=Array.from(p.layers),[N]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),P=S.indexOf(N),O=g?S.indexOf(g):-1,C=p.layersWithOutsidePointerEventsDisabled.size>0,_=O>=P,A=v.useRef(!1),I=lT(B=>{const K=B.target;if(!(K instanceof Node))return;const X=[...p.branches].some($=>$.contains(K));!_||X||(o==null||o(B),l==null||l(B),B.defaultPrevented||f==null||f())},{ownerDocument:b,deferPointerDownOutside:n,isDeferredPointerDownOutsideRef:A,dismissableSurfaces:p.dismissableSurfaces}),U=uT(B=>{if(n&&A.current)return;const K=B.target;[...p.branches].some($=>$.contains(K))||(u==null||u(B),l==null||l(B),B.defaultPrevented||f==null||f())},b);return tT(B=>{O===p.layers.size-1&&(a==null||a(B),!B.defaultPrevented&&f&&(B.preventDefault(),f()))},b),v.useEffect(()=>{if(g)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(nw=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(g)),p.layers.add(g),iw(),()=>{r&&(p.layersWithOutsidePointerEventsDisabled.delete(g),p.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=nw))}},[g,b,r,p]),v.useEffect(()=>()=>{g&&(p.layers.delete(g),p.layersWithOutsidePointerEventsDisabled.delete(g),iw())},[g,p]),v.useEffect(()=>{const B=()=>j({});return document.addEventListener(ev,B),()=>document.removeEventListener(ev,B)},[]),c.jsx(Gt.div,{...h,ref:k,style:{pointerEvents:C?_?"auto":"none":void 0,...e.style},onFocusCapture:sa(e.onFocusCapture,U.onFocusCapture),onBlurCapture:sa(e.onBlurCapture,U.onBlurCapture),onPointerDownCapture:sa(e.onPointerDownCapture,I.onPointerDownCapture)})});l2.displayName=rT;var aT="DismissableLayerBranch",oT=v.forwardRef((e,t)=>{const r=v.useContext(cy),n=v.useRef(null),a=mo(t,n);return v.useEffect(()=>{const o=n.current;if(o)return r.branches.add(o),()=>{r.branches.delete(o)}},[r.branches]),c.jsx(Gt.div,{...e,ref:a})});oT.displayName=aT;function sT(){const e=v.useContext(cy),[t,r]=v.useState(null);return v.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),r}function lT(e,t){const{ownerDocument:r=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:n=!1,isDeferredPointerDownOutsideRef:a,dismissableSurfaces:o}=t,u=Nu(e),l=v.useRef(!1),f=v.useRef(!1),h=v.useRef(new Map),p=v.useRef(()=>{});return v.useEffect(()=>{function g(){f.current=!1,a.current=!1,h.current.clear()}function x(){return Array.from(h.current.values()).some(Boolean)}function b(P){if(!f.current)return;const O=P.target;O instanceof Node&&[...o].some(_=>_.contains(O))||h.current.set(P.type,!0),P.type==="click"&&window.setTimeout(()=>{f.current&&p.current()},0)}function j(P){f.current&&h.current.set(P.type,!1)}const k=P=>{if(P.target&&!l.current){let O=function(){r.removeEventListener("click",p.current);const _=x();g(),_||u2(nT,u,C,{discrete:!0})};const C={originalEvent:P};f.current=!0,a.current=n&&P.button===0,h.current.clear(),!n||P.button!==0?O():(r.removeEventListener("click",p.current),p.current=O,r.addEventListener("click",p.current,{once:!0}))}else r.removeEventListener("click",p.current),g();l.current=!1},S=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const P of S)r.addEventListener(P,b,!0),r.addEventListener(P,j);const N=window.setTimeout(()=>{r.addEventListener("pointerdown",k)},0);return()=>{window.clearTimeout(N),r.removeEventListener("pointerdown",k),r.removeEventListener("click",p.current);for(const P of S)r.removeEventListener(P,b,!0),r.removeEventListener(P,j)}},[r,u,n,a,o]),{onPointerDownCapture:()=>l.current=!0}}function uT(e,t=globalThis==null?void 0:globalThis.document){const r=Nu(e),n=v.useRef(!1);return v.useEffect(()=>{const a=o=>{o.target&&!n.current&&u2(iT,r,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function iw(){const e=new CustomEvent(ev);document.dispatchEvent(e)}function u2(e,t,r,{discrete:n}){const a=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),n?eT(a,o):a.dispatchEvent(o)}var Hm="focusScope.autoFocusOnMount",Km="focusScope.autoFocusOnUnmount",aw={bubbles:!1,cancelable:!0},cT="FocusScope",c2=v.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...u}=e,[l,f]=v.useState(null),h=Nu(a),p=Nu(o),g=v.useRef(null),x=mo(t,k=>f(k)),b=v.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;v.useEffect(()=>{if(n){let k=function(O){if(b.paused||!l)return;const C=O.target;l.contains(C)?g.current=C:Vi(g.current,{select:!0})},S=function(O){if(b.paused||!l)return;const C=O.relatedTarget;C!==null&&(l.contains(C)||Vi(g.current,{select:!0}))},N=function(O){if(document.activeElement===document.body)for(const _ of O)_.removedNodes.length>0&&Vi(l)};document.addEventListener("focusin",k),document.addEventListener("focusout",S);const P=new MutationObserver(N);return l&&P.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",S),P.disconnect()}}},[n,l,b.paused]),v.useEffect(()=>{if(l){sw.add(b);const k=document.activeElement;if(!l.contains(k)){const N=new CustomEvent(Hm,aw);l.addEventListener(Hm,h),l.dispatchEvent(N),N.defaultPrevented||(dT(gT(d2(l)),{select:!0}),document.activeElement===k&&Vi(l))}return()=>{l.removeEventListener(Hm,h),setTimeout(()=>{const N=new CustomEvent(Km,aw);l.addEventListener(Km,p),l.dispatchEvent(N),N.defaultPrevented||Vi(k??document.body,{select:!0}),l.removeEventListener(Km,p),sw.remove(b)},0)}}},[l,h,p,b]);const j=v.useCallback(k=>{if(!r&&!n||b.paused)return;const S=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,N=document.activeElement;if(S&&N){const P=k.currentTarget,[O,C]=fT(P);O&&C?!k.shiftKey&&N===C?(k.preventDefault(),r&&Vi(O,{select:!0})):k.shiftKey&&N===O&&(k.preventDefault(),r&&Vi(C,{select:!0})):N===P&&k.preventDefault()}},[r,n,b.paused]);return c.jsx(Gt.div,{tabIndex:-1,...u,ref:x,onKeyDown:j})});c2.displayName=cT;function dT(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(Vi(n,{select:t}),document.activeElement!==r)return}function fT(e){const t=d2(e),r=ow(t,e),n=ow(t.reverse(),e);return[r,n]}function d2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const a=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||a?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function ow(e,t){for(const r of e)if(!hT(r,{upTo:t}))return r}function hT(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function pT(e){return e instanceof HTMLInputElement&&"select"in e}function Vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&pT(e)&&t&&e.select()}}var sw=mT();function mT(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=lw(e,t),e.unshift(t)},remove(t){var r;e=lw(e,t),(r=e[0])==null||r.resume()}}}function lw(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function gT(e){return e.filter(t=>t.tagName!=="A")}var vT="Portal",f2=v.forwardRef((e,t)=>{var l;const{container:r,...n}=e,[a,o]=v.useState(!1);Su(()=>o(!0),[]);const u=r||a&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return u?nh.createPortal(c.jsx(Gt.div,{...n,ref:t}),u):null});f2.displayName=vT;function yT(e,t){return v.useReducer((r,n)=>t[r][n]??r,e)}var ih=e=>{const{present:t,children:r}=e,n=xT(t),a=typeof r=="function"?r({present:n.isPresent}):v.Children.only(r),o=bT(n.ref,wT(a));return typeof r=="function"||n.isPresent?v.cloneElement(a,{ref:o}):null};ih.displayName="Presence";function xT(e){const[t,r]=v.useState(),n=v.useRef(null),a=v.useRef(e),o=v.useRef("none"),u=e?"mounted":"unmounted",[l,f]=yT(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const h=Nd(n.current);o.current=l==="mounted"?h:"none"},[l]),Su(()=>{const h=n.current,p=a.current;if(p!==e){const x=o.current,b=Nd(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(p&&x!==b?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,f]),Su(()=>{if(t){let h;const p=t.ownerDocument.defaultView??window,g=b=>{const k=Nd(n.current).includes(CSS.escape(b.animationName));if(b.target===t&&k&&(f("ANIMATION_END"),!a.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",h=p.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},x=b=>{b.target===t&&(o.current=Nd(n.current))};return t.addEventListener("animationstart",x),t.addEventListener("animationcancel",g),t.addEventListener("animationend",g),()=>{p.clearTimeout(h),t.removeEventListener("animationstart",x),t.removeEventListener("animationcancel",g),t.removeEventListener("animationend",g)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:v.useCallback(h=>{n.current=h?getComputedStyle(h):null,r(h)},[])}}function uw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function bT(...e){const t=v.useRef(e);return t.current=e,v.useCallback(r=>{const n=t.current;let a=!1;const o=n.map(u=>{const l=uw(u,r);return!a&&typeof l=="function"&&(a=!0),l});if(a)return()=>{for(let u=0;u{wn||(wn={start:cw(),end:cw()});const{start:e,end:t}=wn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ed++,()=>{Ed===1&&(wn==null||wn.start.remove(),wn==null||wn.end.remove(),wn=null),Ed=Math.max(0,Ed-1)}},[])}function cw(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Cn=function(){return Cn=Object.assign||function(t){for(var r,n=1,a=arguments.length;n"u")return zT;var t=FT(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},UT=g2(),us="data-scroll-locked",WT=function(e,t,r,n){var a=e.left,o=e.top,u=e.right,l=e.gap;return r===void 0&&(r="margin"),` + .`.concat(ST,` { overflow: hidden `).concat(n,`; padding-right: `).concat(l,"px ").concat(n,`; } @@ -382,12 +377,12 @@ Error generating stack: `+w.message+` } body[`).concat(us,`] { - `).concat(ET,": ").concat(l,`px; + `).concat(NT,": ").concat(l,`px; } -`)},fw=function(){var e=parseInt(document.body.getAttribute(us)||"0",10);return isFinite(e)?e:0},KT=function(){v.useEffect(function(){return document.body.setAttribute(us,(fw()+1).toString()),function(){var e=fw()-1;e<=0?document.body.removeAttribute(us):document.body.setAttribute(us,e.toString())}},[])},GT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=n===void 0?"margin":n;KT();var o=v.useMemo(function(){return UT(a)},[a]);return v.createElement(WT,{styles:HT(o,!t,a,r?"":"!important")})},tv=!1;if(typeof window<"u")try{var Pd=Object.defineProperty({},"passive",{get:function(){return tv=!0,!0}});window.addEventListener("test",Pd,Pd),window.removeEventListener("test",Pd,Pd)}catch{tv=!1}var Ko=tv?{passive:!1}:!1,VT=function(e){return e.tagName==="TEXTAREA"},v2=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!VT(e)&&r[t]==="visible")},qT=function(e){return v2(e,"overflowY")},QT=function(e){return v2(e,"overflowX")},hw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var a=y2(e,n);if(a){var o=x2(e,n),u=o[1],l=o[2];if(u>l)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},YT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},XT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},y2=function(e,t){return e==="v"?qT(t):QT(t)},x2=function(e,t){return e==="v"?YT(t):XT(t)},ZT=function(e,t){return e==="h"&&t==="rtl"?-1:1},JT=function(e,t,r,n,a){var o=ZT(e,window.getComputedStyle(t).direction),u=o*n,l=r.target,f=t.contains(l),h=!1,p=u>0,g=0,x=0;do{if(!l)break;var b=x2(e,l),j=b[0],k=b[1],S=b[2],N=k-S-o*j;(j||N)&&y2(e,l)&&(g+=N,x+=j);var P=l.parentNode;l=P&&P.nodeType===Node.DOCUMENT_FRAGMENT_NODE?P.host:P}while(!f&&l!==document.body||f&&(t.contains(l)||t===l));return(p&&Math.abs(g)<1||!p&&Math.abs(x)<1)&&(h=!0),h},Cd=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pw=function(e){return[e.deltaX,e.deltaY]},mw=function(e){return e&&"current"in e?e.current:e},e3=function(e,t){return e[0]===t[0]&&e[1]===t[1]},t3=function(e){return` +`)},fw=function(){var e=parseInt(document.body.getAttribute(us)||"0",10);return isFinite(e)?e:0},HT=function(){v.useEffect(function(){return document.body.setAttribute(us,(fw()+1).toString()),function(){var e=fw()-1;e<=0?document.body.removeAttribute(us):document.body.setAttribute(us,e.toString())}},[])},KT=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=n===void 0?"margin":n;HT();var o=v.useMemo(function(){return BT(a)},[a]);return v.createElement(UT,{styles:WT(o,!t,a,r?"":"!important")})},tv=!1;if(typeof window<"u")try{var Pd=Object.defineProperty({},"passive",{get:function(){return tv=!0,!0}});window.addEventListener("test",Pd,Pd),window.removeEventListener("test",Pd,Pd)}catch{tv=!1}var Ko=tv?{passive:!1}:!1,GT=function(e){return e.tagName==="TEXTAREA"},v2=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!GT(e)&&r[t]==="visible")},VT=function(e){return v2(e,"overflowY")},qT=function(e){return v2(e,"overflowX")},hw=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var a=y2(e,n);if(a){var o=x2(e,n),u=o[1],l=o[2];if(u>l)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},QT=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},YT=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},y2=function(e,t){return e==="v"?VT(t):qT(t)},x2=function(e,t){return e==="v"?QT(t):YT(t)},XT=function(e,t){return e==="h"&&t==="rtl"?-1:1},ZT=function(e,t,r,n,a){var o=XT(e,window.getComputedStyle(t).direction),u=o*n,l=r.target,f=t.contains(l),h=!1,p=u>0,g=0,x=0;do{if(!l)break;var b=x2(e,l),j=b[0],k=b[1],S=b[2],N=k-S-o*j;(j||N)&&y2(e,l)&&(g+=N,x+=j);var P=l.parentNode;l=P&&P.nodeType===Node.DOCUMENT_FRAGMENT_NODE?P.host:P}while(!f&&l!==document.body||f&&(t.contains(l)||t===l));return(p&&Math.abs(g)<1||!p&&Math.abs(x)<1)&&(h=!0),h},Cd=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pw=function(e){return[e.deltaX,e.deltaY]},mw=function(e){return e&&"current"in e?e.current:e},JT=function(e,t){return e[0]===t[0]&&e[1]===t[1]},e3=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},r3=0,Go=[];function n3(e){var t=v.useRef([]),r=v.useRef([0,0]),n=v.useRef(),a=v.useState(r3++)[0],o=v.useState(g2)[0],u=v.useRef(e);v.useEffect(function(){u.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var k=ST([e.lockRef.current],(e.shards||[]).map(mw),!0).filter(Boolean);return k.forEach(function(S){return S.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),k.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var l=v.useCallback(function(k,S){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!u.current.allowPinchZoom;var N=Cd(k),P=r.current,O="deltaX"in k?k.deltaX:P[0]-N[0],C="deltaY"in k?k.deltaY:P[1]-N[1],_,A=k.target,I=Math.abs(O)>Math.abs(C)?"h":"v";if("touches"in k&&I==="h"&&A.type==="range")return!1;var U=window.getSelection(),B=U&&U.anchorNode,K=B?B===A||B.contains(A):!1;if(K)return!1;var X=hw(I,A);if(!X)return!0;if(X?_=I:(_=I==="v"?"h":"v",X=hw(I,A)),!X)return!1;if(!n.current&&"changedTouches"in k&&(O||C)&&(n.current=_),!_)return!0;var $=n.current||_;return JT($,S,k,$==="h"?O:C)},[]),f=v.useCallback(function(k){var S=k;if(!(!Go.length||Go[Go.length-1]!==o)){var N="deltaY"in S?pw(S):Cd(S),P=t.current.filter(function(_){return _.name===S.type&&(_.target===S.target||S.target===_.shadowParent)&&e3(_.delta,N)})[0];if(P&&P.should){S.cancelable&&S.preventDefault();return}if(!P){var O=(u.current.shards||[]).map(mw).filter(Boolean).filter(function(_){return _.contains(S.target)}),C=O.length>0?l(S,O[0]):!u.current.noIsolation;C&&S.cancelable&&S.preventDefault()}}},[]),h=v.useCallback(function(k,S,N,P){var O={name:k,delta:S,target:N,should:P,shadowParent:i3(N)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(C){return C!==O})},1)},[]),p=v.useCallback(function(k){r.current=Cd(k),n.current=void 0},[]),g=v.useCallback(function(k){h(k.type,pw(k),k.target,l(k,e.lockRef.current))},[]),x=v.useCallback(function(k){h(k.type,Cd(k),k.target,l(k,e.lockRef.current))},[]);v.useEffect(function(){return Go.push(o),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:x}),document.addEventListener("wheel",f,Ko),document.addEventListener("touchmove",f,Ko),document.addEventListener("touchstart",p,Ko),function(){Go=Go.filter(function(k){return k!==o}),document.removeEventListener("wheel",f,Ko),document.removeEventListener("touchmove",f,Ko),document.removeEventListener("touchstart",p,Ko)}},[]);var b=e.removeScrollBar,j=e.inert;return v.createElement(v.Fragment,null,j?v.createElement(o,{styles:t3(a)}):null,b?v.createElement(GT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function i3(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const a3=IT(m2,n3);var b2=v.forwardRef(function(e,t){return v.createElement(ah,Cn({},e,{ref:t,sideCar:a3}))});b2.classNames=ah.classNames;var o3=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Vo=new WeakMap,Ad=new WeakMap,Od={},Qm=0,w2=function(e){return e&&(e.host||w2(e.parentNode))},s3=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=w2(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},l3=function(e,t,r,n){var a=s3(t,Array.isArray(e)?e:[e]);Od[r]||(Od[r]=new WeakMap);var o=Od[r],u=[],l=new Set,f=new Set(a),h=function(g){!g||l.has(g)||(l.add(g),h(g.parentNode))};a.forEach(h);var p=function(g){!g||f.has(g)||Array.prototype.forEach.call(g.children,function(x){if(l.has(x))p(x);else try{var b=x.getAttribute(n),j=b!==null&&b!=="false",k=(Vo.get(x)||0)+1,S=(o.get(x)||0)+1;Vo.set(x,k),o.set(x,S),u.push(x),k===1&&j&&Ad.set(x,!0),S===1&&x.setAttribute(r,"true"),j||x.setAttribute(n,"true")}catch(N){console.error("aria-hidden: cannot operate on ",x,N)}})};return p(t),l.clear(),Qm++,function(){u.forEach(function(g){var x=Vo.get(g)-1,b=o.get(g)-1;Vo.set(g,x),o.set(g,b),x||(Ad.has(g)||g.removeAttribute(n),Ad.delete(g)),b||g.removeAttribute(r)}),Qm--,Qm||(Vo=new WeakMap,Vo=new WeakMap,Ad=new WeakMap,Od={})}},u3=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=o3(e);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),l3(n,a,r,"aria-hidden")):function(){return null}},oh="Dialog",[j2]=$I(oh),[c3,pn]=j2(oh),k2=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:o,modal:u=!0}=e,l=v.useRef(null),f=v.useRef(null),[h,p]=UI({prop:n,defaultProp:a??!1,onChange:o,caller:oh});return c.jsx(c3,{scope:t,triggerRef:l,contentRef:f,contentId:si(),titleId:si(),descriptionId:si(),open:h,onOpenChange:p,onOpenToggle:v.useCallback(()=>p(g=>!g),[p]),modal:u,children:r})};k2.displayName=oh;var S2="DialogTrigger",d3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(S2,r),o=mo(t,a.triggerRef);return c.jsx(Gt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":fy(a.open),...n,ref:o,onClick:sa(e.onClick,a.onOpenToggle)})});d3.displayName=S2;var dy="DialogPortal",[f3,N2]=j2(dy,{forceMount:void 0}),E2=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:a}=e,o=pn(dy,t);return c.jsx(f3,{scope:t,forceMount:r,children:v.Children.map(n,u=>c.jsx(ih,{present:r||o.open,children:c.jsx(f2,{asChild:!0,container:a,children:u})}))})};E2.displayName=dy;var sf="DialogOverlay",P2=v.forwardRef((e,t)=>{const r=N2(sf,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=pn(sf,e.__scopeDialog);return o.modal?c.jsx(ih,{present:n||o.open,children:c.jsx(p3,{...a,ref:t})}):null});P2.displayName=sf;var h3=s2("DialogOverlay.RemoveScroll"),p3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(sf,r),o=lT(),u=mo(t,o);return c.jsx(b2,{as:h3,allowPinchZoom:!0,shards:[a.contentRef],children:c.jsx(Gt.div,{"data-state":fy(a.open),...n,ref:u,style:{pointerEvents:"auto",...n.style}})})}),Os="DialogContent",C2=v.forwardRef((e,t)=>{const r=N2(Os,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=pn(Os,e.__scopeDialog);return c.jsx(ih,{present:n||o.open,children:o.modal?c.jsx(m3,{...a,ref:t}):c.jsx(g3,{...a,ref:t})})});C2.displayName=Os;var m3=v.forwardRef((e,t)=>{const r=pn(Os,e.__scopeDialog),n=v.useRef(null),a=mo(t,r.contentRef,n);return v.useEffect(()=>{const o=n.current;if(o)return u3(o)},[]),c.jsx(A2,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:sa(e.onCloseAutoFocus,o=>{var u;o.preventDefault(),(u=r.triggerRef.current)==null||u.focus()}),onPointerDownOutside:sa(e.onPointerDownOutside,o=>{const u=o.detail.originalEvent,l=u.button===0&&u.ctrlKey===!0;(u.button===2||l)&&o.preventDefault()}),onFocusOutside:sa(e.onFocusOutside,o=>o.preventDefault())})}),g3=v.forwardRef((e,t)=>{const r=pn(Os,e.__scopeDialog),n=v.useRef(!1),a=v.useRef(!1);return c.jsx(A2,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var u,l;(u=e.onCloseAutoFocus)==null||u.call(e,o),o.defaultPrevented||(n.current||(l=r.triggerRef.current)==null||l.focus(),o.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const u=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(u))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&a.current&&o.preventDefault()}})}),A2=v.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:o,...u}=e,l=pn(Os,r);return kT(),c.jsx(c.Fragment,{children:c.jsx(c2,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:o,children:c.jsx(l2,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":fy(l.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),O2="DialogTitle",v3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(O2,r);return c.jsx(Gt.h2,{id:a.titleId,...n,ref:t})});v3.displayName=O2;var _2="DialogDescription",y3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(_2,r);return c.jsx(Gt.p,{id:a.descriptionId,...n,ref:t})});y3.displayName=_2;var M2="DialogClose",x3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(M2,r);return c.jsx(Gt.button,{type:"button",...n,ref:t,onClick:sa(e.onClick,()=>a.onOpenChange(!1))})});x3.displayName=M2;function fy(e){return e?"open":"closed"}var Vl='[cmdk-group=""]',Ym='[cmdk-group-items=""]',b3='[cmdk-group-heading=""]',I2='[cmdk-item=""]',gw=`${I2}:not([aria-disabled="true"])`,rv="cmdk-item-select",ns="data-value",w3=(e,t,r)=>RI(e,t,r),T2=v.createContext(void 0),qu=()=>v.useContext(T2),D2=v.createContext(void 0),hy=()=>v.useContext(D2),R2=v.createContext(void 0),$2=v.forwardRef((e,t)=>{let r=is(()=>{var T,ee;return{search:"",value:(ee=(T=e.value)!=null?T:e.defaultValue)!=null?ee:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=is(()=>new Set),a=is(()=>new Map),o=is(()=>new Map),u=is(()=>new Set),l=L2(e),{label:f,children:h,value:p,onValueChange:g,filter:x,shouldFilter:b,loop:j,disablePointerSelection:k=!1,vimBindings:S=!0,...N}=e,P=si(),O=si(),C=si(),_=v.useRef(null),A=M3();io(()=>{if(p!==void 0){let T=p.trim();r.current.value=T,I.emit()}},[p]),io(()=>{A(6,ue)},[]);let I=v.useMemo(()=>({subscribe:T=>(u.current.add(T),()=>u.current.delete(T)),snapshot:()=>r.current,setState:(T,ee,ie)=>{var re,ce,me,Oe;if(!Object.is(r.current[T],ee)){if(r.current[T]=ee,T==="search")$(),K(),A(1,X);else if(T==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let te=document.getElementById(C);te?te.focus():(re=document.getElementById(P))==null||re.focus()}if(A(7,()=>{var te;r.current.selectedItemId=(te=J())==null?void 0:te.id,I.emit()}),ie||A(5,ue),((ce=l.current)==null?void 0:ce.value)!==void 0){let te=ee??"";(Oe=(me=l.current).onValueChange)==null||Oe.call(me,te);return}}I.emit()}},emit:()=>{u.current.forEach(T=>T())}}),[]),U=v.useMemo(()=>({value:(T,ee,ie)=>{var re;ee!==((re=o.current.get(T))==null?void 0:re.value)&&(o.current.set(T,{value:ee,keywords:ie}),r.current.filtered.items.set(T,B(ee,ie)),A(2,()=>{K(),I.emit()}))},item:(T,ee)=>(n.current.add(T),ee&&(a.current.has(ee)?a.current.get(ee).add(T):a.current.set(ee,new Set([T]))),A(3,()=>{$(),K(),r.current.value||X(),I.emit()}),()=>{o.current.delete(T),n.current.delete(T),r.current.filtered.items.delete(T);let ie=J();A(4,()=>{$(),(ie==null?void 0:ie.getAttribute("id"))===T&&X(),I.emit()})}),group:T=>(a.current.has(T)||a.current.set(T,new Set),()=>{o.current.delete(T),a.current.delete(T)}),filter:()=>l.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:P,inputId:C,labelId:O,listInnerRef:_}),[]);function B(T,ee){var ie,re;let ce=(re=(ie=l.current)==null?void 0:ie.filter)!=null?re:w3;return T?ce(T,r.current.search,ee):0}function K(){if(!r.current.search||l.current.shouldFilter===!1)return;let T=r.current.filtered.items,ee=[];r.current.filtered.groups.forEach(re=>{let ce=a.current.get(re),me=0;ce.forEach(Oe=>{let te=T.get(Oe);me=Math.max(te,me)}),ee.push([re,me])});let ie=_.current;ge().sort((re,ce)=>{var me,Oe;let te=re.getAttribute("id"),ke=ce.getAttribute("id");return((me=T.get(ke))!=null?me:0)-((Oe=T.get(te))!=null?Oe:0)}).forEach(re=>{let ce=re.closest(Ym);ce?ce.appendChild(re.parentElement===ce?re:re.closest(`${Ym} > *`)):ie.appendChild(re.parentElement===ie?re:re.closest(`${Ym} > *`))}),ee.sort((re,ce)=>ce[1]-re[1]).forEach(re=>{var ce;let me=(ce=_.current)==null?void 0:ce.querySelector(`${Vl}[${ns}="${encodeURIComponent(re[0])}"]`);me==null||me.parentElement.appendChild(me)})}function X(){let T=ge().find(ie=>ie.getAttribute("aria-disabled")!=="true"),ee=T==null?void 0:T.getAttribute(ns);I.setState("value",ee||void 0)}function $(){var T,ee,ie,re;if(!r.current.search||l.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let me of n.current){let Oe=(ee=(T=o.current.get(me))==null?void 0:T.value)!=null?ee:"",te=(re=(ie=o.current.get(me))==null?void 0:ie.keywords)!=null?re:[],ke=B(Oe,te);r.current.filtered.items.set(me,ke),ke>0&&ce++}for(let[me,Oe]of a.current)for(let te of Oe)if(r.current.filtered.items.get(te)>0){r.current.filtered.groups.add(me);break}r.current.filtered.count=ce}function ue(){var T,ee,ie;let re=J();re&&(((T=re.parentElement)==null?void 0:T.firstChild)===re&&((ie=(ee=re.closest(Vl))==null?void 0:ee.querySelector(b3))==null||ie.scrollIntoView({block:"nearest"})),re.scrollIntoView({block:"nearest"}))}function J(){var T;return(T=_.current)==null?void 0:T.querySelector(`${I2}[aria-selected="true"]`)}function ge(){var T;return Array.from(((T=_.current)==null?void 0:T.querySelectorAll(gw))||[])}function we(T){let ee=ge()[T];ee&&I.setState("value",ee.getAttribute(ns))}function pe(T){var ee;let ie=J(),re=ge(),ce=re.findIndex(Oe=>Oe===ie),me=re[ce+T];(ee=l.current)!=null&&ee.loop&&(me=ce+T<0?re[re.length-1]:ce+T===re.length?re[0]:re[ce+T]),me&&I.setState("value",me.getAttribute(ns))}function Y(T){let ee=J(),ie=ee==null?void 0:ee.closest(Vl),re;for(;ie&&!re;)ie=T>0?O3(ie,Vl):_3(ie,Vl),re=ie==null?void 0:ie.querySelector(gw);re?I.setState("value",re.getAttribute(ns)):pe(T)}let V=()=>we(ge().length-1),Q=T=>{T.preventDefault(),T.metaKey?V():T.altKey?Y(1):pe(1)},D=T=>{T.preventDefault(),T.metaKey?we(0):T.altKey?Y(-1):pe(-1)};return v.createElement(Gt.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:T=>{var ee;(ee=N.onKeyDown)==null||ee.call(N,T);let ie=T.nativeEvent.isComposing||T.keyCode===229;if(!(T.defaultPrevented||ie))switch(T.key){case"n":case"j":{S&&T.ctrlKey&&Q(T);break}case"ArrowDown":{Q(T);break}case"p":case"k":{S&&T.ctrlKey&&D(T);break}case"ArrowUp":{D(T);break}case"Home":{T.preventDefault(),we(0);break}case"End":{T.preventDefault(),V();break}case"Enter":{T.preventDefault();let re=J();if(re){let ce=new Event(rv);re.dispatchEvent(ce)}}}}},v.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:T3},f),sh(e,T=>v.createElement(D2.Provider,{value:I},v.createElement(T2.Provider,{value:U},T))))}),j3=v.forwardRef((e,t)=>{var r,n;let a=si(),o=v.useRef(null),u=v.useContext(R2),l=qu(),f=L2(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:u==null?void 0:u.forceMount;io(()=>{if(!h)return l.item(a,u==null?void 0:u.id)},[h]);let p=z2(a,o,[e.value,e.children,o],e.keywords),g=hy(),x=ca(A=>A.value&&A.value===p.current),b=ca(A=>h||l.filter()===!1?!0:A.search?A.filtered.items.get(a)>0:!0);v.useEffect(()=>{let A=o.current;if(!(!A||e.disabled))return A.addEventListener(rv,j),()=>A.removeEventListener(rv,j)},[b,e.onSelect,e.disabled]);function j(){var A,I;k(),(I=(A=f.current).onSelect)==null||I.call(A,p.current)}function k(){g.setState("value",p.current,!0)}if(!b)return null;let{disabled:S,value:N,onSelect:P,forceMount:O,keywords:C,..._}=e;return v.createElement(Gt.div,{ref:As(o,t),..._,id:a,"cmdk-item":"",role:"option","aria-disabled":!!S,"aria-selected":!!x,"data-disabled":!!S,"data-selected":!!x,onPointerMove:S||l.getDisablePointerSelection()?void 0:k,onClick:S?void 0:j},e.children)}),k3=v.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:a,...o}=e,u=si(),l=v.useRef(null),f=v.useRef(null),h=si(),p=qu(),g=ca(b=>a||p.filter()===!1?!0:b.search?b.filtered.groups.has(u):!0);io(()=>p.group(u),[]),z2(u,l,[e.value,e.heading,f]);let x=v.useMemo(()=>({id:u,forceMount:a}),[a]);return v.createElement(Gt.div,{ref:As(l,t),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},r&&v.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),sh(e,b=>v.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},v.createElement(R2.Provider,{value:x},b))))}),S3=v.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,a=v.useRef(null),o=ca(u=>!u.search);return!r&&!o?null:v.createElement(Gt.div,{ref:As(a,t),...n,"cmdk-separator":"",role:"separator"})}),N3=v.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,a=e.value!=null,o=hy(),u=ca(h=>h.search),l=ca(h=>h.selectedItemId),f=qu();return v.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),v.createElement(Gt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":l,id:f.inputId,type:"text",value:a?e.value:u,onChange:h=>{a||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),E3=v.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...a}=e,o=v.useRef(null),u=v.useRef(null),l=ca(h=>h.selectedItemId),f=qu();return v.useEffect(()=>{if(u.current&&o.current){let h=u.current,p=o.current,g,x=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{let b=h.offsetHeight;p.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return x.observe(h),()=>{cancelAnimationFrame(g),x.unobserve(h)}}},[]),v.createElement(Gt.div,{ref:As(o,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":n,id:f.listId},sh(e,h=>v.createElement("div",{ref:As(u,f.listInnerRef),"cmdk-list-sizer":""},h)))}),P3=v.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:a,contentClassName:o,container:u,...l}=e;return v.createElement(k2,{open:r,onOpenChange:n},v.createElement(E2,{container:u},v.createElement(P2,{"cmdk-overlay":"",className:a}),v.createElement(C2,{"aria-label":e.label,"cmdk-dialog":"",className:o},v.createElement($2,{ref:t,...l}))))}),C3=v.forwardRef((e,t)=>ca(r=>r.filtered.count===0)?v.createElement(Gt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),A3=v.forwardRef((e,t)=>{let{progress:r,children:n,label:a="Loading...",...o}=e;return v.createElement(Gt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},sh(e,u=>v.createElement("div",{"aria-hidden":!0},u)))}),qo=Object.assign($2,{List:E3,Item:j3,Input:N3,Group:k3,Separator:S3,Dialog:P3,Empty:C3,Loading:A3});function O3(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function _3(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function L2(e){let t=v.useRef(e);return io(()=>{t.current=e}),t}var io=typeof window>"u"?v.useEffect:v.useLayoutEffect;function is(e){let t=v.useRef();return t.current===void 0&&(t.current=e()),t}function ca(e){let t=hy(),r=()=>e(t.snapshot());return v.useSyncExternalStore(t.subscribe,r,r)}function z2(e,t,r,n=[]){let a=v.useRef(),o=qu();return io(()=>{var u;let l=(()=>{var h;for(let p of r){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(h=p.current.textContent)==null?void 0:h.trim():a.current}})(),f=n.map(h=>h.trim());o.value(e,l,f),(u=t.current)==null||u.setAttribute(ns,l),a.current=l}),a}var M3=()=>{let[e,t]=v.useState(),r=is(()=>new Map);return io(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,a)=>{r.current.set(n,a),t({})}};function I3(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function sh({asChild:e,children:t},r){return e&&v.isValidElement(t)?v.cloneElement(I3(t),{ref:t.ref},r(t.props.children)):r(t)}var T3={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function D3({onNavigate:e}){const[t,r]=v.useState(!1);return v.useEffect(()=>{const n=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()==="k"&&(a.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),c.jsx(qo.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh]",onClick:()=>r(!1),children:c.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[c.jsx(qo.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),c.jsxs(qo.List,{className:"max-h-80 overflow-y-auto p-2",children:[c.jsx(qo.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),c.jsx(qo.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:Zg.map(n=>c.jsxs(qo.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[c.jsx(n.icon,{className:"h-4 w-4 text-primary"}),c.jsx("span",{children:n.label}),c.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}async function Me(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),a=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let p=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,p=!0),a&&!("hf_token"in h)&&(h.hf_token=a,p=!0),p&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),a&&(h.hf_token=a),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const l=await fetch(e,{...t,headers:r,body:o});if(!l.ok)throw new Error(`${l.status} ${l.statusText}`);return l.json()}const wt={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],routing:["routing"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"]},R3=(e=!0)=>ur({queryKey:wt.memoryGraph,queryFn:()=>Me("/api/memory/graph"),enabled:e}),$3=()=>ur({queryKey:wt.health,queryFn:()=>Me("/api/health"),refetchInterval:1e4}),lh=(e=5e3)=>ur({queryKey:wt.systemStatus,queryFn:()=>Me("/api/system/status"),refetchInterval:e}),L3=(e=3e3)=>ur({queryKey:wt.services,queryFn:()=>Me("/api/system/services"),refetchInterval:e}),go=(e=4e3)=>ur({queryKey:wt.models,queryFn:()=>Me("/api/models"),refetchInterval:e}),z3=(e=4e3)=>ur({queryKey:wt.routing,queryFn:()=>Me("/api/routing"),refetchInterval:e}),F3=(e=2e3)=>ur({queryKey:wt.jobs,queryFn:()=>Me("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),py=(e=3e3)=>ur({queryKey:wt.tokenStats,queryFn:()=>Me("/api/system/token-stats"),refetchInterval:e}),my=(e=5e3)=>ur({queryKey:wt.agentStatus,queryFn:()=>Me("/api/agent/status"),refetchInterval:e}),B3=(e=6e4)=>ur({queryKey:wt.hermesBrain,queryFn:()=>Me("/api/agent/brain"),refetchInterval:e}),gy=e=>ur({queryKey:wt.updates,queryFn:()=>Me("/api/maintenance/updates"),refetchInterval:e}),U3=()=>ur({queryKey:wt.discover,queryFn:()=>Me("/api/discover")}),W3=e=>ur({queryKey:wt.drafts(e),queryFn:()=>Me(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),F2=e=>ur({queryKey:wt.connect(e),queryFn:()=>Me(e?`/api/connect?${e}`:"/api/connect")}),nv=e=>ur({queryKey:wt.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),Me(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function Qo(e){return(e/1024**3).toFixed(1)}function iv(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function Br(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function H3(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function vw(e){return e?`${Math.round(e/1024)}k`:"—"}function B2(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{const t=V3(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:u=>{const l=u.split(vy);return l[0]===""&&l.length!==1&&l.shift(),U2(l,t)||G3(u)},getConflictingClassGroupIds:(u,l)=>{const f=r[u]||[];return l&&n[u]?[...f,...n[u]]:f}}},U2=(e,t)=>{var u;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),a=n?U2(e.slice(1),n):void 0;if(a)return a;if(t.validators.length===0)return;const o=e.join(vy);return(u=t.validators.find(({validator:l})=>l(o)))==null?void 0:u.classGroupId},yw=/^\[(.+)\]$/,G3=e=>{if(yw.test(e)){const t=yw.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},V3=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return Q3(Object.entries(e.classGroups),r).forEach(([o,u])=>{av(u,n,o,t)}),n},av=(e,t,r,n)=>{e.forEach(a=>{if(typeof a=="string"){const o=a===""?t:xw(t,a);o.classGroupId=r;return}if(typeof a=="function"){if(q3(a)){av(a(n),t,r,n);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([o,u])=>{av(u,xw(t,o),r,n)})})},xw=(e,t)=>{let r=e;return t.split(vy).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},q3=e=>e.isThemeGetter,Q3=(e,t)=>t?e.map(([r,n])=>{const a=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([u,l])=>[t+u,l])):o);return[r,a]}):e,Y3=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const a=(o,u)=>{r.set(o,u),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let u=r.get(o);if(u!==void 0)return u;if((u=n.get(o))!==void 0)return a(o,u),u},set(o,u){r.has(o)?r.set(o,u):a(o,u)}}},W2="!",X3=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,a=t[0],o=t.length,u=l=>{const f=[];let h=0,p=0,g;for(let S=0;Sp?g-p:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:j,maybePostfixModifierPosition:k}};return r?l=>r({className:l,parseClassName:u}):u},Z3=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},J3=e=>({cache:Y3(e.cacheSize),parseClassName:X3(e),...K3(e)}),e4=/\s+/,t4=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a}=t,o=[],u=e.trim().split(e4);let l="";for(let f=u.length-1;f>=0;f-=1){const h=u[f],{modifiers:p,hasImportantModifier:g,baseClassName:x,maybePostfixModifierPosition:b}=r(h);let j=!!b,k=n(j?x.substring(0,b):x);if(!k){if(!j){l=h+(l.length>0?" "+l:l);continue}if(k=n(x),!k){l=h+(l.length>0?" "+l:l);continue}j=!1}const S=Z3(p).join(":"),N=g?S+W2:S,P=N+k;if(o.includes(P))continue;o.push(P);const O=a(k,j);for(let C=0;C0?" "+l:l)}return l};function r4(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;ng(p),e());return r=J3(h),n=r.cache.get,a=r.cache.set,o=l,l(f)}function l(f){const h=n(f);if(h)return h;const p=t4(f,r);return a(f,p),p}return function(){return o(r4.apply(null,arguments))}}const it=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},K2=/^\[(?:([a-z-]+):)?(.+)\]$/i,i4=/^\d+\/\d+$/,a4=new Set(["px","full","screen"]),o4=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,s4=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,l4=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,u4=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,c4=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Xn=e=>cs(e)||a4.has(e)||i4.test(e),Wi=e=>Bs(e,"length",y4),cs=e=>!!e&&!Number.isNaN(Number(e)),Xm=e=>Bs(e,"number",cs),ql=e=>!!e&&Number.isInteger(Number(e)),d4=e=>e.endsWith("%")&&cs(e.slice(0,-1)),$e=e=>K2.test(e),Hi=e=>o4.test(e),f4=new Set(["length","size","percentage"]),h4=e=>Bs(e,f4,G2),p4=e=>Bs(e,"position",G2),m4=new Set(["image","url"]),g4=e=>Bs(e,m4,b4),v4=e=>Bs(e,"",x4),Ql=()=>!0,Bs=(e,t,r)=>{const n=K2.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},y4=e=>s4.test(e)&&!l4.test(e),G2=()=>!1,x4=e=>u4.test(e),b4=e=>c4.test(e),w4=()=>{const e=it("colors"),t=it("spacing"),r=it("blur"),n=it("brightness"),a=it("borderColor"),o=it("borderRadius"),u=it("borderSpacing"),l=it("borderWidth"),f=it("contrast"),h=it("grayscale"),p=it("hueRotate"),g=it("invert"),x=it("gap"),b=it("gradientColorStops"),j=it("gradientColorStopPositions"),k=it("inset"),S=it("margin"),N=it("opacity"),P=it("padding"),O=it("saturate"),C=it("scale"),_=it("sepia"),A=it("skew"),I=it("space"),U=it("translate"),B=()=>["auto","contain","none"],K=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto",$e,t],$=()=>[$e,t],ue=()=>["",Xn,Wi],J=()=>["auto",cs,$e],ge=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],we=()=>["solid","dashed","dotted","double","none"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Y=()=>["start","end","center","between","around","evenly","stretch"],V=()=>["","0",$e],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>[cs,$e];return{cacheSize:500,separator:":",theme:{colors:[Ql],spacing:[Xn,Wi],blur:["none","",Hi,$e],brightness:D(),borderColor:[e],borderRadius:["none","","full",Hi,$e],borderSpacing:$(),borderWidth:ue(),contrast:D(),grayscale:V(),hueRotate:D(),invert:V(),gap:$(),gradientColorStops:[e],gradientColorStopPositions:[d4,Wi],inset:X(),margin:X(),opacity:D(),padding:$(),saturate:D(),scale:D(),sepia:V(),skew:D(),space:$(),translate:$()},classGroups:{aspect:[{aspect:["auto","square","video",$e]}],container:["container"],columns:[{columns:[Hi]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ge(),$e]}],overflow:[{overflow:K()}],"overflow-x":[{"overflow-x":K()}],"overflow-y":[{"overflow-y":K()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ql,$e]}],basis:[{basis:X()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$e]}],grow:[{grow:V()}],shrink:[{shrink:V()}],order:[{order:["first","last","none",ql,$e]}],"grid-cols":[{"grid-cols":[Ql]}],"col-start-end":[{col:["auto",{span:["full",ql,$e]},$e]}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":[Ql]}],"row-start-end":[{row:["auto",{span:[ql,$e]},$e]}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$e]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$e]}],gap:[{gap:[x]}],"gap-x":[{"gap-x":[x]}],"gap-y":[{"gap-y":[x]}],"justify-content":[{justify:["normal",...Y()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Y(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Y(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[P]}],px:[{px:[P]}],py:[{py:[P]}],ps:[{ps:[P]}],pe:[{pe:[P]}],pt:[{pt:[P]}],pr:[{pr:[P]}],pb:[{pb:[P]}],pl:[{pl:[P]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$e,t]}],"min-w":[{"min-w":[$e,t,"min","max","fit"]}],"max-w":[{"max-w":[$e,t,"none","full","min","max","fit","prose",{screen:[Hi]},Hi]}],h:[{h:[$e,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$e,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Hi,Wi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Xm]}],"font-family":[{font:[Ql]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",$e]}],"line-clamp":[{"line-clamp":["none",cs,Xm]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Xn,$e]}],"list-image":[{"list-image":["none",$e]}],"list-style-type":[{list:["none","disc","decimal",$e]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[N]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...we(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Xn,Wi]}],"underline-offset":[{"underline-offset":["auto",Xn,$e]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[N]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ge(),p4]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",h4]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},g4]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[j]}],"gradient-via-pos":[{via:[j]}],"gradient-to-pos":[{to:[j]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[N]}],"border-style":[{border:[...we(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[N]}],"divide-style":[{divide:we()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...we()]}],"outline-offset":[{"outline-offset":[Xn,$e]}],"outline-w":[{outline:[Xn,Wi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[N]}],"ring-offset-w":[{"ring-offset":[Xn,Wi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Hi,v4]}],"shadow-color":[{shadow:[Ql]}],opacity:[{opacity:[N]}],"mix-blend":[{"mix-blend":[...pe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":pe()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Hi,$e]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[p]}],invert:[{invert:[g]}],saturate:[{saturate:[O]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p]}],"backdrop-invert":[{"backdrop-invert":[g]}],"backdrop-opacity":[{"backdrop-opacity":[N]}],"backdrop-saturate":[{"backdrop-saturate":[O]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$e]}],duration:[{duration:D()}],ease:[{ease:["linear","in","out","in-out",$e]}],delay:[{delay:D()}],animate:[{animate:["none","spin","ping","pulse","bounce",$e]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[ql,$e]}],"translate-x":[{"translate-x":[U]}],"translate-y":[{"translate-y":[U]}],"skew-x":[{"skew-x":[A]}],"skew-y":[{"skew-y":[A]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",$e]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",$e]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",$e]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Xn,Wi,Xm]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},j4=n4(w4);function fe(...e){return j4(et(e))}function _s(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}const V2=["fast","heavy","coder","vision","scout"],k4={fast:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25",heavy:"bg-amber-500/15 text-amber-400 border-amber-500/25",coder:"bg-violet-500/15 text-violet-400 border-violet-500/25",vision:"bg-pink-500/15 text-pink-400 border-pink-500/25",scout:"bg-teal-500/15 text-teal-400 border-teal-500/25",hermes:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25"},yy=e=>e&&k4[e]||"bg-slate-500/15 text-slate-300 border-slate-500/25";function S4({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return c.jsxs("span",{className:fe("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function bw(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function N4(){const{data:e}=go(2e3),{data:t}=py(2e3),r=(e==null?void 0:e.models)??[],n=(e==null?void 0:e.running)??[],a=r.filter(f=>n.includes(f.name)),o=v.useRef(null),[u,l]=v.useState(!1);return v.useEffect(()=>{if(!t)return;const f=t.total_tokens;if(o.current!==null&&f>o.current){l(!0);const h=setTimeout(()=>l(!1),4e3);return o.current=f,()=>clearTimeout(h)}o.current=f},[t==null?void 0:t.total_tokens]),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"flex items-center justify-between mb-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(vu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Aktive Modelle (Live)"})]}),c.jsxs("span",{className:fe("flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider font-mono px-2 py-0.5 rounded-full border transition-colors",u?"bg-emerald-500/10 text-emerald-400 border-emerald-500/30":"bg-background/30 text-muted-foreground/70 border-border/40"),children:[u?c.jsx(ls,{className:"h-3 w-3 animate-pulse"}):c.jsx(vI,{className:"h-3 w-3"}),u?"Inferenz aktiv":"Idle"]})]}),a.length===0?c.jsx("div",{className:"flex items-center justify-center gap-2 h-20 text-xs text-muted-foreground/70 italic",children:"Kein Modell geladen — Auto-Swap lädt bei Anfrage."}):c.jsx("div",{className:"grid gap-2",children:a.map(f=>{var h;return c.jsxs("div",{className:"flex items-center justify-between gap-2 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[f.role&&c.jsx("span",{className:fe("text-[8px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",yy(f.role)),children:f.role}),c.jsx("span",{className:"text-xs font-semibold font-mono text-foreground truncate",children:(h=f.name.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")})]}),c.jsxs("div",{className:"text-[9px] font-mono text-muted-foreground/70 mt-0.5",children:[Br(f.size_bytes)," im Unified-RAM"]})]}),c.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono shrink-0",children:[c.jsx("span",{className:fe("h-1.5 w-1.5 rounded-full bg-emerald-500",u&&"animate-pulse")})," warm"]})]},f.name)})})]})}let ov=[],sv=[];const lv=new Set,q2=()=>lv.forEach(e=>e());function Q2(e){return lv.add(e),()=>{lv.delete(e)}}function E4(e){ov=[...ov,e].slice(-40),q2()}function P4(e){sv=[...sv,e].slice(-40),q2()}const C4=()=>v.useSyncExternalStore(Q2,()=>ov),A4=()=>v.useSyncExternalStore(Q2,()=>sv);function O4(){const{data:e,dataUpdatedAt:t}=lh(3e3),{data:r,dataUpdatedAt:n}=py(3e3),a=v.useRef(null);v.useEffect(()=>{var o,u,l,f;e&&E4({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((u=e.ram)==null?void 0:u.percent)??0,gpu:((l=e.gpu)==null?void 0:l.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),v.useEffect(()=>{if(!r)return;const o=Date.now(),u=r.prompt_tokens,l=r.completion_tokens;if(a.current){const f=Math.max((o-a.current.t)/1e3,.001);P4({t:o,prompt:Math.max(0,(u-a.current.p)/f),completion:Math.max(0,(l-a.current.c)/f)})}a.current={p:u,c:l,t:o}},[n])}function _4(){const{data:e,error:t}=lh(3e3),r=C4();return{sys:e,hist:r,error:t}}var M4=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function xy(e){if(typeof e!="string")return!1;var t=M4;return t.includes(e)}var I4=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],T4=new Set(I4);function Y2(e){return typeof e!="string"?!1:T4.has(e)}function X2(e){return typeof e=="string"&&e.startsWith("data-")}function fn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Y2(r)||X2(r))&&(t[r]=e[r]);return t}function uh(e){if(e==null)return null;if(v.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return fn(t)}return typeof e=="object"&&!Array.isArray(e)?fn(e):null}function Vr(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Y2(r)||X2(r)||xy(r))&&(t[r]=e[r]);return t}function D4(e){return e==null?null:v.isValidElement(e)?Vr(e.props):typeof e=="object"&&!Array.isArray(e)?Vr(e):null}var R4=["children","width","height","viewBox","className","style","title","desc"];function uv(){return uv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,a=e.height,o=e.viewBox,u=e.className,l=e.style,f=e.title,h=e.desc,p=$4(e,R4),g=o||{width:n,height:a,x:0,y:0},x=et("recharts-surface",u);return v.createElement("svg",uv({},Vr(p),{className:x,width:n,height:a,style:l,viewBox:"".concat(g.x," ").concat(g.y," ").concat(g.width," ").concat(g.height),ref:t}),v.createElement("title",null,f),v.createElement("desc",null,h),r)}),z4=["children","className"];function cv(){return cv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=F4(e,z4),o=et("recharts-layer",n);return v.createElement("g",cv({className:o},Vr(a),{ref:t}),r)}),U4=v.createContext(null);function pt(e){return function(){return e}}const dv=Math.PI,fv=2*dv,Ra=1e-6,W4=fv-Ra;function J2(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return J2;const r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aRa)if(!(Math.abs(g*f-h*p)>Ra)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-u,j=a-l,k=f*f+h*h,S=b*b+j*j,N=Math.sqrt(k),P=Math.sqrt(x),O=o*Math.tan((dv-Math.acos((k+x-S)/(2*N*P)))/2),C=O/P,_=O/N;Math.abs(C-1)>Ra&&this._append`L${t+C*p},${r+C*g}`,this._append`A${o},${o},0,0,${+(g*b>p*j)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,a,o,u){if(t=+t,r=+r,n=+n,u=!!u,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),f=n*Math.sin(a),h=t+l,p=r+f,g=1^u,x=u?a-o:o-a;this._x1===null?this._append`M${h},${p}`:(Math.abs(this._x1-h)>Ra||Math.abs(this._y1-p)>Ra)&&this._append`L${h},${p}`,n&&(x<0&&(x=x%fv+fv),x>W4?this._append`A${n},${n},0,1,${g},${t-l},${r-f}A${n},${n},0,1,${g},${this._x1=h},${this._y1=p}`:x>Ra&&this._append`A${n},${n},0,${+(x>=dv)},${g},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}}function eE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new K4(t)}function by(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tE(e){this._context=e}tE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function ch(e){return new tE(e)}function rE(e){return e[0]}function nE(e){return e[1]}function iE(e,t){var r=pt(!0),n=null,a=ch,o=null,u=eE(l);e=typeof e=="function"?e:e===void 0?rE:pt(e),t=typeof t=="function"?t:t===void 0?nE:pt(t);function l(f){var h,p=(f=by(f)).length,g,x=!1,b;for(n==null&&(o=a(b=u())),h=0;h<=p;++h)!(h=b;--j)l.point(O[j],C[j]);l.lineEnd(),l.areaEnd()}N&&(O[x]=+e(S,x,g),C[x]=+t(S,x,g),l.point(n?+n(S,x,g):O[x],r?+r(S,x,g):C[x]))}if(P)return l=null,P+""||null}function p(){return iE().defined(a).curve(u).context(o)}return h.x=function(g){return arguments.length?(e=typeof g=="function"?g:pt(+g),n=null,h):e},h.x0=function(g){return arguments.length?(e=typeof g=="function"?g:pt(+g),h):e},h.x1=function(g){return arguments.length?(n=g==null?null:typeof g=="function"?g:pt(+g),h):n},h.y=function(g){return arguments.length?(t=typeof g=="function"?g:pt(+g),r=null,h):t},h.y0=function(g){return arguments.length?(t=typeof g=="function"?g:pt(+g),h):t},h.y1=function(g){return arguments.length?(r=g==null?null:typeof g=="function"?g:pt(+g),h):r},h.lineX0=h.lineY0=function(){return p().x(e).y(t)},h.lineY1=function(){return p().x(e).y(r)},h.lineX1=function(){return p().x(n).y(t)},h.defined=function(g){return arguments.length?(a=typeof g=="function"?g:pt(!!g),h):a},h.curve=function(g){return arguments.length?(u=g,o!=null&&(l=u(o)),h):u},h.context=function(g){return arguments.length?(g==null?o=l=null:l=u(o=g),h):o},h}class aE{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function G4(e){return new aE(e,!0)}function V4(e){return new aE(e,!1)}function lf(){}function uf(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function oE(e){this._context=e}oE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function q4(e){return new oE(e)}function sE(e){this._context=e}sE.prototype={areaStart:lf,areaEnd:lf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Q4(e){return new sE(e)}function lE(e){this._context=e}lE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Y4(e){return new lE(e)}function uE(e){this._context=e}uE.prototype={areaStart:lf,areaEnd:lf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function X4(e){return new uE(e)}function ww(e){return e<0?-1:1}function jw(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),u=(r-e._y1)/(a||n<0&&-0),l=(o*a+u*n)/(n+a);return(ww(o)+ww(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(l))||0}function kw(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Zm(e,t,r){var n=e._x0,a=e._y0,o=e._x1,u=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,u-l*r,o,u)}function cf(e){this._context=e}cf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Zm(this,this._t0,kw(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Zm(this,kw(this,r=jw(this,e,t)),r);break;default:Zm(this,this._t0,r=jw(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function cE(e){this._context=new dE(e)}(cE.prototype=Object.create(cf.prototype)).point=function(e,t){cf.prototype.point.call(this,t,e)};function dE(e){this._context=e}dE.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,a,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function Z4(e){return new cf(e)}function J4(e){return new cE(e)}function fE(e){this._context=e}fE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Sw(e),a=Sw(t),o=0,u=1;u=0;--t)a[t]=(u[t]-a[t+1])/o[t];for(o[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function tD(e){return new dh(e,.5)}function rD(e){return new dh(e,0)}function nD(e){return new dh(e,1)}function ao(e,t){if((u=e.length)>1)for(var r=1,n,a,o=e[t[0]],u,l=o.length;r=0;)r[t]=t;return r}function iD(e,t){return e[t]}function aD(e){const t=[];return t.key=e,t}function oD(){var e=pt([]),t=hv,r=ao,n=iD;function a(o){var u=Array.from(e.apply(this,arguments),aD),l,f=u.length,h=-1,p;for(const g of o)for(l=0,++h;l0){for(var r,n,a=0,o=e[0].length,u;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,u;n1&&arguments[1]!==void 0?arguments[1]:dD,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Bt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[u-1];return typeof l=="string"?a+l+o:l!==void 0?a+aa(l)+o:a+o},"")}var Hr=e=>e===0?0:e>0?1:-1,Tn=e=>typeof e=="number"&&e!=+e,oo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Ne=e=>(typeof e=="number"||e instanceof Number)&&!Tn(e),Dn=e=>Ne(e)||typeof e=="string",fD=0,Eu=e=>{var t=++fD;return"".concat(e||"").concat(t)},da=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ne(t)&&typeof t!="string")return n;var o;if(oo(t)){if(r==null)return n;var u=t.indexOf("%");o=r*parseFloat(t.slice(0,u))/100}else o=+t;return Tn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},mE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):vo(n,t))===r)}var Kt=e=>e===null||typeof e>"u",ky=e=>Kt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function xr(e){return e!=null}function Us(){}var vE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Sy=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(v.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{xy(a)&&typeof r[a]=="function"&&(n[a]=(o=>r[a](r,o)))}),n},hD=(e,t,r)=>n=>(e(t,r,n),null),pD=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];xy(a)&&typeof o=="function"&&(n||(n={}),n[a]=hD(o,t,r))}),n};function Nw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function mD(e){for(var t=1;t(u[l]===void 0&&n[l]!==void 0&&(u[l]=n[l]),u),r);return o}function xD(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Ny(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const SD="[object RegExp]",xE="[object String]",bE="[object Number]",wE="[object Boolean]",jE="[object Arguments]",ND="[object Symbol]",ED="[object Date]",PD="[object Map]",CD="[object Set]",AD="[object Array]",OD="[object ArrayBuffer]",_D="[object Object]",MD="[object DataView]",ID="[object Uint8Array]",TD="[object Uint8ClampedArray]",DD="[object Uint16Array]",RD="[object Uint32Array]",$D="[object Int8Array]",LD="[object Int16Array]",zD="[object Int32Array]",FD="[object Float32Array]",BD="[object Float64Array]",Ew=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function UD(e){return typeof Ew.Buffer<"u"&&Ew.Buffer.isBuffer(e)}function WD(e,t){return Fa(e,void 0,e,new Map,t)}function Fa(e,t,r,n=new Map,a=void 0){const o=a==null?void 0:a(e,t,r,n);if(o!==void 0)return o;if(mv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const u=new Array(e.length);n.set(e,u);for(let l=0;l{}):gv(e,t,function n(a,o,u,l,f,h){const p=r(a,o,u,l,f,h);return p!==void 0?!!p:gv(a,o,n,h,!1)},new Map,!0)}function gv(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return GD(e,t,r,n);case"function":return Object.keys(t).length>0?gv(e,{...t},r,n,a):Xd(e,t);default:return kE(e)&&a?typeof t=="string"?t==="":!0:Xd(e,t)}}function GD(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return NE(e,t,r,n);if(t instanceof Map)return VD(e,t,r,n);if(t instanceof Set)return qD(e,t,r,n);const a=Object.keys(t);if(e==null||mv(e))return a.length===0;if(a.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function QD(e){return e=KD(e),t=>EE(t,e)}function YD(e,t){return WD(e,(r,n,a,o)=>{if(typeof e=="object"){if(Ny(e)==="[object Object]"&&typeof e.constructor!="function"){const u={};return o.set(e,u),sn(u,e,a,o),u}switch(Object.prototype.toString.call(e)){case bE:case xE:case wE:{const u=new e.constructor(e==null?void 0:e.valueOf());return sn(u,e),u}case jE:{const u={};return sn(u,e),u.length=e.length,u[Symbol.iterator]=e[Symbol.iterator],u}default:return}}})}function XD(e){return YD(e)}const ZD=/^(?:0|[1-9]\d*)$/;function PE(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function CE(e){return e!=null&&typeof e!="function"&&nR(e.length)}function iR(e){return typeof e=="object"&&e!==null}function aR(e){return iR(e)&&CE(e)}function Pw(e,t=yE){return aR(e)?xD(Array.from(e),bD(rR(t),1)):[]}function oR(e,t,r){return t===!0?Pw(e,r):typeof t=="function"?Pw(e,t):e}var Jm={exports:{}},eg={},tg={exports:{}},rg={};/** +`)},t3=0,Go=[];function r3(e){var t=v.useRef([]),r=v.useRef([0,0]),n=v.useRef(),a=v.useState(t3++)[0],o=v.useState(g2)[0],u=v.useRef(e);v.useEffect(function(){u.current=e},[e]),v.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var k=kT([e.lockRef.current],(e.shards||[]).map(mw),!0).filter(Boolean);return k.forEach(function(S){return S.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),k.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var l=v.useCallback(function(k,S){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!u.current.allowPinchZoom;var N=Cd(k),P=r.current,O="deltaX"in k?k.deltaX:P[0]-N[0],C="deltaY"in k?k.deltaY:P[1]-N[1],_,A=k.target,I=Math.abs(O)>Math.abs(C)?"h":"v";if("touches"in k&&I==="h"&&A.type==="range")return!1;var U=window.getSelection(),B=U&&U.anchorNode,K=B?B===A||B.contains(A):!1;if(K)return!1;var X=hw(I,A);if(!X)return!0;if(X?_=I:(_=I==="v"?"h":"v",X=hw(I,A)),!X)return!1;if(!n.current&&"changedTouches"in k&&(O||C)&&(n.current=_),!_)return!0;var $=n.current||_;return ZT($,S,k,$==="h"?O:C)},[]),f=v.useCallback(function(k){var S=k;if(!(!Go.length||Go[Go.length-1]!==o)){var N="deltaY"in S?pw(S):Cd(S),P=t.current.filter(function(_){return _.name===S.type&&(_.target===S.target||S.target===_.shadowParent)&&JT(_.delta,N)})[0];if(P&&P.should){S.cancelable&&S.preventDefault();return}if(!P){var O=(u.current.shards||[]).map(mw).filter(Boolean).filter(function(_){return _.contains(S.target)}),C=O.length>0?l(S,O[0]):!u.current.noIsolation;C&&S.cancelable&&S.preventDefault()}}},[]),h=v.useCallback(function(k,S,N,P){var O={name:k,delta:S,target:N,should:P,shadowParent:n3(N)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(C){return C!==O})},1)},[]),p=v.useCallback(function(k){r.current=Cd(k),n.current=void 0},[]),g=v.useCallback(function(k){h(k.type,pw(k),k.target,l(k,e.lockRef.current))},[]),x=v.useCallback(function(k){h(k.type,Cd(k),k.target,l(k,e.lockRef.current))},[]);v.useEffect(function(){return Go.push(o),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:x}),document.addEventListener("wheel",f,Ko),document.addEventListener("touchmove",f,Ko),document.addEventListener("touchstart",p,Ko),function(){Go=Go.filter(function(k){return k!==o}),document.removeEventListener("wheel",f,Ko),document.removeEventListener("touchmove",f,Ko),document.removeEventListener("touchstart",p,Ko)}},[]);var b=e.removeScrollBar,j=e.inert;return v.createElement(v.Fragment,null,j?v.createElement(o,{styles:e3(a)}):null,b?v.createElement(KT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function n3(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const i3=MT(m2,r3);var b2=v.forwardRef(function(e,t){return v.createElement(ah,Cn({},e,{ref:t,sideCar:i3}))});b2.classNames=ah.classNames;var a3=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Vo=new WeakMap,Ad=new WeakMap,Od={},Qm=0,w2=function(e){return e&&(e.host||w2(e.parentNode))},o3=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=w2(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},s3=function(e,t,r,n){var a=o3(t,Array.isArray(e)?e:[e]);Od[r]||(Od[r]=new WeakMap);var o=Od[r],u=[],l=new Set,f=new Set(a),h=function(g){!g||l.has(g)||(l.add(g),h(g.parentNode))};a.forEach(h);var p=function(g){!g||f.has(g)||Array.prototype.forEach.call(g.children,function(x){if(l.has(x))p(x);else try{var b=x.getAttribute(n),j=b!==null&&b!=="false",k=(Vo.get(x)||0)+1,S=(o.get(x)||0)+1;Vo.set(x,k),o.set(x,S),u.push(x),k===1&&j&&Ad.set(x,!0),S===1&&x.setAttribute(r,"true"),j||x.setAttribute(n,"true")}catch(N){console.error("aria-hidden: cannot operate on ",x,N)}})};return p(t),l.clear(),Qm++,function(){u.forEach(function(g){var x=Vo.get(g)-1,b=o.get(g)-1;Vo.set(g,x),o.set(g,b),x||(Ad.has(g)||g.removeAttribute(n),Ad.delete(g)),b||g.removeAttribute(r)}),Qm--,Qm||(Vo=new WeakMap,Vo=new WeakMap,Ad=new WeakMap,Od={})}},l3=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=a3(e);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),s3(n,a,r,"aria-hidden")):function(){return null}},oh="Dialog",[j2]=RI(oh),[u3,pn]=j2(oh),k2=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:o,modal:u=!0}=e,l=v.useRef(null),f=v.useRef(null),[h,p]=BI({prop:n,defaultProp:a??!1,onChange:o,caller:oh});return c.jsx(u3,{scope:t,triggerRef:l,contentRef:f,contentId:si(),titleId:si(),descriptionId:si(),open:h,onOpenChange:p,onOpenToggle:v.useCallback(()=>p(g=>!g),[p]),modal:u,children:r})};k2.displayName=oh;var S2="DialogTrigger",c3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(S2,r),o=mo(t,a.triggerRef);return c.jsx(Gt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":fy(a.open),...n,ref:o,onClick:sa(e.onClick,a.onOpenToggle)})});c3.displayName=S2;var dy="DialogPortal",[d3,N2]=j2(dy,{forceMount:void 0}),E2=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:a}=e,o=pn(dy,t);return c.jsx(d3,{scope:t,forceMount:r,children:v.Children.map(n,u=>c.jsx(ih,{present:r||o.open,children:c.jsx(f2,{asChild:!0,container:a,children:u})}))})};E2.displayName=dy;var sf="DialogOverlay",P2=v.forwardRef((e,t)=>{const r=N2(sf,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=pn(sf,e.__scopeDialog);return o.modal?c.jsx(ih,{present:n||o.open,children:c.jsx(h3,{...a,ref:t})}):null});P2.displayName=sf;var f3=s2("DialogOverlay.RemoveScroll"),h3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(sf,r),o=sT(),u=mo(t,o);return c.jsx(b2,{as:f3,allowPinchZoom:!0,shards:[a.contentRef],children:c.jsx(Gt.div,{"data-state":fy(a.open),...n,ref:u,style:{pointerEvents:"auto",...n.style}})})}),Os="DialogContent",C2=v.forwardRef((e,t)=>{const r=N2(Os,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=pn(Os,e.__scopeDialog);return c.jsx(ih,{present:n||o.open,children:o.modal?c.jsx(p3,{...a,ref:t}):c.jsx(m3,{...a,ref:t})})});C2.displayName=Os;var p3=v.forwardRef((e,t)=>{const r=pn(Os,e.__scopeDialog),n=v.useRef(null),a=mo(t,r.contentRef,n);return v.useEffect(()=>{const o=n.current;if(o)return l3(o)},[]),c.jsx(A2,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:sa(e.onCloseAutoFocus,o=>{var u;o.preventDefault(),(u=r.triggerRef.current)==null||u.focus()}),onPointerDownOutside:sa(e.onPointerDownOutside,o=>{const u=o.detail.originalEvent,l=u.button===0&&u.ctrlKey===!0;(u.button===2||l)&&o.preventDefault()}),onFocusOutside:sa(e.onFocusOutside,o=>o.preventDefault())})}),m3=v.forwardRef((e,t)=>{const r=pn(Os,e.__scopeDialog),n=v.useRef(!1),a=v.useRef(!1);return c.jsx(A2,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var u,l;(u=e.onCloseAutoFocus)==null||u.call(e,o),o.defaultPrevented||(n.current||(l=r.triggerRef.current)==null||l.focus(),o.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:o=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,o),o.defaultPrevented||(n.current=!0,o.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const u=o.target;((h=r.triggerRef.current)==null?void 0:h.contains(u))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&a.current&&o.preventDefault()}})}),A2=v.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:o,...u}=e,l=pn(Os,r);return jT(),c.jsx(c.Fragment,{children:c.jsx(c2,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:o,children:c.jsx(l2,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":fy(l.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),O2="DialogTitle",g3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(O2,r);return c.jsx(Gt.h2,{id:a.titleId,...n,ref:t})});g3.displayName=O2;var _2="DialogDescription",v3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(_2,r);return c.jsx(Gt.p,{id:a.descriptionId,...n,ref:t})});v3.displayName=_2;var M2="DialogClose",y3=v.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,a=pn(M2,r);return c.jsx(Gt.button,{type:"button",...n,ref:t,onClick:sa(e.onClick,()=>a.onOpenChange(!1))})});y3.displayName=M2;function fy(e){return e?"open":"closed"}var Vl='[cmdk-group=""]',Ym='[cmdk-group-items=""]',x3='[cmdk-group-heading=""]',I2='[cmdk-item=""]',gw=`${I2}:not([aria-disabled="true"])`,rv="cmdk-item-select",ns="data-value",b3=(e,t,r)=>DI(e,t,r),T2=v.createContext(void 0),qu=()=>v.useContext(T2),D2=v.createContext(void 0),hy=()=>v.useContext(D2),R2=v.createContext(void 0),$2=v.forwardRef((e,t)=>{let r=is(()=>{var T,ee;return{search:"",value:(ee=(T=e.value)!=null?T:e.defaultValue)!=null?ee:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=is(()=>new Set),a=is(()=>new Map),o=is(()=>new Map),u=is(()=>new Set),l=L2(e),{label:f,children:h,value:p,onValueChange:g,filter:x,shouldFilter:b,loop:j,disablePointerSelection:k=!1,vimBindings:S=!0,...N}=e,P=si(),O=si(),C=si(),_=v.useRef(null),A=_3();io(()=>{if(p!==void 0){let T=p.trim();r.current.value=T,I.emit()}},[p]),io(()=>{A(6,ue)},[]);let I=v.useMemo(()=>({subscribe:T=>(u.current.add(T),()=>u.current.delete(T)),snapshot:()=>r.current,setState:(T,ee,ie)=>{var re,ce,me,Oe;if(!Object.is(r.current[T],ee)){if(r.current[T]=ee,T==="search")$(),K(),A(1,X);else if(T==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let te=document.getElementById(C);te?te.focus():(re=document.getElementById(P))==null||re.focus()}if(A(7,()=>{var te;r.current.selectedItemId=(te=J())==null?void 0:te.id,I.emit()}),ie||A(5,ue),((ce=l.current)==null?void 0:ce.value)!==void 0){let te=ee??"";(Oe=(me=l.current).onValueChange)==null||Oe.call(me,te);return}}I.emit()}},emit:()=>{u.current.forEach(T=>T())}}),[]),U=v.useMemo(()=>({value:(T,ee,ie)=>{var re;ee!==((re=o.current.get(T))==null?void 0:re.value)&&(o.current.set(T,{value:ee,keywords:ie}),r.current.filtered.items.set(T,B(ee,ie)),A(2,()=>{K(),I.emit()}))},item:(T,ee)=>(n.current.add(T),ee&&(a.current.has(ee)?a.current.get(ee).add(T):a.current.set(ee,new Set([T]))),A(3,()=>{$(),K(),r.current.value||X(),I.emit()}),()=>{o.current.delete(T),n.current.delete(T),r.current.filtered.items.delete(T);let ie=J();A(4,()=>{$(),(ie==null?void 0:ie.getAttribute("id"))===T&&X(),I.emit()})}),group:T=>(a.current.has(T)||a.current.set(T,new Set),()=>{o.current.delete(T),a.current.delete(T)}),filter:()=>l.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:P,inputId:C,labelId:O,listInnerRef:_}),[]);function B(T,ee){var ie,re;let ce=(re=(ie=l.current)==null?void 0:ie.filter)!=null?re:b3;return T?ce(T,r.current.search,ee):0}function K(){if(!r.current.search||l.current.shouldFilter===!1)return;let T=r.current.filtered.items,ee=[];r.current.filtered.groups.forEach(re=>{let ce=a.current.get(re),me=0;ce.forEach(Oe=>{let te=T.get(Oe);me=Math.max(te,me)}),ee.push([re,me])});let ie=_.current;ge().sort((re,ce)=>{var me,Oe;let te=re.getAttribute("id"),ke=ce.getAttribute("id");return((me=T.get(ke))!=null?me:0)-((Oe=T.get(te))!=null?Oe:0)}).forEach(re=>{let ce=re.closest(Ym);ce?ce.appendChild(re.parentElement===ce?re:re.closest(`${Ym} > *`)):ie.appendChild(re.parentElement===ie?re:re.closest(`${Ym} > *`))}),ee.sort((re,ce)=>ce[1]-re[1]).forEach(re=>{var ce;let me=(ce=_.current)==null?void 0:ce.querySelector(`${Vl}[${ns}="${encodeURIComponent(re[0])}"]`);me==null||me.parentElement.appendChild(me)})}function X(){let T=ge().find(ie=>ie.getAttribute("aria-disabled")!=="true"),ee=T==null?void 0:T.getAttribute(ns);I.setState("value",ee||void 0)}function $(){var T,ee,ie,re;if(!r.current.search||l.current.shouldFilter===!1){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let ce=0;for(let me of n.current){let Oe=(ee=(T=o.current.get(me))==null?void 0:T.value)!=null?ee:"",te=(re=(ie=o.current.get(me))==null?void 0:ie.keywords)!=null?re:[],ke=B(Oe,te);r.current.filtered.items.set(me,ke),ke>0&&ce++}for(let[me,Oe]of a.current)for(let te of Oe)if(r.current.filtered.items.get(te)>0){r.current.filtered.groups.add(me);break}r.current.filtered.count=ce}function ue(){var T,ee,ie;let re=J();re&&(((T=re.parentElement)==null?void 0:T.firstChild)===re&&((ie=(ee=re.closest(Vl))==null?void 0:ee.querySelector(x3))==null||ie.scrollIntoView({block:"nearest"})),re.scrollIntoView({block:"nearest"}))}function J(){var T;return(T=_.current)==null?void 0:T.querySelector(`${I2}[aria-selected="true"]`)}function ge(){var T;return Array.from(((T=_.current)==null?void 0:T.querySelectorAll(gw))||[])}function we(T){let ee=ge()[T];ee&&I.setState("value",ee.getAttribute(ns))}function pe(T){var ee;let ie=J(),re=ge(),ce=re.findIndex(Oe=>Oe===ie),me=re[ce+T];(ee=l.current)!=null&&ee.loop&&(me=ce+T<0?re[re.length-1]:ce+T===re.length?re[0]:re[ce+T]),me&&I.setState("value",me.getAttribute(ns))}function Y(T){let ee=J(),ie=ee==null?void 0:ee.closest(Vl),re;for(;ie&&!re;)ie=T>0?A3(ie,Vl):O3(ie,Vl),re=ie==null?void 0:ie.querySelector(gw);re?I.setState("value",re.getAttribute(ns)):pe(T)}let V=()=>we(ge().length-1),Q=T=>{T.preventDefault(),T.metaKey?V():T.altKey?Y(1):pe(1)},D=T=>{T.preventDefault(),T.metaKey?we(0):T.altKey?Y(-1):pe(-1)};return v.createElement(Gt.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:T=>{var ee;(ee=N.onKeyDown)==null||ee.call(N,T);let ie=T.nativeEvent.isComposing||T.keyCode===229;if(!(T.defaultPrevented||ie))switch(T.key){case"n":case"j":{S&&T.ctrlKey&&Q(T);break}case"ArrowDown":{Q(T);break}case"p":case"k":{S&&T.ctrlKey&&D(T);break}case"ArrowUp":{D(T);break}case"Home":{T.preventDefault(),we(0);break}case"End":{T.preventDefault(),V();break}case"Enter":{T.preventDefault();let re=J();if(re){let ce=new Event(rv);re.dispatchEvent(ce)}}}}},v.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:I3},f),sh(e,T=>v.createElement(D2.Provider,{value:I},v.createElement(T2.Provider,{value:U},T))))}),w3=v.forwardRef((e,t)=>{var r,n;let a=si(),o=v.useRef(null),u=v.useContext(R2),l=qu(),f=L2(e),h=(n=(r=f.current)==null?void 0:r.forceMount)!=null?n:u==null?void 0:u.forceMount;io(()=>{if(!h)return l.item(a,u==null?void 0:u.id)},[h]);let p=z2(a,o,[e.value,e.children,o],e.keywords),g=hy(),x=ca(A=>A.value&&A.value===p.current),b=ca(A=>h||l.filter()===!1?!0:A.search?A.filtered.items.get(a)>0:!0);v.useEffect(()=>{let A=o.current;if(!(!A||e.disabled))return A.addEventListener(rv,j),()=>A.removeEventListener(rv,j)},[b,e.onSelect,e.disabled]);function j(){var A,I;k(),(I=(A=f.current).onSelect)==null||I.call(A,p.current)}function k(){g.setState("value",p.current,!0)}if(!b)return null;let{disabled:S,value:N,onSelect:P,forceMount:O,keywords:C,..._}=e;return v.createElement(Gt.div,{ref:As(o,t),..._,id:a,"cmdk-item":"",role:"option","aria-disabled":!!S,"aria-selected":!!x,"data-disabled":!!S,"data-selected":!!x,onPointerMove:S||l.getDisablePointerSelection()?void 0:k,onClick:S?void 0:j},e.children)}),j3=v.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:a,...o}=e,u=si(),l=v.useRef(null),f=v.useRef(null),h=si(),p=qu(),g=ca(b=>a||p.filter()===!1?!0:b.search?b.filtered.groups.has(u):!0);io(()=>p.group(u),[]),z2(u,l,[e.value,e.heading,f]);let x=v.useMemo(()=>({id:u,forceMount:a}),[a]);return v.createElement(Gt.div,{ref:As(l,t),...o,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},r&&v.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},r),sh(e,b=>v.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?h:void 0},v.createElement(R2.Provider,{value:x},b))))}),k3=v.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,a=v.useRef(null),o=ca(u=>!u.search);return!r&&!o?null:v.createElement(Gt.div,{ref:As(a,t),...n,"cmdk-separator":"",role:"separator"})}),S3=v.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,a=e.value!=null,o=hy(),u=ca(h=>h.search),l=ca(h=>h.selectedItemId),f=qu();return v.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),v.createElement(Gt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":l,id:f.inputId,type:"text",value:a?e.value:u,onChange:h=>{a||o.setState("search",h.target.value),r==null||r(h.target.value)}})}),N3=v.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...a}=e,o=v.useRef(null),u=v.useRef(null),l=ca(h=>h.selectedItemId),f=qu();return v.useEffect(()=>{if(u.current&&o.current){let h=u.current,p=o.current,g,x=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{let b=h.offsetHeight;p.style.setProperty("--cmdk-list-height",b.toFixed(1)+"px")})});return x.observe(h),()=>{cancelAnimationFrame(g),x.unobserve(h)}}},[]),v.createElement(Gt.div,{ref:As(o,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":n,id:f.listId},sh(e,h=>v.createElement("div",{ref:As(u,f.listInnerRef),"cmdk-list-sizer":""},h)))}),E3=v.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:a,contentClassName:o,container:u,...l}=e;return v.createElement(k2,{open:r,onOpenChange:n},v.createElement(E2,{container:u},v.createElement(P2,{"cmdk-overlay":"",className:a}),v.createElement(C2,{"aria-label":e.label,"cmdk-dialog":"",className:o},v.createElement($2,{ref:t,...l}))))}),P3=v.forwardRef((e,t)=>ca(r=>r.filtered.count===0)?v.createElement(Gt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),C3=v.forwardRef((e,t)=>{let{progress:r,children:n,label:a="Loading...",...o}=e;return v.createElement(Gt.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},sh(e,u=>v.createElement("div",{"aria-hidden":!0},u)))}),qo=Object.assign($2,{List:N3,Item:w3,Input:S3,Group:j3,Separator:k3,Dialog:E3,Empty:P3,Loading:C3});function A3(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}function O3(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}function L2(e){let t=v.useRef(e);return io(()=>{t.current=e}),t}var io=typeof window>"u"?v.useEffect:v.useLayoutEffect;function is(e){let t=v.useRef();return t.current===void 0&&(t.current=e()),t}function ca(e){let t=hy(),r=()=>e(t.snapshot());return v.useSyncExternalStore(t.subscribe,r,r)}function z2(e,t,r,n=[]){let a=v.useRef(),o=qu();return io(()=>{var u;let l=(()=>{var h;for(let p of r){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(h=p.current.textContent)==null?void 0:h.trim():a.current}})(),f=n.map(h=>h.trim());o.value(e,l,f),(u=t.current)==null||u.setAttribute(ns,l),a.current=l}),a}var _3=()=>{let[e,t]=v.useState(),r=is(()=>new Map);return io(()=>{r.current.forEach(n=>n()),r.current=new Map},[e]),(n,a)=>{r.current.set(n,a),t({})}};function M3(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function sh({asChild:e,children:t},r){return e&&v.isValidElement(t)?v.cloneElement(M3(t),{ref:t.ref},r(t.props.children)):r(t)}var I3={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function T3({onNavigate:e}){const[t,r]=v.useState(!1);return v.useEffect(()=>{const n=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()==="k"&&(a.preventDefault(),r(o=>!o))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[]),c.jsx(qo.Dialog,{open:t,onOpenChange:r,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh]",onClick:()=>r(!1),children:c.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:n=>n.stopPropagation(),children:[c.jsx(qo.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),c.jsxs(qo.List,{className:"max-h-80 overflow-y-auto p-2",children:[c.jsx(qo.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),c.jsx(qo.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:Zg.map(n=>c.jsxs(qo.Item,{value:`${n.label} ${n.hint}`,onSelect:()=>{e(n.id),r(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[c.jsx(n.icon,{className:"h-4 w-4 text-primary"}),c.jsx("span",{children:n.label}),c.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:n.hint})]},n.id))})]})]})})}async function Me(e,t){var f;const r={"Content-Type":"application/json",...t==null?void 0:t.headers},n=localStorage.getItem("mc_sudo_password"),a=localStorage.getItem("mc_hf_token");n&&(r["X-Sudo-Password"]=n);let o=t==null?void 0:t.body;if((((f=t==null?void 0:t.method)==null?void 0:f.toUpperCase())||"GET")==="POST"){if(typeof o=="string")try{const h=JSON.parse(o);let p=!1;n&&!("sudo_password"in h)&&(h.sudo_password=n,p=!0),a&&!("hf_token"in h)&&(h.hf_token=a,p=!0),p&&(o=JSON.stringify(h))}catch{}else if(!o){const h={};n&&(h.sudo_password=n),a&&(h.hf_token=a),Object.keys(h).length>0&&(o=JSON.stringify(h))}}const l=await fetch(e,{...t,headers:r,body:o});if(!l.ok)throw new Error(`${l.status} ${l.statusText}`);return l.json()}const wt={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],routing:["routing"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:e=>["drafts",e??""],connect:e=>["connect",e??""],memory:(e,t)=>["memory",e??"",t??""],memoryGraph:["memory-graph"]},D3=(e=!0)=>ur({queryKey:wt.memoryGraph,queryFn:()=>Me("/api/memory/graph"),enabled:e}),R3=()=>ur({queryKey:wt.health,queryFn:()=>Me("/api/health"),refetchInterval:1e4}),lh=(e=5e3)=>ur({queryKey:wt.systemStatus,queryFn:()=>Me("/api/system/status"),refetchInterval:e}),$3=(e=3e3)=>ur({queryKey:wt.services,queryFn:()=>Me("/api/system/services"),refetchInterval:e}),go=(e=4e3)=>ur({queryKey:wt.models,queryFn:()=>Me("/api/models"),refetchInterval:e}),L3=(e=4e3)=>ur({queryKey:wt.routing,queryFn:()=>Me("/api/routing"),refetchInterval:e}),z3=(e=2e3)=>ur({queryKey:wt.jobs,queryFn:()=>Me("/api/jobs"),refetchInterval:e,select:t=>t.jobs??[]}),py=(e=3e3)=>ur({queryKey:wt.tokenStats,queryFn:()=>Me("/api/system/token-stats"),refetchInterval:e}),my=(e=5e3)=>ur({queryKey:wt.agentStatus,queryFn:()=>Me("/api/agent/status"),refetchInterval:e}),F3=(e=6e4)=>ur({queryKey:wt.hermesBrain,queryFn:()=>Me("/api/agent/brain"),refetchInterval:e}),gy=e=>ur({queryKey:wt.updates,queryFn:()=>Me("/api/maintenance/updates"),refetchInterval:e}),B3=()=>ur({queryKey:wt.discover,queryFn:()=>Me("/api/discover")}),U3=e=>ur({queryKey:wt.drafts(e),queryFn:()=>Me(`/api/models/drafts?target=${encodeURIComponent(e??"")}`),enabled:!!e}),F2=e=>ur({queryKey:wt.connect(e),queryFn:()=>Me(e?`/api/connect?${e}`:"/api/connect")}),nv=e=>ur({queryKey:wt.memory(e==null?void 0:e.q,e==null?void 0:e.category),queryFn:()=>{const t=new URLSearchParams;return e!=null&&e.q&&t.set("q",e.q),e!=null&&e.category&&t.set("category",e.category),Me(`/api/memory?${t}`)},select:t=>e!=null&&e.limit?t.slice(0,e.limit):t});function Qo(e){return(e/1024**3).toFixed(1)}function iv(e){return e?e>1024**3?`${(e/1024**3).toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`:""}function Br(e){if(!e)return"—";const t=e/1024**3;return t>=1?`${t.toFixed(1)} GB`:`${(e/1024**2).toFixed(0)} MB`}function W3(e){if(!e)return"";const t=Math.floor(e/60);return t>0?`${t} min`:`${e} s`}function vw(e){return e?`${Math.round(e/1024)}k`:"—"}function B2(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{const t=G3(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:u=>{const l=u.split(vy);return l[0]===""&&l.length!==1&&l.shift(),U2(l,t)||K3(u)},getConflictingClassGroupIds:(u,l)=>{const f=r[u]||[];return l&&n[u]?[...f,...n[u]]:f}}},U2=(e,t)=>{var u;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),a=n?U2(e.slice(1),n):void 0;if(a)return a;if(t.validators.length===0)return;const o=e.join(vy);return(u=t.validators.find(({validator:l})=>l(o)))==null?void 0:u.classGroupId},yw=/^\[(.+)\]$/,K3=e=>{if(yw.test(e)){const t=yw.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},G3=e=>{const{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return q3(Object.entries(e.classGroups),r).forEach(([o,u])=>{av(u,n,o,t)}),n},av=(e,t,r,n)=>{e.forEach(a=>{if(typeof a=="string"){const o=a===""?t:xw(t,a);o.classGroupId=r;return}if(typeof a=="function"){if(V3(a)){av(a(n),t,r,n);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([o,u])=>{av(u,xw(t,o),r,n)})})},xw=(e,t)=>{let r=e;return t.split(vy).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},V3=e=>e.isThemeGetter,q3=(e,t)=>t?e.map(([r,n])=>{const a=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([u,l])=>[t+u,l])):o);return[r,a]}):e,Q3=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const a=(o,u)=>{r.set(o,u),t++,t>e&&(t=0,n=r,r=new Map)};return{get(o){let u=r.get(o);if(u!==void 0)return u;if((u=n.get(o))!==void 0)return a(o,u),u},set(o,u){r.has(o)?r.set(o,u):a(o,u)}}},W2="!",Y3=e=>{const{separator:t,experimentalParseClassName:r}=e,n=t.length===1,a=t[0],o=t.length,u=l=>{const f=[];let h=0,p=0,g;for(let S=0;Sp?g-p:void 0;return{modifiers:f,hasImportantModifier:b,baseClassName:j,maybePostfixModifierPosition:k}};return r?l=>r({className:l,parseClassName:u}):u},X3=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(n=>{n[0]==="["?(t.push(...r.sort(),n),r=[]):r.push(n)}),t.push(...r.sort()),t},Z3=e=>({cache:Q3(e.cacheSize),parseClassName:Y3(e),...H3(e)}),J3=/\s+/,e4=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a}=t,o=[],u=e.trim().split(J3);let l="";for(let f=u.length-1;f>=0;f-=1){const h=u[f],{modifiers:p,hasImportantModifier:g,baseClassName:x,maybePostfixModifierPosition:b}=r(h);let j=!!b,k=n(j?x.substring(0,b):x);if(!k){if(!j){l=h+(l.length>0?" "+l:l);continue}if(k=n(x),!k){l=h+(l.length>0?" "+l:l);continue}j=!1}const S=X3(p).join(":"),N=g?S+W2:S,P=N+k;if(o.includes(P))continue;o.push(P);const O=a(k,j);for(let C=0;C0?" "+l:l)}return l};function t4(){let e=0,t,r,n="";for(;e{if(typeof e=="string")return e;let t,r="";for(let n=0;ng(p),e());return r=Z3(h),n=r.cache.get,a=r.cache.set,o=l,l(f)}function l(f){const h=n(f);if(h)return h;const p=e4(f,r);return a(f,p),p}return function(){return o(t4.apply(null,arguments))}}const it=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},K2=/^\[(?:([a-z-]+):)?(.+)\]$/i,n4=/^\d+\/\d+$/,i4=new Set(["px","full","screen"]),a4=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,o4=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,s4=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,l4=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,u4=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Xn=e=>cs(e)||i4.has(e)||n4.test(e),Wi=e=>Bs(e,"length",v4),cs=e=>!!e&&!Number.isNaN(Number(e)),Xm=e=>Bs(e,"number",cs),ql=e=>!!e&&Number.isInteger(Number(e)),c4=e=>e.endsWith("%")&&cs(e.slice(0,-1)),$e=e=>K2.test(e),Hi=e=>a4.test(e),d4=new Set(["length","size","percentage"]),f4=e=>Bs(e,d4,G2),h4=e=>Bs(e,"position",G2),p4=new Set(["image","url"]),m4=e=>Bs(e,p4,x4),g4=e=>Bs(e,"",y4),Ql=()=>!0,Bs=(e,t,r)=>{const n=K2.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):r(n[2]):!1},v4=e=>o4.test(e)&&!s4.test(e),G2=()=>!1,y4=e=>l4.test(e),x4=e=>u4.test(e),b4=()=>{const e=it("colors"),t=it("spacing"),r=it("blur"),n=it("brightness"),a=it("borderColor"),o=it("borderRadius"),u=it("borderSpacing"),l=it("borderWidth"),f=it("contrast"),h=it("grayscale"),p=it("hueRotate"),g=it("invert"),x=it("gap"),b=it("gradientColorStops"),j=it("gradientColorStopPositions"),k=it("inset"),S=it("margin"),N=it("opacity"),P=it("padding"),O=it("saturate"),C=it("scale"),_=it("sepia"),A=it("skew"),I=it("space"),U=it("translate"),B=()=>["auto","contain","none"],K=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto",$e,t],$=()=>[$e,t],ue=()=>["",Xn,Wi],J=()=>["auto",cs,$e],ge=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],we=()=>["solid","dashed","dotted","double","none"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Y=()=>["start","end","center","between","around","evenly","stretch"],V=()=>["","0",$e],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>[cs,$e];return{cacheSize:500,separator:":",theme:{colors:[Ql],spacing:[Xn,Wi],blur:["none","",Hi,$e],brightness:D(),borderColor:[e],borderRadius:["none","","full",Hi,$e],borderSpacing:$(),borderWidth:ue(),contrast:D(),grayscale:V(),hueRotate:D(),invert:V(),gap:$(),gradientColorStops:[e],gradientColorStopPositions:[c4,Wi],inset:X(),margin:X(),opacity:D(),padding:$(),saturate:D(),scale:D(),sepia:V(),skew:D(),space:$(),translate:$()},classGroups:{aspect:[{aspect:["auto","square","video",$e]}],container:["container"],columns:[{columns:[Hi]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ge(),$e]}],overflow:[{overflow:K()}],"overflow-x":[{"overflow-x":K()}],"overflow-y":[{"overflow-y":K()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ql,$e]}],basis:[{basis:X()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$e]}],grow:[{grow:V()}],shrink:[{shrink:V()}],order:[{order:["first","last","none",ql,$e]}],"grid-cols":[{"grid-cols":[Ql]}],"col-start-end":[{col:["auto",{span:["full",ql,$e]},$e]}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":[Ql]}],"row-start-end":[{row:["auto",{span:[ql,$e]},$e]}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$e]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$e]}],gap:[{gap:[x]}],"gap-x":[{"gap-x":[x]}],"gap-y":[{"gap-y":[x]}],"justify-content":[{justify:["normal",...Y()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Y(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Y(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[P]}],px:[{px:[P]}],py:[{py:[P]}],ps:[{ps:[P]}],pe:[{pe:[P]}],pt:[{pt:[P]}],pr:[{pr:[P]}],pb:[{pb:[P]}],pl:[{pl:[P]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$e,t]}],"min-w":[{"min-w":[$e,t,"min","max","fit"]}],"max-w":[{"max-w":[$e,t,"none","full","min","max","fit","prose",{screen:[Hi]},Hi]}],h:[{h:[$e,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$e,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$e,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Hi,Wi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Xm]}],"font-family":[{font:[Ql]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",$e]}],"line-clamp":[{"line-clamp":["none",cs,Xm]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Xn,$e]}],"list-image":[{"list-image":["none",$e]}],"list-style-type":[{list:["none","disc","decimal",$e]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[N]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...we(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Xn,Wi]}],"underline-offset":[{"underline-offset":["auto",Xn,$e]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[N]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ge(),h4]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",f4]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},m4]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[j]}],"gradient-via-pos":[{via:[j]}],"gradient-to-pos":[{to:[j]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[N]}],"border-style":[{border:[...we(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[N]}],"divide-style":[{divide:we()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...we()]}],"outline-offset":[{"outline-offset":[Xn,$e]}],"outline-w":[{outline:[Xn,Wi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[N]}],"ring-offset-w":[{"ring-offset":[Xn,Wi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Hi,g4]}],"shadow-color":[{shadow:[Ql]}],opacity:[{opacity:[N]}],"mix-blend":[{"mix-blend":[...pe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":pe()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",Hi,$e]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[p]}],invert:[{invert:[g]}],saturate:[{saturate:[O]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p]}],"backdrop-invert":[{"backdrop-invert":[g]}],"backdrop-opacity":[{"backdrop-opacity":[N]}],"backdrop-saturate":[{"backdrop-saturate":[O]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[u]}],"border-spacing-x":[{"border-spacing-x":[u]}],"border-spacing-y":[{"border-spacing-y":[u]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$e]}],duration:[{duration:D()}],ease:[{ease:["linear","in","out","in-out",$e]}],delay:[{delay:D()}],animate:[{animate:["none","spin","ping","pulse","bounce",$e]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[ql,$e]}],"translate-x":[{"translate-x":[U]}],"translate-y":[{"translate-y":[U]}],"skew-x":[{"skew-x":[A]}],"skew-y":[{"skew-y":[A]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",$e]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",$e]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",$e]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Xn,Wi,Xm]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},w4=r4(b4);function fe(...e){return w4(et(e))}function _s(e){return e?e.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}const V2=["fast","heavy","coder","vision","scout"],j4={fast:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25",heavy:"bg-amber-500/15 text-amber-400 border-amber-500/25",coder:"bg-violet-500/15 text-violet-400 border-violet-500/25",vision:"bg-pink-500/15 text-pink-400 border-pink-500/25",scout:"bg-teal-500/15 text-teal-400 border-teal-500/25",hermes:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25"},yy=e=>e&&j4[e]||"bg-slate-500/15 text-slate-300 border-slate-500/25";function k4({fit:e}){const t={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[e.level];return c.jsxs("span",{className:fe("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",t),children:[e.text," • ",e.req_gb," GB RAM"]})}function bw(e){const t=e.toLowerCase();return t.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:t.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:t.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:t.includes("mistral")||t.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:t.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:t.includes("hermes")||t.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:t.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function S4(){const{data:e}=go(2e3),{data:t}=py(2e3),r=(e==null?void 0:e.models)??[],n=(e==null?void 0:e.running)??[],a=r.filter(f=>n.includes(f.name)),o=v.useRef(null),[u,l]=v.useState(!1);return v.useEffect(()=>{if(!t)return;const f=t.total_tokens;if(o.current!==null&&f>o.current){l(!0);const h=setTimeout(()=>l(!1),4e3);return o.current=f,()=>clearTimeout(h)}o.current=f},[t==null?void 0:t.total_tokens]),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"flex items-center justify-between mb-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(vu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Aktive Modelle (Live)"})]}),c.jsxs("span",{className:fe("flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider font-mono px-2 py-0.5 rounded-full border transition-colors",u?"bg-emerald-500/10 text-emerald-400 border-emerald-500/30":"bg-background/30 text-muted-foreground/70 border-border/40"),children:[u?c.jsx(ls,{className:"h-3 w-3 animate-pulse"}):c.jsx(vI,{className:"h-3 w-3"}),u?"Inferenz aktiv":"Idle"]})]}),a.length===0?c.jsx("div",{className:"flex items-center justify-center gap-2 h-20 text-xs text-muted-foreground/70 italic",children:"Kein Modell geladen — Auto-Swap lädt bei Anfrage."}):c.jsx("div",{className:"grid gap-2",children:a.map(f=>{var h;return c.jsxs("div",{className:"flex items-center justify-between gap-2 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[f.role&&c.jsx("span",{className:fe("text-[8px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",yy(f.role)),children:f.role}),c.jsx("span",{className:"text-xs font-semibold font-mono text-foreground truncate",children:(h=f.name.split("/").pop())==null?void 0:h.replace(/\.gguf$/i,"")})]}),c.jsxs("div",{className:"text-[9px] font-mono text-muted-foreground/70 mt-0.5",children:[Br(f.size_bytes)," im Unified-RAM"]})]}),c.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono shrink-0",children:[c.jsx("span",{className:fe("h-1.5 w-1.5 rounded-full bg-emerald-500",u&&"animate-pulse")})," warm"]})]},f.name)})})]})}let ov=[],sv=[];const lv=new Set,q2=()=>lv.forEach(e=>e());function Q2(e){return lv.add(e),()=>{lv.delete(e)}}function N4(e){ov=[...ov,e].slice(-40),q2()}function E4(e){sv=[...sv,e].slice(-40),q2()}const P4=()=>v.useSyncExternalStore(Q2,()=>ov),C4=()=>v.useSyncExternalStore(Q2,()=>sv);function A4(){const{data:e,dataUpdatedAt:t}=lh(3e3),{data:r,dataUpdatedAt:n}=py(3e3),a=v.useRef(null);v.useEffect(()=>{var o,u,l,f;e&&N4({t:Date.now(),cpu:((o=e.cpu)==null?void 0:o.percent)??0,ram:((u=e.ram)==null?void 0:u.percent)??0,gpu:((l=e.gpu)==null?void 0:l.busy_percent)??null,disk:((f=e.disk)==null?void 0:f.percent)??null})},[t]),v.useEffect(()=>{if(!r)return;const o=Date.now(),u=r.prompt_tokens,l=r.completion_tokens;if(a.current){const f=Math.max((o-a.current.t)/1e3,.001);E4({t:o,prompt:Math.max(0,(u-a.current.p)/f),completion:Math.max(0,(l-a.current.c)/f)})}a.current={p:u,c:l,t:o}},[n])}function O4(){const{data:e,error:t}=lh(3e3),r=P4();return{sys:e,hist:r,error:t}}var _4=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function xy(e){if(typeof e!="string")return!1;var t=_4;return t.includes(e)}var M4=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],I4=new Set(M4);function Y2(e){return typeof e!="string"?!1:I4.has(e)}function X2(e){return typeof e=="string"&&e.startsWith("data-")}function fn(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Y2(r)||X2(r))&&(t[r]=e[r]);return t}function uh(e){if(e==null)return null;if(v.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return fn(t)}return typeof e=="object"&&!Array.isArray(e)?fn(e):null}function Vr(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Y2(r)||X2(r)||xy(r))&&(t[r]=e[r]);return t}function T4(e){return e==null?null:v.isValidElement(e)?Vr(e.props):typeof e=="object"&&!Array.isArray(e)?Vr(e):null}var D4=["children","width","height","viewBox","className","style","title","desc"];function uv(){return uv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,a=e.height,o=e.viewBox,u=e.className,l=e.style,f=e.title,h=e.desc,p=R4(e,D4),g=o||{width:n,height:a,x:0,y:0},x=et("recharts-surface",u);return v.createElement("svg",uv({},Vr(p),{className:x,width:n,height:a,style:l,viewBox:"".concat(g.x," ").concat(g.y," ").concat(g.width," ").concat(g.height),ref:t}),v.createElement("title",null,f),v.createElement("desc",null,h),r)}),L4=["children","className"];function cv(){return cv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=z4(e,L4),o=et("recharts-layer",n);return v.createElement("g",cv({className:o},Vr(a),{ref:t}),r)}),B4=v.createContext(null);function pt(e){return function(){return e}}const dv=Math.PI,fv=2*dv,Ra=1e-6,U4=fv-Ra;function J2(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return J2;const r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aRa)if(!(Math.abs(g*f-h*p)>Ra)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let b=n-u,j=a-l,k=f*f+h*h,S=b*b+j*j,N=Math.sqrt(k),P=Math.sqrt(x),O=o*Math.tan((dv-Math.acos((k+x-S)/(2*N*P)))/2),C=O/P,_=O/N;Math.abs(C-1)>Ra&&this._append`L${t+C*p},${r+C*g}`,this._append`A${o},${o},0,0,${+(g*b>p*j)},${this._x1=t+_*f},${this._y1=r+_*h}`}}arc(t,r,n,a,o,u){if(t=+t,r=+r,n=+n,u=!!u,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),f=n*Math.sin(a),h=t+l,p=r+f,g=1^u,x=u?a-o:o-a;this._x1===null?this._append`M${h},${p}`:(Math.abs(this._x1-h)>Ra||Math.abs(this._y1-p)>Ra)&&this._append`L${h},${p}`,n&&(x<0&&(x=x%fv+fv),x>U4?this._append`A${n},${n},0,1,${g},${t-l},${r-f}A${n},${n},0,1,${g},${this._x1=h},${this._y1=p}`:x>Ra&&this._append`A${n},${n},0,${+(x>=dv)},${g},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}}function eE(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new H4(t)}function by(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tE(e){this._context=e}tE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function ch(e){return new tE(e)}function rE(e){return e[0]}function nE(e){return e[1]}function iE(e,t){var r=pt(!0),n=null,a=ch,o=null,u=eE(l);e=typeof e=="function"?e:e===void 0?rE:pt(e),t=typeof t=="function"?t:t===void 0?nE:pt(t);function l(f){var h,p=(f=by(f)).length,g,x=!1,b;for(n==null&&(o=a(b=u())),h=0;h<=p;++h)!(h=b;--j)l.point(O[j],C[j]);l.lineEnd(),l.areaEnd()}N&&(O[x]=+e(S,x,g),C[x]=+t(S,x,g),l.point(n?+n(S,x,g):O[x],r?+r(S,x,g):C[x]))}if(P)return l=null,P+""||null}function p(){return iE().defined(a).curve(u).context(o)}return h.x=function(g){return arguments.length?(e=typeof g=="function"?g:pt(+g),n=null,h):e},h.x0=function(g){return arguments.length?(e=typeof g=="function"?g:pt(+g),h):e},h.x1=function(g){return arguments.length?(n=g==null?null:typeof g=="function"?g:pt(+g),h):n},h.y=function(g){return arguments.length?(t=typeof g=="function"?g:pt(+g),r=null,h):t},h.y0=function(g){return arguments.length?(t=typeof g=="function"?g:pt(+g),h):t},h.y1=function(g){return arguments.length?(r=g==null?null:typeof g=="function"?g:pt(+g),h):r},h.lineX0=h.lineY0=function(){return p().x(e).y(t)},h.lineY1=function(){return p().x(e).y(r)},h.lineX1=function(){return p().x(n).y(t)},h.defined=function(g){return arguments.length?(a=typeof g=="function"?g:pt(!!g),h):a},h.curve=function(g){return arguments.length?(u=g,o!=null&&(l=u(o)),h):u},h.context=function(g){return arguments.length?(g==null?o=l=null:l=u(o=g),h):o},h}class aE{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function K4(e){return new aE(e,!0)}function G4(e){return new aE(e,!1)}function lf(){}function uf(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function oE(e){this._context=e}oE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function V4(e){return new oE(e)}function sE(e){this._context=e}sE.prototype={areaStart:lf,areaEnd:lf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function q4(e){return new sE(e)}function lE(e){this._context=e}lE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:uf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Q4(e){return new lE(e)}function uE(e){this._context=e}uE.prototype={areaStart:lf,areaEnd:lf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Y4(e){return new uE(e)}function ww(e){return e<0?-1:1}function jw(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),u=(r-e._y1)/(a||n<0&&-0),l=(o*a+u*n)/(n+a);return(ww(o)+ww(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(l))||0}function kw(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Zm(e,t,r){var n=e._x0,a=e._y0,o=e._x1,u=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,u-l*r,o,u)}function cf(e){this._context=e}cf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Zm(this,this._t0,kw(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Zm(this,kw(this,r=jw(this,e,t)),r);break;default:Zm(this,this._t0,r=jw(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function cE(e){this._context=new dE(e)}(cE.prototype=Object.create(cf.prototype)).point=function(e,t){cf.prototype.point.call(this,t,e)};function dE(e){this._context=e}dE.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,a,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function X4(e){return new cf(e)}function Z4(e){return new cE(e)}function fE(e){this._context=e}fE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Sw(e),a=Sw(t),o=0,u=1;u=0;--t)a[t]=(u[t]-a[t+1])/o[t];for(o[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function eD(e){return new dh(e,.5)}function tD(e){return new dh(e,0)}function rD(e){return new dh(e,1)}function ao(e,t){if((u=e.length)>1)for(var r=1,n,a,o=e[t[0]],u,l=o.length;r=0;)r[t]=t;return r}function nD(e,t){return e[t]}function iD(e){const t=[];return t.key=e,t}function aD(){var e=pt([]),t=hv,r=ao,n=nD;function a(o){var u=Array.from(e.apply(this,arguments),iD),l,f=u.length,h=-1,p;for(const g of o)for(l=0,++h;l0){for(var r,n,a=0,o=e[0].length,u;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,u;n1&&arguments[1]!==void 0?arguments[1]:cD,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Bt(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[u-1];return typeof l=="string"?a+l+o:l!==void 0?a+aa(l)+o:a+o},"")}var Hr=e=>e===0?0:e>0?1:-1,Tn=e=>typeof e=="number"&&e!=+e,oo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Ne=e=>(typeof e=="number"||e instanceof Number)&&!Tn(e),Dn=e=>Ne(e)||typeof e=="string",dD=0,Eu=e=>{var t=++dD;return"".concat(e||"").concat(t)},da=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ne(t)&&typeof t!="string")return n;var o;if(oo(t)){if(r==null)return n;var u=t.indexOf("%");o=r*parseFloat(t.slice(0,u))/100}else o=+t;return Tn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},mE=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):vo(n,t))===r)}var Kt=e=>e===null||typeof e>"u",ky=e=>Kt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function xr(e){return e!=null}function Us(){}var vE=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Sy=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(v.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{xy(a)&&typeof r[a]=="function"&&(n[a]=(o=>r[a](r,o)))}),n},fD=(e,t,r)=>n=>(e(t,r,n),null),hD=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];xy(a)&&typeof o=="function"&&(n||(n={}),n[a]=fD(o,t,r))}),n};function Nw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pD(e){for(var t=1;t(u[l]===void 0&&n[l]!==void 0&&(u[l]=n[l]),u),r);return o}function yD(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Ny(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const kD="[object RegExp]",xE="[object String]",bE="[object Number]",wE="[object Boolean]",jE="[object Arguments]",SD="[object Symbol]",ND="[object Date]",ED="[object Map]",PD="[object Set]",CD="[object Array]",AD="[object ArrayBuffer]",OD="[object Object]",_D="[object DataView]",MD="[object Uint8Array]",ID="[object Uint8ClampedArray]",TD="[object Uint16Array]",DD="[object Uint32Array]",RD="[object Int8Array]",$D="[object Int16Array]",LD="[object Int32Array]",zD="[object Float32Array]",FD="[object Float64Array]",Ew=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function BD(e){return typeof Ew.Buffer<"u"&&Ew.Buffer.isBuffer(e)}function UD(e,t){return Fa(e,void 0,e,new Map,t)}function Fa(e,t,r,n=new Map,a=void 0){const o=a==null?void 0:a(e,t,r,n);if(o!==void 0)return o;if(mv(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const u=new Array(e.length);n.set(e,u);for(let l=0;l{}):gv(e,t,function n(a,o,u,l,f,h){const p=r(a,o,u,l,f,h);return p!==void 0?!!p:gv(a,o,n,h,!1)},new Map,!0)}function gv(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return KD(e,t,r,n);case"function":return Object.keys(t).length>0?gv(e,{...t},r,n,a):Xd(e,t);default:return kE(e)&&a?typeof t=="string"?t==="":!0:Xd(e,t)}}function KD(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return NE(e,t,r,n);if(t instanceof Map)return GD(e,t,r,n);if(t instanceof Set)return VD(e,t,r,n);const a=Object.keys(t);if(e==null||mv(e))return a.length===0;if(a.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let o=0;o{})}function qD(e){return e=HD(e),t=>EE(t,e)}function QD(e,t){return UD(e,(r,n,a,o)=>{if(typeof e=="object"){if(Ny(e)==="[object Object]"&&typeof e.constructor!="function"){const u={};return o.set(e,u),sn(u,e,a,o),u}switch(Object.prototype.toString.call(e)){case bE:case xE:case wE:{const u=new e.constructor(e==null?void 0:e.valueOf());return sn(u,e),u}case jE:{const u={};return sn(u,e),u.length=e.length,u[Symbol.iterator]=e[Symbol.iterator],u}default:return}}})}function YD(e){return QD(e)}const XD=/^(?:0|[1-9]\d*)$/;function PE(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function CE(e){return e!=null&&typeof e!="function"&&rR(e.length)}function nR(e){return typeof e=="object"&&e!==null}function iR(e){return nR(e)&&CE(e)}function Pw(e,t=yE){return iR(e)?yD(Array.from(e),xD(tR(t),1)):[]}function aR(e,t,r){return t===!0?Pw(e,r):typeof t=="function"?Pw(e,t):e}var Jm={exports:{}},eg={},tg={exports:{}},rg={};/** * @license React * use-sync-external-store-shim.production.js * @@ -395,7 +390,7 @@ Error generating stack: `+w.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Cw;function sR(){if(Cw)return rg;Cw=1;var e=Fs();function t(g,x){return g===x&&(g!==0||1/g===1/x)||g!==g&&x!==x}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,a=e.useEffect,o=e.useLayoutEffect,u=e.useDebugValue;function l(g,x){var b=x(),j=n({inst:{value:b,getSnapshot:x}}),k=j[0].inst,S=j[1];return o(function(){k.value=b,k.getSnapshot=x,f(k)&&S({inst:k})},[g,b,x]),a(function(){return f(k)&&S({inst:k}),g(function(){f(k)&&S({inst:k})})},[g]),u(b),b}function f(g){var x=g.getSnapshot;g=g.value;try{var b=x();return!r(g,b)}catch{return!0}}function h(g,x){return x()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:l;return rg.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,rg}var Aw;function lR(){return Aw||(Aw=1,tg.exports=sR()),tg.exports}/** + */var Cw;function oR(){if(Cw)return rg;Cw=1;var e=Fs();function t(g,x){return g===x&&(g!==0||1/g===1/x)||g!==g&&x!==x}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,a=e.useEffect,o=e.useLayoutEffect,u=e.useDebugValue;function l(g,x){var b=x(),j=n({inst:{value:b,getSnapshot:x}}),k=j[0].inst,S=j[1];return o(function(){k.value=b,k.getSnapshot=x,f(k)&&S({inst:k})},[g,b,x]),a(function(){return f(k)&&S({inst:k}),g(function(){f(k)&&S({inst:k})})},[g]),u(b),b}function f(g){var x=g.getSnapshot;g=g.value;try{var b=x();return!r(g,b)}catch{return!0}}function h(g,x){return x()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:l;return rg.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,rg}var Aw;function sR(){return Aw||(Aw=1,tg.exports=oR()),tg.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -403,12 +398,12 @@ Error generating stack: `+w.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ow;function uR(){if(Ow)return eg;Ow=1;var e=Fs(),t=lR();function r(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}var n=typeof Object.is=="function"?Object.is:r,a=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,l=e.useMemo,f=e.useDebugValue;return eg.useSyncExternalStoreWithSelector=function(h,p,g,x,b){var j=o(null);if(j.current===null){var k={hasValue:!1,value:null};j.current=k}else k=j.current;j=l(function(){function N(A){if(!P){if(P=!0,O=A,A=x(A),b!==void 0&&k.hasValue){var I=k.value;if(b(I,A))return C=I}return C=A}if(I=C,n(O,A))return I;var U=x(A);return b!==void 0&&b(I,U)?(O=A,I):(O=A,C=U)}var P=!1,O,C,_=g===void 0?null:g;return[function(){return N(p())},_===null?void 0:function(){return N(_())}]},[p,g,x,b]);var S=a(h,j[0],j[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),f(S),S},eg}var _w;function cR(){return _w||(_w=1,Jm.exports=uR()),Jm.exports}var dR=cR(),Ey=v.createContext(null),fR=e=>e,jt=()=>{var e=v.useContext(Ey);return e?e.store.dispatch:fR},Zd=()=>{},hR=()=>Zd,pR=(e,t)=>e===t;function Ae(e){var t=v.useContext(Ey),r=v.useMemo(()=>t?n=>{if(n!=null)return e(n)}:Zd,[t,e]);return dR.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:hR,t?t.store.getState:Zd,t?t.store.getState:Zd,r,pR)}function mR(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function gR(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Mw=e=>Array.isArray(e)?e:[e];function vR(e){const t=Array.isArray(e[0])?e[0]:e;return gR(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function yR(e,t){const r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?xR:WeakRef,AE=bR(),wR=0,Iw=1;function Md(){return{s:wR,v:void 0,o:null,p:null}}function jR(e){return e instanceof AE?e.deref():e}function OE(e,t={}){let r=Md();const{resultEqualityCheck:n}=t;let a,o=0;function u(){let l=r;const{length:f}=arguments;for(let g=0,x=f;g{r=Md(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function kR(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,u=0,l,f={},h=a.pop();typeof h=="object"&&(f=h,h=a.pop()),mR(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const p={...r,...f},{memoize:g,memoizeOptions:x=[],argsMemoize:b=OE,argsMemoizeOptions:j=[]}=p,k=Mw(x),S=Mw(j),N=vR(a),P=g(function(){return o++,h.apply(null,arguments)},...k),O=b(function(){u++;const _=yR(N,arguments);return l=P.apply(null,_),l},...S);return Object.assign(O,{resultFunc:h,memoizedResultFunc:P,dependencies:N,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:g,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var G=kR(OE);function SR(e,t=1){const r=[],n=Math.floor(t),a=(o,u)=>{for(let l=0;l{if(e!==t){const n=Tw(e),a=Tw(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function _E(e){return typeof e=="symbol"||e instanceof Symbol}const ER=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,PR=/^\w*$/;function CR(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||_E(e)?!0:typeof e=="string"&&(PR.test(e)||!ER.test(e))||t!=null}function AR(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));const a=(l,f)=>{let h=l;for(let p=0;pf==null||l==null?f:typeof l=="object"&&"key"in l?Object.hasOwn(f,l.key)?f[l.key]:a(f,l.path):typeof l=="function"?l(f):Array.isArray(l)?a(f,l):typeof f=="object"?f[l]:f,u=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||CR(l)?l:{key:l,path:jy(l)}));return e.map(l=>({original:l,criteria:u.map(f=>o(f,l))})).slice().sort((l,f)=>{for(let h=0;hl.original)}function fh(e,...t){const r=t.length;return r>1&&vv(e,t[0],t[1])?t=[]:r>2&&vv(t[0],t[1],t[2])&&(t=[t[0]]),AR(e,SR(t),["asc"])}var ME=e=>e.legend.settings,OR=e=>e.legend.size,_R=e=>e.legend.payload;G([_R,ME],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?fh(n,r):n});function MR(e,t){return RR(e)||DR(e,t)||TR(e,t)||IR()}function IR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TR(e,t){if(e){if(typeof e=="string")return Dw(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dw(e,t):void 0}}function Dw(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rId||Math.abs(e.left-t.left)>Id||Math.abs(e.top-t.top)>Id||Math.abs(e.width-t.width)>Id}function $w(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function $R(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=v.useState({height:0,left:0,top:0,width:0}),r=MR(t,2),n=r[0],a=r[1],o=v.useRef(null),u=v.useRef(n);u.current=n;var l=v.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=$w(f);if(Rw(h,u.current)&&a(h),typeof ResizeObserver<"u"){var p=new ResizeObserver(()=>{var g=$w(f);Rw(g,u.current)&&a(g)});p.observe(f),o.current=p}}},[...e]);return v.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,l]}function Ft(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var LR=typeof Symbol=="function"&&Symbol.observable||"@@observable",Lw=LR,ng=()=>Math.random().toString(36).substring(7).split("").join("."),zR={INIT:`@@redux/INIT${ng()}`,REPLACE:`@@redux/REPLACE${ng()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ng()}`},df=zR;function Py(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function IE(e,t,r){if(typeof e!="function")throw new Error(Ft(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Ft(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Ft(1));return r(IE)(e,t)}let n=e,a=t,o=new Map,u=o,l=0,f=!1;function h(){u===o&&(u=new Map,o.forEach((S,N)=>{u.set(N,S)}))}function p(){if(f)throw new Error(Ft(3));return a}function g(S){if(typeof S!="function")throw new Error(Ft(4));if(f)throw new Error(Ft(5));let N=!0;h();const P=l++;return u.set(P,S),function(){if(N){if(f)throw new Error(Ft(6));N=!1,h(),u.delete(P),o=null}}}function x(S){if(!Py(S))throw new Error(Ft(7));if(typeof S.type>"u")throw new Error(Ft(8));if(typeof S.type!="string")throw new Error(Ft(17));if(f)throw new Error(Ft(9));try{f=!0,a=n(a,S)}finally{f=!1}return(o=u).forEach(P=>{P()}),S}function b(S){if(typeof S!="function")throw new Error(Ft(10));n=S,x({type:df.REPLACE})}function j(){const S=g;return{subscribe(N){if(typeof N!="object"||N===null)throw new Error(Ft(11));function P(){const C=N;C.next&&C.next(p())}return P(),{unsubscribe:S(P)}},[Lw](){return this}}}return x({type:df.INIT}),{dispatch:x,subscribe:g,getState:p,replaceReducer:b,[Lw]:j}}function FR(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:df.INIT})>"u")throw new Error(Ft(12));if(typeof r(void 0,{type:df.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Ft(13))})}function TE(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw l&&l.type,new Error(Ft(14));h[g]=j,f=f||j!==b}return f=f||n.length!==Object.keys(u).length,f?h:u}}function ff(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function BR(...e){return t=>(r,n)=>{const a=t(r,n);let o=()=>{throw new Error(Ft(15))};const u={getState:a.getState,dispatch:(f,...h)=>o(f,...h)},l=e.map(f=>f(u));return o=ff(...l)(a.dispatch),{...a,dispatch:o}}}function DE(e){return Py(e)&&"type"in e&&typeof e.type=="string"}var RE=Symbol.for("immer-nothing"),zw=Symbol.for("immer-draftable"),lr=Symbol.for("immer-state");function un(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Or=Object,Ms=Or.getPrototypeOf,hf="constructor",hh="prototype",yv="configurable",pf="enumerable",Jd="writable",Pu="value",ci=e=>!!e&&!!e[lr];function hn(e){var t;return e?$E(e)||mh(e)||!!e[zw]||!!((t=e[hf])!=null&&t[zw])||gh(e)||vh(e):!1}var UR=Or[hh][hf].toString(),Fw=new WeakMap;function $E(e){if(!e||!Cy(e))return!1;const t=Ms(e);if(t===null||t===Or[hh])return!0;const r=Or.hasOwnProperty.call(t,hf)&&t[hf];if(r===Object)return!0;if(!as(r))return!1;let n=Fw.get(r);return n===void 0&&(n=Function.toString.call(r),Fw.set(r,n)),n===UR}function ph(e,t,r=!0){Qu(e)===0?(r?Reflect.ownKeys(e):Or.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function Qu(e){const t=e[lr];return t?t.type_:mh(e)?1:gh(e)?2:vh(e)?3:0}var Bw=(e,t,r=Qu(e))=>r===2?e.has(t):Or[hh].hasOwnProperty.call(e,t),xv=(e,t,r=Qu(e))=>r===2?e.get(t):e[t],mf=(e,t,r,n=Qu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function WR(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var mh=Array.isArray,gh=e=>e instanceof Map,vh=e=>e instanceof Set,Cy=e=>typeof e=="object",as=e=>typeof e=="function",ig=e=>typeof e=="boolean";function HR(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Jn=e=>e.copy_||e.base_,Ay=e=>e.modified_?e.copy_:e.base_;function bv(e,t){if(gh(e))return new Map(e);if(vh(e))return new Set(e);if(mh(e))return Array[hh].slice.call(e);const r=$E(e);if(t===!0||t==="class_only"&&!r){const n=Or.getOwnPropertyDescriptors(e);delete n[lr];let a=Reflect.ownKeys(n);for(let o=0;o1&&Or.defineProperties(e,{set:Td,add:Td,clear:Td,delete:Td}),Or.freeze(e),t&&ph(e,(r,n)=>{Oy(n,!0)},!1)),e}function KR(){un(2)}var Td={[Pu]:KR};function yh(e){return e===null||!Cy(e)?!0:Or.isFrozen(e)}var gf="MapSet",wv="Patches",Uw="ArrayMethods",LE={};function so(e){const t=LE[e];return t||un(0,e),t}var Ww=e=>!!LE[e],Cu,zE=()=>Cu,GR=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ww(gf)?so(gf):void 0,arrayMethodsPlugin_:Ww(Uw)?so(Uw):void 0});function Hw(e,t){t&&(e.patchPlugin_=so(wv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function jv(e){kv(e),e.drafts_.forEach(VR),e.drafts_=null}function kv(e){e===Cu&&(Cu=e.parent_)}var Kw=e=>Cu=GR(Cu,e);function VR(e){const t=e[lr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Gw(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[lr].modified_&&(jv(t),un(4)),hn(e)&&(e=Vw(t,e));const{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[lr].base_,e,t)}else e=Vw(t,r);return qR(t,e,!0),jv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==RE?e:void 0}function Vw(e,t){if(yh(t))return t;const r=t[lr];if(!r)return vf(t,e.handledSet_,e);if(!xh(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);UE(r,e)}return r.copy_}function qR(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Oy(t,r)}function FE(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xh=(e,t)=>e.scope_===t,QR=[];function BE(e,t,r,n){const a=Jn(e),o=e.type_;if(n!==void 0&&xv(a,n,o)===t){mf(a,n,r,o);return}if(!e.draftLocations_){const l=e.draftLocations_=new Map;ph(a,(f,h)=>{if(ci(h)){const p=l.get(h)||[];p.push(f),l.set(h,p)}})}const u=e.draftLocations_.get(t)??QR;for(const l of u)mf(a,l,r,o)}function YR(e,t,r){e.callbacks_.push(function(a){var l;const o=t;if(!o||!xh(o,a))return;(l=a.mapSetPlugin_)==null||l.fixSetContents(o);const u=Ay(o);BE(e,o.draft_??o,u,r),UE(o,a)})}function UE(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:a}=t;if(a){const o=a.getPath(e);o&&a.generatePatches_(e,o,t)}FE(e)}}function XR(e,t,r){const{scope_:n}=e;if(ci(r)){const a=r[lr];xh(a,n)&&a.callbacks_.push(function(){ef(e);const u=Ay(a);BE(e,r,u,t)})}else hn(r)&&e.callbacks_.push(function(){const o=Jn(e);e.type_===3?o.has(r)&&vf(r,n.handledSet_,n):xv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&vf(xv(e.copy_,t,e.type_),n.handledSet_,n)})}function vf(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||ci(e)||t.has(e)||!hn(e)||yh(e)||(t.add(e),ph(e,(n,a)=>{if(ci(a)){const o=a[lr];if(xh(o,r)){const u=Ay(o);mf(e,n,u,e.type_),FE(o)}}else hn(a)&&vf(a,t,r)})),e}function ZR(e,t){const r=mh(e),n={type_:r?1:0,scope_:t?t.scope_:zE(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=n,o=yf;r&&(a=[n],o=Au);const{revoke:u,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=u,[l,n]}var yf={get(e,t){if(t===lr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const a=Jn(e);if(!Bw(a,t,e.type_))return JR(e,a,t);const o=a[t];if(e.finalized_||!hn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&HR(t))return o;if(o===ag(e.base_,t)){ef(e);const u=e.type_===1?+t:t,l=Nv(e.scope_,o,e,u);return e.copy_[u]=l}return o},has(e,t){return t in Jn(e)},ownKeys(e){return Reflect.ownKeys(Jn(e))},set(e,t,r){const n=WE(Jn(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=ag(Jn(e),t),o=a==null?void 0:a[lr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(WR(r,a)&&(r!==void 0||Bw(e.base_,t,e.type_)))return!0;ef(e),Sv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),XR(e,t,r)),!0},deleteProperty(e,t){return ef(e),ag(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Sv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Jn(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Jd]:!0,[yv]:e.type_!==1||t!=="length",[pf]:n[pf],[Pu]:r[t]}},defineProperty(){un(11)},getPrototypeOf(e){return Ms(e.base_)},setPrototypeOf(){un(12)}},Au={};for(let e in yf){let t=yf[e];Au[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Au.deleteProperty=function(e,t){return Au.set.call(this,e,t,void 0)};Au.set=function(e,t,r){return yf.set.call(this,e[0],t,r,e[0])};function ag(e,t){const r=e[lr];return(r?Jn(r):e)[t]}function JR(e,t,r){var a;const n=WE(t,r);return n?Pu in n?n[Pu]:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function WE(e,t){if(!(t in e))return;let r=Ms(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ms(r)}}function Sv(e){e.modified_||(e.modified_=!0,e.parent_&&Sv(e.parent_))}function ef(e){e.copy_||(e.assigned_=new Map,e.copy_=bv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var e$=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,a)=>{if(as(r)&&!as(n)){const u=n;n=r;const l=this;return function(h=u,...p){return l.produce(h,g=>n.call(this,g,...p))}}as(n)||un(6),a!==void 0&&!as(a)&&un(7);let o;if(hn(r)){const u=Kw(this),l=Nv(u,r,void 0);let f=!0;try{o=n(l),f=!1}finally{f?jv(u):kv(u)}return Hw(u,a),Gw(o,u)}else if(!r||!Cy(r)){if(o=n(r),o===void 0&&(o=r),o===RE&&(o=void 0),this.autoFreeze_&&Oy(o,!0),a){const u=[],l=[];so(wv).generateReplacementPatches_(r,o,{patches_:u,inversePatches_:l}),a(u,l)}return o}else un(1,r)},this.produceWithPatches=(r,n)=>{if(as(r))return(l,...f)=>this.produceWithPatches(l,h=>r(h,...f));let a,o;return[this.produce(r,n,(l,f)=>{a=l,o=f}),a,o]},ig(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),ig(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),ig(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){hn(t)||un(8),ci(t)&&(t=Kr(t));const r=Kw(this),n=Nv(r,t,void 0);return n[lr].isManual_=!0,kv(r),n}finishDraft(t,r){const n=t&&t[lr];(!n||!n.isManual_)&&un(9);const{scope_:a}=n;return Hw(a,r),Gw(void 0,a)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const a=so(wv).applyPatches_;return ci(t)?a(t,r):this.produce(t,o=>a(o,r))}};function Nv(e,t,r,n){const[a,o]=gh(t)?so(gf).proxyMap_(t,r):vh(t)?so(gf).proxySet_(t,r):ZR(t,r);return((r==null?void 0:r.scope_)??zE()).drafts_.push(a),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?YR(r,o,n):o.callbacks_.push(function(f){var p;(p=f.mapSetPlugin_)==null||p.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),a}function Kr(e){return ci(e)||un(10,e),HE(e)}function HE(e){if(!hn(e)||yh(e))return e;const t=e[lr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=bv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=bv(e,!0);return ph(r,(a,o)=>{mf(r,a,HE(o))},n),t&&(t.finalized_=!1),r}var t$=new e$,KE=t$.produce;function GE(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var r$=GE(),n$=GE,i$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?ff:ff.apply(null,arguments)};function Mr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(_r(0));return{type:e,payload:a.payload,..."meta"in a&&{meta:a.meta},..."error"in a&&{error:a.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>DE(n)&&n.type===e,r}var VE=class su extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,su.prototype)}static get[Symbol.species](){return su}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new su(...t[0].concat(this)):new su(...t.concat(this))}};function qw(e){return hn(e)?KE(e,()=>{}):e}function Dd(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function a$(e){return typeof e=="boolean"}var o$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{};let u=new VE;return r&&(a$(r)?u.push(r$):u.push(n$(r.extraArgument))),u},qE="RTK_autoBatch",at=()=>e=>({payload:e,meta:{[qE]:!0}}),Qw=e=>t=>{setTimeout(t,e)},s$=(e,t)=>r=>{let n=!1;const a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(u),r())},o=e(a),u=setTimeout(a,t)},QE=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let a=!0,o=!1,u=!1;const l=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?s$(window.requestAnimationFrame,100):Qw(10):e.type==="callback"?e.queueNotification:Qw(e.timeout),h=()=>{u=!1,o&&(o=!1,l.forEach(p=>p()))};return Object.assign({},n,{subscribe(p){const g=()=>a&&p(),x=n.subscribe(g);return l.add(p),()=>{x(),l.delete(p)}},dispatch(p){var g;try{return a=!((g=p==null?void 0:p.meta)!=null&&g[qE]),o=!a,o&&(u||(u=!0,f(h))),n.dispatch(p)}finally{a=!0}}})},l$=e=>function(r){const{autoBatch:n=!0}=r??{};let a=new VE(e);return n&&a.push(QE(typeof n=="object"?n:void 0)),a};function u$(e){const t=o$(),{reducer:r=void 0,middleware:n,devTools:a=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let l;if(typeof r=="function")l=r;else if(Py(r))l=TE(r);else throw new Error(_r(1));let f;typeof n=="function"?f=n(t):f=t();let h=ff;a&&(h=i$({trace:!1,...typeof a=="object"&&a}));const p=BR(...f),g=l$(p);let x=typeof u=="function"?u(g):g();const b=h(...x);return IE(l,o,b)}function YE(e){const t={},r=[];let n;const a={addCase(o,u){const l=typeof o=="string"?o:o.type;if(!l)throw new Error(_r(28));if(l in t)throw new Error(_r(29));return t[l]=u,a},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&r.push({matcher:o.settled,reducer:u.settled}),a},addMatcher(o,u){return r.push({matcher:o,reducer:u}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function c$(e){return typeof e=="function"}function d$(e,t){let[r,n,a]=YE(t),o;if(c$(e))o=()=>qw(e());else{const l=qw(e);o=()=>l}function u(l=o(),f){let h=[r[f.type],...n.filter(({matcher:p})=>p(f)).map(({reducer:p})=>p)];return h.filter(p=>!!p).length===0&&(h=[a]),h.reduce((p,g)=>{if(g)if(ci(p)){const b=g(p,f);return b===void 0?p:b}else{if(hn(p))return KE(p,x=>g(x,f));{const x=g(p,f);if(x===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return x}}return p},l)}return u.getInitialState=o,u}var f$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",h$=(e=21)=>{let t="",r=e;for(;r--;)t+=f$[Math.random()*64|0];return t},p$=Symbol.for("rtk-slice-createasyncthunk");function m$(e,t){return`${e}/${t}`}function g$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[p$];return function(a){const{name:o,reducerPath:u=o}=a;if(!o)throw new Error(_r(11));const l=(typeof a.reducers=="function"?a.reducers(y$()):a.reducers)||{},f=Object.keys(l),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},p={addCase(C,_){const A=typeof C=="string"?C:C.type;if(!A)throw new Error(_r(12));if(A in h.sliceCaseReducersByType)throw new Error(_r(13));return h.sliceCaseReducersByType[A]=_,p},addMatcher(C,_){return h.sliceMatchers.push({matcher:C,reducer:_}),p},exposeAction(C,_){return h.actionCreators[C]=_,p},exposeCaseReducer(C,_){return h.sliceCaseReducersByName[C]=_,p}};f.forEach(C=>{const _=l[C],A={reducerName:C,type:m$(o,C),createNotation:typeof a.reducers=="function"};b$(_)?j$(A,_,p,t):x$(A,_,p)});function g(){const[C={},_=[],A=void 0]=typeof a.extraReducers=="function"?YE(a.extraReducers):[a.extraReducers],I={...C,...h.sliceCaseReducersByType};return d$(a.initialState,U=>{for(let B in I)U.addCase(B,I[B]);for(let B of h.sliceMatchers)U.addMatcher(B.matcher,B.reducer);for(let B of _)U.addMatcher(B.matcher,B.reducer);A&&U.addDefaultCase(A)})}const x=C=>C,b=new Map,j=new WeakMap;let k;function S(C,_){return k||(k=g()),k(C,_)}function N(){return k||(k=g()),k.getInitialState()}function P(C,_=!1){function A(U){let B=U[C];return typeof B>"u"&&_&&(B=Dd(j,A,N)),B}function I(U=x){const B=Dd(b,_,()=>new WeakMap);return Dd(B,U,()=>{const K={};for(const[X,$]of Object.entries(a.selectors??{}))K[X]=v$($,U,()=>Dd(j,U,N),_);return K})}return{reducerPath:C,getSelectors:I,get selectors(){return I(A)},selectSlice:A}}const O={name:o,reducer:S,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:N,...P(u),injectInto(C,{reducerPath:_,...A}={}){const I=_??u;return C.inject({reducerPath:I,reducer:S},A),{...O,...P(I,!0)}}};return O}}function v$(e,t,r,n){function a(o,...u){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...u)}return a.unwrapped=e,a}var rr=g$();function y$(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function x$({type:e,reducerName:t,createNotation:r},n,a){let o,u;if("reducer"in n){if(r&&!w$(n))throw new Error(_r(17));o=n.reducer,u=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?Mr(e,u):Mr(e))}function b$(e){return e._reducerDefinitionType==="asyncThunk"}function w$(e){return e._reducerDefinitionType==="reducerWithPrepare"}function j$({type:e,reducerName:t},r,n,a){if(!a)throw new Error(_r(18));const{payloadCreator:o,fulfilled:u,pending:l,rejected:f,settled:h,options:p}=r,g=a(e,o,p);n.exposeAction(t,g),u&&n.addCase(g.fulfilled,u),l&&n.addCase(g.pending,l),f&&n.addCase(g.rejected,f),h&&n.addMatcher(g.settled,h),n.exposeCaseReducer(t,{fulfilled:u||Rd,pending:l||Rd,rejected:f||Rd,settled:h||Rd})}function Rd(){}var k$="task",XE="listener",ZE="completed",_y="cancelled",S$=`task-${_y}`,N$=`task-${ZE}`,Ev=`${XE}-${_y}`,E$=`${XE}-${ZE}`,bh=class{constructor(e){Kl(this,"code");Kl(this,"name","TaskAbortError");Kl(this,"message");this.code=e,this.message=`${k$} ${_y} (reason: ${e})`}},My=(e,t)=>{if(typeof e!="function")throw new TypeError(_r(32))},xf=()=>{},JE=(e,t=xf)=>(e.catch(t),e),eP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),eo=e=>{if(e.aborted)throw new bh(e.reason)};function tP(e,t){let r=xf;return new Promise((n,a)=>{const o=()=>a(new bh(e.reason));if(e.aborted){o();return}r=eP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=xf})}var P$=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof bh?"cancelled":"rejected",error:r}}finally{t==null||t()}},bf=e=>t=>JE(tP(e,t).then(r=>(eo(e),r))),rP=e=>{const t=bf(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:ds}=Object,Yw={},wh="listenerMiddleware",C$=(e,t)=>{const r=n=>eP(e,()=>n.abort(e.reason));return(n,a)=>{My(n);const o=new AbortController;r(o);const u=P$(async()=>{eo(e),eo(o.signal);const l=await n({pause:bf(o.signal),delay:rP(o.signal),signal:o.signal});return eo(o.signal),l},()=>o.abort(N$));return a!=null&&a.autoJoin&&t.push(u.catch(xf)),{result:bf(e)(u),cancel(){o.abort(S$)}}}},A$=(e,t)=>{const r=async(n,a)=>{eo(t);let o=()=>{};const l=[new Promise((f,h)=>{let p=e({predicate:n,effect:(g,x)=>{x.unsubscribe(),f([g,x.getState(),x.getOriginalState()])}});o=()=>{p(),h()}})];a!=null&&l.push(new Promise(f=>setTimeout(f,a,null)));try{const f=await tP(t,Promise.race(l));return eo(t),f}finally{o()}};return((n,a)=>JE(r(n,a)))},nP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Mr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(_r(21));return My(o),{predicate:a,type:t,effect:o}},iP=ds(e=>{const{type:t,predicate:r,effect:n}=nP(e);return{id:h$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_r(22))}}},{withTypes:()=>iP}),Xw=(e,t)=>{const{type:r,effect:n,predicate:a}=nP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},Pv=e=>{e.pending.forEach(t=>{t.abort(Ev)})},O$=(e,t)=>()=>{for(const r of t.keys())Pv(r);e.clear()},Zw=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},aP=ds(Mr(`${wh}/add`),{withTypes:()=>aP}),_$=Mr(`${wh}/removeAll`),oP=ds(Mr(`${wh}/remove`),{withTypes:()=>oP}),M$=(...e)=>{console.error(`${wh}/error`,...e)},Yu=(e={})=>{const t=new Map,r=new Map,n=b=>{const j=r.get(b)??0;r.set(b,j+1)},a=b=>{const j=r.get(b)??1;j===1?r.delete(b):r.set(b,j-1)},{extra:o,onError:u=M$}=e;My(u);const l=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),j=>{b.unsubscribe(),j!=null&&j.cancelActive&&Pv(b)}),f=(b=>{const j=Xw(t,b)??iP(b);return l(j)});ds(f,{withTypes:()=>f});const h=b=>{const j=Xw(t,b);return j&&(j.unsubscribe(),b.cancelActive&&Pv(j)),!!j};ds(h,{withTypes:()=>h});const p=async(b,j,k,S)=>{const N=new AbortController,P=A$(f,N.signal),O=[];try{b.pending.add(N),n(b),await Promise.resolve(b.effect(j,ds({},k,{getOriginalState:S,condition:(C,_)=>P(C,_).then(Boolean),take:P,delay:rP(N.signal),pause:bf(N.signal),extra:o,signal:N.signal,fork:C$(N.signal,O),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((C,_,A)=>{C!==N&&(C.abort(Ev),A.delete(C))})},cancel:()=>{N.abort(Ev),b.pending.delete(N)},throwIfCancelled:()=>{eo(N.signal)}})))}catch(C){C instanceof bh||Zw(u,C,{raisedBy:"effect"})}finally{await Promise.all(O),N.abort(E$),a(b),b.pending.delete(N)}},g=O$(t,r);return{middleware:b=>j=>k=>{if(!DE(k))return j(k);if(aP.match(k))return f(k.payload);if(_$.match(k)){g();return}if(oP.match(k))return h(k.payload);let S=b.getState();const N=()=>{if(S===Yw)throw new Error(_r(23));return S};let P;try{if(P=j(k),t.size>0){const O=b.getState(),C=Array.from(t.values());for(const _ of C){let A=!1;try{A=_.predicate(k,O,S)}catch(I){A=!1,Zw(u,I,{raisedBy:"predicate"})}A&&p(_,k,b,N)}}}finally{S=Yw}return P},startListening:f,stopListening:h,clearListeners:g}};function _r(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var I$={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},sP=rr({name:"chartLayout",initialState:I$,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,a,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(a=t.payload.bottom)!==null&&a!==void 0?a:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),jh=sP.actions,T$=jh.setMargin,D$=jh.setLayout,R$=jh.setChartSize,$$=jh.setScale,L$=sP.reducer;function lP(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Be(e){return Number.isFinite(e)}function Rn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Jw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function os(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,u=t.verticalAlign,l=t.layout;if((l==="vertical"||l==="horizontal"&&u==="middle")&&o!=="center"&&Ne(e[o]))return os(os({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&u!=="middle"&&Ne(e[u]))return os(os({},e),{},{[u]:e[u]+(a||0)})}return e},zn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",uP=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,u=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||u.push(t),o||u.push(r),u},cP=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,u=e.scale,l=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,p=e.tickCount,g=e.ticks,x=e.niceTicks,b=e.axisType;if(!u)return null;var j=l==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,k=a==="category"&&u.bandwidth?u.bandwidth()/j:0;if(k=b==="angleAxis"&&o&&o.length>=2?Hr(o[0]-o[1])*2*k:k,g||x){var S=(g||x||[]).map((N,P)=>{var O=n?n.indexOf(N):N,C=u.map(O);return Be(C)?{coordinate:C+k,value:N,offset:k,index:P}:null}).filter(xr);return S}return f&&h?h.map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:N,index:P,offset:k}:null}).filter(xr):u.ticks&&p!=null?u.ticks(p).map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:N,index:P,offset:k}:null}).filter(xr):u.domain().map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:n?n[N]:N,index:P,offset:k}:null}).filter(xr)},W$=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(h[0]=o,o+=x,h[1]=o):(h[0]=u,u+=x,h[1]=u)}}}},H$=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},K$={sign:W$,expand:sD,none:ao,silhouette:lD,wiggle:uD,positive:H$},G$=(e,t,r)=>{var n,a=(n=K$[r])!==null&&n!==void 0?n:ao,o=oD().keys(t).value((l,f)=>Number(Tt(l,f,0))).order(hv).offset(a),u=o(e);return u.forEach((l,f)=>{l.forEach((h,p)=>{var g=Tt(e[p],t[f],0);Array.isArray(g)&&g.length===2&&Ne(g[0])&&Ne(g[1])&&(h[0]=g[0],h[1]=g[1])})}),u};function V$(e){return e==null?void 0:String(e)}function ej(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Kt(a[t.dataKey])){var l=gE(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Tt(a,Kt(u)?t.dataKey:u),h=t.scale.map(f);return Ne(h)?h:null}var q$=e=>{var t=e.flat(2).filter(Ne);return[Math.min(...t),Math.max(...t)]},Q$=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Y$=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return Q$(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var u=o.stackedData,l=u.reduce((f,h)=>{var p=lP(h,t,r),g=q$(p);return!Be(g[0])||!Be(g[1])?f:[Math.min(f[0],g[0]),Math.max(f[1],g[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},tj=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,rj=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,wf=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var a=fh(t,p=>p.coordinate),o=1/0,u=1,l=a.length;u{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},Z$=(e,t)=>t==="centric"?e.angle:e.radius,pi=e=>e.layout.width,mi=e=>e.layout.height,J$=e=>e.layout.scale,fP=e=>e.layout.margin,kh=G(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Sh=G(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),eL="data-recharts-item-index",tL="data-recharts-item-id",Xu=60;function ij(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function $d(e){for(var t=1;te.brush.height;function oL(e){var t=Sh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Xu;return r+a}return r},0)}function sL(e){var t=Sh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Xu;return r+a}return r},0)}function lL(e){var t=kh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function uL(e){var t=kh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Vt=G([pi,mi,fP,aL,oL,sL,lL,uL,ME,OR],(e,t,r,n,a,o,u,l,f,h)=>{var p={left:(r.left||0)+a,right:(r.right||0)+o},g={top:(r.top||0)+u,bottom:(r.bottom||0)+l},x=$d($d({},g),p),b=x.bottom;x.bottom+=n,x=U$(x,f,h);var j=e-x.left-x.right,k=t-x.top-x.bottom;return $d($d({brushBottom:b},x),{},{width:Math.max(j,0),height:Math.max(k,0)})}),cL=G(Vt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),hP=G(pi,mi,(e,t)=>({x:0,y:0,width:e,height:t})),dL=v.createContext(null),wr=()=>v.useContext(dL)!=null,Nh=e=>e.brush,Eh=G([Nh,Vt,fP],(e,t,r)=>({height:e.height,x:Ne(e.x)?e.x:t.left,y:Ne(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Ne(e.width)?e.width:t.width}));function fL(e,t,{signal:r,edges:n}={}){let a,o=null;const u=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(a,o),a=void 0,o=null)},h=()=>{l&&f(),b()};let p=null;const g=()=>{p!=null&&clearTimeout(p),p=setTimeout(()=>{p=null,h()},t)},x=()=>{p!==null&&(clearTimeout(p),p=null)},b=()=>{x(),a=void 0,o=null},j=()=>{f()},k=function(...S){if(r!=null&&r.aborted)return;a=this,o=S;const N=p==null;g(),u&&N&&f()};return k.schedule=g,k.cancel=b,k.flush=j,r==null||r.addEventListener("abort",b,{once:!0}),k}function hL(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:a=!0,maxWait:o}=r,u=Array(2);n&&(u[0]="leading"),a&&(u[1]="trailing");let l,f=null;const h=fL(function(...x){l=e.apply(this,x),f=null},t,{edges:u}),p=function(...x){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(l=e.apply(this,x),f=Date.now(),h.cancel(),h.schedule(),l):(h.apply(this,x),l)},g=()=>(h.flush(),l);return p.cancel=h.cancel,p.flush=g,p}function pL(e,t=0,r={}){const{leading:n=!0,trailing:a=!0}=r;return hL(e,t,{leading:n,maxWait:t,trailing:a})}var jf=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[u++]))}},An={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},pP=(e,t,r)=>{var n=r.width,a=n===void 0?An.width:n,o=r.height,u=o===void 0?An.height:o,l=r.aspect,f=r.maxHeight,h=oo(a)?e:Number(a),p=oo(u)?t:Number(u);return l&&l>0&&(h?p=h/l:p&&(h=p*l),f&&p!=null&&p>f&&(p=f)),{calculatedWidth:h,calculatedHeight:p}},mL={width:0,height:0,overflow:"visible"},gL={width:0,overflowX:"visible"},vL={height:0,overflowY:"visible"},yL={},xL=e=>{var t=e.width,r=e.height,n=oo(t),a=oo(r);return n&&a?mL:n?gL:a?vL:yL};function bL(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=An.width,o=An.height):a===void 0?a=n&&n>0?void 0:An.width:o===void 0&&(o=n&&n>0?void 0:An.height),{width:a,height:o}}var wL=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function kf(){return kf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return ML(a)?v.createElement(mP.Provider,{value:a},t):null}var Iy=()=>v.useContext(mP),IL=v.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?An.initialDimension:n,o=e.width,u=e.height,l=e.minWidth,f=l===void 0?An.minWidth:l,h=e.minHeight,p=e.maxHeight,g=e.children,x=e.debounce,b=x===void 0?An.debounce:x,j=e.id,k=e.className,S=e.onResize,N=e.style,P=N===void 0?{}:N,O=OL(e,wL),C=v.useRef(null),_=v.useRef();_.current=S,v.useImperativeHandle(t,()=>C.current);var A=v.useState({containerWidth:a.width,containerHeight:a.height}),I=NL(A,2),U=I[0],B=I[1],K=v.useCallback((we,pe)=>{B(Y=>{var V=Math.round(we),Q=Math.round(pe);return Y.containerWidth===V&&Y.containerHeight===Q?Y:{containerWidth:V,containerHeight:Q}})},[]);v.useEffect(()=>{if(C.current==null||typeof ResizeObserver>"u")return Us;var we=D=>{var T,ee=D[0];if(ee!=null){var ie=ee.contentRect,re=ie.width,ce=ie.height;K(re,ce),(T=_.current)===null||T===void 0||T.call(_,re,ce)}};b>0&&(we=pL(we,b,{trailing:!0,leading:!1}));var pe=new ResizeObserver(we),Y=C.current.getBoundingClientRect(),V=Y.width,Q=Y.height;return K(V,Q),pe.observe(C.current),()=>{pe.disconnect()}},[K,b]);var X=U.containerWidth,$=U.containerHeight;jf(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ue=pP(X,$,{width:o,height:u,aspect:r,maxHeight:p}),J=ue.calculatedWidth,ge=ue.calculatedHeight;return jf(X<0||$<0||J!=null&&J>0||ge!=null&&ge>0,`The width(%s) and height(%s) of chart should be greater than 0, + */var Ow;function lR(){if(Ow)return eg;Ow=1;var e=Fs(),t=sR();function r(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}var n=typeof Object.is=="function"?Object.is:r,a=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,l=e.useMemo,f=e.useDebugValue;return eg.useSyncExternalStoreWithSelector=function(h,p,g,x,b){var j=o(null);if(j.current===null){var k={hasValue:!1,value:null};j.current=k}else k=j.current;j=l(function(){function N(A){if(!P){if(P=!0,O=A,A=x(A),b!==void 0&&k.hasValue){var I=k.value;if(b(I,A))return C=I}return C=A}if(I=C,n(O,A))return I;var U=x(A);return b!==void 0&&b(I,U)?(O=A,I):(O=A,C=U)}var P=!1,O,C,_=g===void 0?null:g;return[function(){return N(p())},_===null?void 0:function(){return N(_())}]},[p,g,x,b]);var S=a(h,j[0],j[1]);return u(function(){k.hasValue=!0,k.value=S},[S]),f(S),S},eg}var _w;function uR(){return _w||(_w=1,Jm.exports=lR()),Jm.exports}var cR=uR(),Ey=v.createContext(null),dR=e=>e,jt=()=>{var e=v.useContext(Ey);return e?e.store.dispatch:dR},Zd=()=>{},fR=()=>Zd,hR=(e,t)=>e===t;function Ae(e){var t=v.useContext(Ey),r=v.useMemo(()=>t?n=>{if(n!=null)return e(n)}:Zd,[t,e]);return cR.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:fR,t?t.store.getState:Zd,t?t.store.getState:Zd,r,hR)}function pR(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function mR(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var Mw=e=>Array.isArray(e)?e:[e];function gR(e){const t=Array.isArray(e[0])?e[0]:e;return mR(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function vR(e,t){const r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?yR:WeakRef,AE=xR(),bR=0,Iw=1;function Md(){return{s:bR,v:void 0,o:null,p:null}}function wR(e){return e instanceof AE?e.deref():e}function OE(e,t={}){let r=Md();const{resultEqualityCheck:n}=t;let a,o=0;function u(){let l=r;const{length:f}=arguments;for(let g=0,x=f;g{r=Md(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function jR(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,u=0,l,f={},h=a.pop();typeof h=="object"&&(f=h,h=a.pop()),pR(h,`createSelector expects an output function after the inputs, but received: [${typeof h}]`);const p={...r,...f},{memoize:g,memoizeOptions:x=[],argsMemoize:b=OE,argsMemoizeOptions:j=[]}=p,k=Mw(x),S=Mw(j),N=gR(a),P=g(function(){return o++,h.apply(null,arguments)},...k),O=b(function(){u++;const _=vR(N,arguments);return l=P.apply(null,_),l},...S);return Object.assign(O,{resultFunc:h,memoizedResultFunc:P,dependencies:N,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:g,argsMemoize:b})};return Object.assign(n,{withTypes:()=>n}),n}var G=jR(OE);function kR(e,t=1){const r=[],n=Math.floor(t),a=(o,u)=>{for(let l=0;l{if(e!==t){const n=Tw(e),a=Tw(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function _E(e){return typeof e=="symbol"||e instanceof Symbol}const NR=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ER=/^\w*$/;function PR(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||_E(e)?!0:typeof e=="string"&&(ER.test(e)||!NR.test(e))||t!=null}function CR(e,t,r,n){if(e==null)return[];r=r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));const a=(l,f)=>{let h=l;for(let p=0;pf==null||l==null?f:typeof l=="object"&&"key"in l?Object.hasOwn(f,l.key)?f[l.key]:a(f,l.path):typeof l=="function"?l(f):Array.isArray(l)?a(f,l):typeof f=="object"?f[l]:f,u=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||PR(l)?l:{key:l,path:jy(l)}));return e.map(l=>({original:l,criteria:u.map(f=>o(f,l))})).slice().sort((l,f)=>{for(let h=0;hl.original)}function fh(e,...t){const r=t.length;return r>1&&vv(e,t[0],t[1])?t=[]:r>2&&vv(t[0],t[1],t[2])&&(t=[t[0]]),CR(e,kR(t),["asc"])}var ME=e=>e.legend.settings,AR=e=>e.legend.size,OR=e=>e.legend.payload;G([OR,ME],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?fh(n,r):n});function _R(e,t){return DR(e)||TR(e,t)||IR(e,t)||MR()}function MR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function IR(e,t){if(e){if(typeof e=="string")return Dw(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dw(e,t):void 0}}function Dw(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rId||Math.abs(e.left-t.left)>Id||Math.abs(e.top-t.top)>Id||Math.abs(e.width-t.width)>Id}function $w(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function RR(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=v.useState({height:0,left:0,top:0,width:0}),r=_R(t,2),n=r[0],a=r[1],o=v.useRef(null),u=v.useRef(n);u.current=n;var l=v.useCallback(f=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),f!=null){var h=$w(f);if(Rw(h,u.current)&&a(h),typeof ResizeObserver<"u"){var p=new ResizeObserver(()=>{var g=$w(f);Rw(g,u.current)&&a(g)});p.observe(f),o.current=p}}},[...e]);return v.useEffect(()=>()=>{var f;(f=o.current)===null||f===void 0||f.disconnect()},[]),[n,l]}function Ft(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var $R=typeof Symbol=="function"&&Symbol.observable||"@@observable",Lw=$R,ng=()=>Math.random().toString(36).substring(7).split("").join("."),LR={INIT:`@@redux/INIT${ng()}`,REPLACE:`@@redux/REPLACE${ng()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ng()}`},df=LR;function Py(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function IE(e,t,r){if(typeof e!="function")throw new Error(Ft(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Ft(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Ft(1));return r(IE)(e,t)}let n=e,a=t,o=new Map,u=o,l=0,f=!1;function h(){u===o&&(u=new Map,o.forEach((S,N)=>{u.set(N,S)}))}function p(){if(f)throw new Error(Ft(3));return a}function g(S){if(typeof S!="function")throw new Error(Ft(4));if(f)throw new Error(Ft(5));let N=!0;h();const P=l++;return u.set(P,S),function(){if(N){if(f)throw new Error(Ft(6));N=!1,h(),u.delete(P),o=null}}}function x(S){if(!Py(S))throw new Error(Ft(7));if(typeof S.type>"u")throw new Error(Ft(8));if(typeof S.type!="string")throw new Error(Ft(17));if(f)throw new Error(Ft(9));try{f=!0,a=n(a,S)}finally{f=!1}return(o=u).forEach(P=>{P()}),S}function b(S){if(typeof S!="function")throw new Error(Ft(10));n=S,x({type:df.REPLACE})}function j(){const S=g;return{subscribe(N){if(typeof N!="object"||N===null)throw new Error(Ft(11));function P(){const C=N;C.next&&C.next(p())}return P(),{unsubscribe:S(P)}},[Lw](){return this}}}return x({type:df.INIT}),{dispatch:x,subscribe:g,getState:p,replaceReducer:b,[Lw]:j}}function zR(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:df.INIT})>"u")throw new Error(Ft(12));if(typeof r(void 0,{type:df.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Ft(13))})}function TE(e){const t=Object.keys(e),r={};for(let o=0;o"u")throw l&&l.type,new Error(Ft(14));h[g]=j,f=f||j!==b}return f=f||n.length!==Object.keys(u).length,f?h:u}}function ff(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function FR(...e){return t=>(r,n)=>{const a=t(r,n);let o=()=>{throw new Error(Ft(15))};const u={getState:a.getState,dispatch:(f,...h)=>o(f,...h)},l=e.map(f=>f(u));return o=ff(...l)(a.dispatch),{...a,dispatch:o}}}function DE(e){return Py(e)&&"type"in e&&typeof e.type=="string"}var RE=Symbol.for("immer-nothing"),zw=Symbol.for("immer-draftable"),lr=Symbol.for("immer-state");function un(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Or=Object,Ms=Or.getPrototypeOf,hf="constructor",hh="prototype",yv="configurable",pf="enumerable",Jd="writable",Pu="value",ci=e=>!!e&&!!e[lr];function hn(e){var t;return e?$E(e)||mh(e)||!!e[zw]||!!((t=e[hf])!=null&&t[zw])||gh(e)||vh(e):!1}var BR=Or[hh][hf].toString(),Fw=new WeakMap;function $E(e){if(!e||!Cy(e))return!1;const t=Ms(e);if(t===null||t===Or[hh])return!0;const r=Or.hasOwnProperty.call(t,hf)&&t[hf];if(r===Object)return!0;if(!as(r))return!1;let n=Fw.get(r);return n===void 0&&(n=Function.toString.call(r),Fw.set(r,n)),n===BR}function ph(e,t,r=!0){Qu(e)===0?(r?Reflect.ownKeys(e):Or.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function Qu(e){const t=e[lr];return t?t.type_:mh(e)?1:gh(e)?2:vh(e)?3:0}var Bw=(e,t,r=Qu(e))=>r===2?e.has(t):Or[hh].hasOwnProperty.call(e,t),xv=(e,t,r=Qu(e))=>r===2?e.get(t):e[t],mf=(e,t,r,n=Qu(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function UR(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var mh=Array.isArray,gh=e=>e instanceof Map,vh=e=>e instanceof Set,Cy=e=>typeof e=="object",as=e=>typeof e=="function",ig=e=>typeof e=="boolean";function WR(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var Jn=e=>e.copy_||e.base_,Ay=e=>e.modified_?e.copy_:e.base_;function bv(e,t){if(gh(e))return new Map(e);if(vh(e))return new Set(e);if(mh(e))return Array[hh].slice.call(e);const r=$E(e);if(t===!0||t==="class_only"&&!r){const n=Or.getOwnPropertyDescriptors(e);delete n[lr];let a=Reflect.ownKeys(n);for(let o=0;o1&&Or.defineProperties(e,{set:Td,add:Td,clear:Td,delete:Td}),Or.freeze(e),t&&ph(e,(r,n)=>{Oy(n,!0)},!1)),e}function HR(){un(2)}var Td={[Pu]:HR};function yh(e){return e===null||!Cy(e)?!0:Or.isFrozen(e)}var gf="MapSet",wv="Patches",Uw="ArrayMethods",LE={};function so(e){const t=LE[e];return t||un(0,e),t}var Ww=e=>!!LE[e],Cu,zE=()=>Cu,KR=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ww(gf)?so(gf):void 0,arrayMethodsPlugin_:Ww(Uw)?so(Uw):void 0});function Hw(e,t){t&&(e.patchPlugin_=so(wv),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function jv(e){kv(e),e.drafts_.forEach(GR),e.drafts_=null}function kv(e){e===Cu&&(Cu=e.parent_)}var Kw=e=>Cu=KR(Cu,e);function GR(e){const t=e[lr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Gw(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[lr].modified_&&(jv(t),un(4)),hn(e)&&(e=Vw(t,e));const{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[lr].base_,e,t)}else e=Vw(t,r);return VR(t,e,!0),jv(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==RE?e:void 0}function Vw(e,t){if(yh(t))return t;const r=t[lr];if(!r)return vf(t,e.handledSet_,e);if(!xh(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);UE(r,e)}return r.copy_}function VR(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Oy(t,r)}function FE(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var xh=(e,t)=>e.scope_===t,qR=[];function BE(e,t,r,n){const a=Jn(e),o=e.type_;if(n!==void 0&&xv(a,n,o)===t){mf(a,n,r,o);return}if(!e.draftLocations_){const l=e.draftLocations_=new Map;ph(a,(f,h)=>{if(ci(h)){const p=l.get(h)||[];p.push(f),l.set(h,p)}})}const u=e.draftLocations_.get(t)??qR;for(const l of u)mf(a,l,r,o)}function QR(e,t,r){e.callbacks_.push(function(a){var l;const o=t;if(!o||!xh(o,a))return;(l=a.mapSetPlugin_)==null||l.fixSetContents(o);const u=Ay(o);BE(e,o.draft_??o,u,r),UE(o,a)})}function UE(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:a}=t;if(a){const o=a.getPath(e);o&&a.generatePatches_(e,o,t)}FE(e)}}function YR(e,t,r){const{scope_:n}=e;if(ci(r)){const a=r[lr];xh(a,n)&&a.callbacks_.push(function(){ef(e);const u=Ay(a);BE(e,r,u,t)})}else hn(r)&&e.callbacks_.push(function(){const o=Jn(e);e.type_===3?o.has(r)&&vf(r,n.handledSet_,n):xv(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&vf(xv(e.copy_,t,e.type_),n.handledSet_,n)})}function vf(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||ci(e)||t.has(e)||!hn(e)||yh(e)||(t.add(e),ph(e,(n,a)=>{if(ci(a)){const o=a[lr];if(xh(o,r)){const u=Ay(o);mf(e,n,u,e.type_),FE(o)}}else hn(a)&&vf(a,t,r)})),e}function XR(e,t){const r=mh(e),n={type_:r?1:0,scope_:t?t.scope_:zE(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=n,o=yf;r&&(a=[n],o=Au);const{revoke:u,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=u,[l,n]}var yf={get(e,t){if(t===lr)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const a=Jn(e);if(!Bw(a,t,e.type_))return ZR(e,a,t);const o=a[t];if(e.finalized_||!hn(o)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&WR(t))return o;if(o===ag(e.base_,t)){ef(e);const u=e.type_===1?+t:t,l=Nv(e.scope_,o,e,u);return e.copy_[u]=l}return o},has(e,t){return t in Jn(e)},ownKeys(e){return Reflect.ownKeys(Jn(e))},set(e,t,r){const n=WE(Jn(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=ag(Jn(e),t),o=a==null?void 0:a[lr];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(UR(r,a)&&(r!==void 0||Bw(e.base_,t,e.type_)))return!0;ef(e),Sv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),YR(e,t,r)),!0},deleteProperty(e,t){return ef(e),ag(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Sv(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=Jn(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Jd]:!0,[yv]:e.type_!==1||t!=="length",[pf]:n[pf],[Pu]:r[t]}},defineProperty(){un(11)},getPrototypeOf(e){return Ms(e.base_)},setPrototypeOf(){un(12)}},Au={};for(let e in yf){let t=yf[e];Au[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Au.deleteProperty=function(e,t){return Au.set.call(this,e,t,void 0)};Au.set=function(e,t,r){return yf.set.call(this,e[0],t,r,e[0])};function ag(e,t){const r=e[lr];return(r?Jn(r):e)[t]}function ZR(e,t,r){var a;const n=WE(t,r);return n?Pu in n?n[Pu]:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function WE(e,t){if(!(t in e))return;let r=Ms(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ms(r)}}function Sv(e){e.modified_||(e.modified_=!0,e.parent_&&Sv(e.parent_))}function ef(e){e.copy_||(e.assigned_=new Map,e.copy_=bv(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var JR=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,a)=>{if(as(r)&&!as(n)){const u=n;n=r;const l=this;return function(h=u,...p){return l.produce(h,g=>n.call(this,g,...p))}}as(n)||un(6),a!==void 0&&!as(a)&&un(7);let o;if(hn(r)){const u=Kw(this),l=Nv(u,r,void 0);let f=!0;try{o=n(l),f=!1}finally{f?jv(u):kv(u)}return Hw(u,a),Gw(o,u)}else if(!r||!Cy(r)){if(o=n(r),o===void 0&&(o=r),o===RE&&(o=void 0),this.autoFreeze_&&Oy(o,!0),a){const u=[],l=[];so(wv).generateReplacementPatches_(r,o,{patches_:u,inversePatches_:l}),a(u,l)}return o}else un(1,r)},this.produceWithPatches=(r,n)=>{if(as(r))return(l,...f)=>this.produceWithPatches(l,h=>r(h,...f));let a,o;return[this.produce(r,n,(l,f)=>{a=l,o=f}),a,o]},ig(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),ig(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),ig(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){hn(t)||un(8),ci(t)&&(t=Kr(t));const r=Kw(this),n=Nv(r,t,void 0);return n[lr].isManual_=!0,kv(r),n}finishDraft(t,r){const n=t&&t[lr];(!n||!n.isManual_)&&un(9);const{scope_:a}=n;return Hw(a,r),Gw(void 0,a)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){const o=r[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(r=r.slice(n+1));const a=so(wv).applyPatches_;return ci(t)?a(t,r):this.produce(t,o=>a(o,r))}};function Nv(e,t,r,n){const[a,o]=gh(t)?so(gf).proxyMap_(t,r):vh(t)?so(gf).proxySet_(t,r):XR(t,r);return((r==null?void 0:r.scope_)??zE()).drafts_.push(a),o.callbacks_=(r==null?void 0:r.callbacks_)??[],o.key_=n,r&&n!==void 0?QR(r,o,n):o.callbacks_.push(function(f){var p;(p=f.mapSetPlugin_)==null||p.fixSetContents(o);const{patchPlugin_:h}=f;o.modified_&&h&&h.generatePatches_(o,[],f)}),a}function Kr(e){return ci(e)||un(10,e),HE(e)}function HE(e){if(!hn(e)||yh(e))return e;const t=e[lr];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=bv(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=bv(e,!0);return ph(r,(a,o)=>{mf(r,a,HE(o))},n),t&&(t.finalized_=!1),r}var e$=new JR,KE=e$.produce;function GE(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var t$=GE(),r$=GE,n$=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?ff:ff.apply(null,arguments)};function Mr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(_r(0));return{type:e,payload:a.payload,..."meta"in a&&{meta:a.meta},..."error"in a&&{error:a.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>DE(n)&&n.type===e,r}var VE=class su extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,su.prototype)}static get[Symbol.species](){return su}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new su(...t[0].concat(this)):new su(...t.concat(this))}};function qw(e){return hn(e)?KE(e,()=>{}):e}function Dd(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function i$(e){return typeof e=="boolean"}var a$=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{};let u=new VE;return r&&(i$(r)?u.push(t$):u.push(r$(r.extraArgument))),u},qE="RTK_autoBatch",at=()=>e=>({payload:e,meta:{[qE]:!0}}),Qw=e=>t=>{setTimeout(t,e)},o$=(e,t)=>r=>{let n=!1;const a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(u),r())},o=e(a),u=setTimeout(a,t)},QE=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let a=!0,o=!1,u=!1;const l=new Set,f=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?o$(window.requestAnimationFrame,100):Qw(10):e.type==="callback"?e.queueNotification:Qw(e.timeout),h=()=>{u=!1,o&&(o=!1,l.forEach(p=>p()))};return Object.assign({},n,{subscribe(p){const g=()=>a&&p(),x=n.subscribe(g);return l.add(p),()=>{x(),l.delete(p)}},dispatch(p){var g;try{return a=!((g=p==null?void 0:p.meta)!=null&&g[qE]),o=!a,o&&(u||(u=!0,f(h))),n.dispatch(p)}finally{a=!0}}})},s$=e=>function(r){const{autoBatch:n=!0}=r??{};let a=new VE(e);return n&&a.push(QE(typeof n=="object"?n:void 0)),a};function l$(e){const t=a$(),{reducer:r=void 0,middleware:n,devTools:a=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let l;if(typeof r=="function")l=r;else if(Py(r))l=TE(r);else throw new Error(_r(1));let f;typeof n=="function"?f=n(t):f=t();let h=ff;a&&(h=n$({trace:!1,...typeof a=="object"&&a}));const p=FR(...f),g=s$(p);let x=typeof u=="function"?u(g):g();const b=h(...x);return IE(l,o,b)}function YE(e){const t={},r=[];let n;const a={addCase(o,u){const l=typeof o=="string"?o:o.type;if(!l)throw new Error(_r(28));if(l in t)throw new Error(_r(29));return t[l]=u,a},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&r.push({matcher:o.settled,reducer:u.settled}),a},addMatcher(o,u){return r.push({matcher:o,reducer:u}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function u$(e){return typeof e=="function"}function c$(e,t){let[r,n,a]=YE(t),o;if(u$(e))o=()=>qw(e());else{const l=qw(e);o=()=>l}function u(l=o(),f){let h=[r[f.type],...n.filter(({matcher:p})=>p(f)).map(({reducer:p})=>p)];return h.filter(p=>!!p).length===0&&(h=[a]),h.reduce((p,g)=>{if(g)if(ci(p)){const b=g(p,f);return b===void 0?p:b}else{if(hn(p))return KE(p,x=>g(x,f));{const x=g(p,f);if(x===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return x}}return p},l)}return u.getInitialState=o,u}var d$="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",f$=(e=21)=>{let t="",r=e;for(;r--;)t+=d$[Math.random()*64|0];return t},h$=Symbol.for("rtk-slice-createasyncthunk");function p$(e,t){return`${e}/${t}`}function m$({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[h$];return function(a){const{name:o,reducerPath:u=o}=a;if(!o)throw new Error(_r(11));const l=(typeof a.reducers=="function"?a.reducers(v$()):a.reducers)||{},f=Object.keys(l),h={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},p={addCase(C,_){const A=typeof C=="string"?C:C.type;if(!A)throw new Error(_r(12));if(A in h.sliceCaseReducersByType)throw new Error(_r(13));return h.sliceCaseReducersByType[A]=_,p},addMatcher(C,_){return h.sliceMatchers.push({matcher:C,reducer:_}),p},exposeAction(C,_){return h.actionCreators[C]=_,p},exposeCaseReducer(C,_){return h.sliceCaseReducersByName[C]=_,p}};f.forEach(C=>{const _=l[C],A={reducerName:C,type:p$(o,C),createNotation:typeof a.reducers=="function"};x$(_)?w$(A,_,p,t):y$(A,_,p)});function g(){const[C={},_=[],A=void 0]=typeof a.extraReducers=="function"?YE(a.extraReducers):[a.extraReducers],I={...C,...h.sliceCaseReducersByType};return c$(a.initialState,U=>{for(let B in I)U.addCase(B,I[B]);for(let B of h.sliceMatchers)U.addMatcher(B.matcher,B.reducer);for(let B of _)U.addMatcher(B.matcher,B.reducer);A&&U.addDefaultCase(A)})}const x=C=>C,b=new Map,j=new WeakMap;let k;function S(C,_){return k||(k=g()),k(C,_)}function N(){return k||(k=g()),k.getInitialState()}function P(C,_=!1){function A(U){let B=U[C];return typeof B>"u"&&_&&(B=Dd(j,A,N)),B}function I(U=x){const B=Dd(b,_,()=>new WeakMap);return Dd(B,U,()=>{const K={};for(const[X,$]of Object.entries(a.selectors??{}))K[X]=g$($,U,()=>Dd(j,U,N),_);return K})}return{reducerPath:C,getSelectors:I,get selectors(){return I(A)},selectSlice:A}}const O={name:o,reducer:S,actions:h.actionCreators,caseReducers:h.sliceCaseReducersByName,getInitialState:N,...P(u),injectInto(C,{reducerPath:_,...A}={}){const I=_??u;return C.inject({reducerPath:I,reducer:S},A),{...O,...P(I,!0)}}};return O}}function g$(e,t,r,n){function a(o,...u){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...u)}return a.unwrapped=e,a}var rr=m$();function v$(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function y$({type:e,reducerName:t,createNotation:r},n,a){let o,u;if("reducer"in n){if(r&&!b$(n))throw new Error(_r(17));o=n.reducer,u=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?Mr(e,u):Mr(e))}function x$(e){return e._reducerDefinitionType==="asyncThunk"}function b$(e){return e._reducerDefinitionType==="reducerWithPrepare"}function w$({type:e,reducerName:t},r,n,a){if(!a)throw new Error(_r(18));const{payloadCreator:o,fulfilled:u,pending:l,rejected:f,settled:h,options:p}=r,g=a(e,o,p);n.exposeAction(t,g),u&&n.addCase(g.fulfilled,u),l&&n.addCase(g.pending,l),f&&n.addCase(g.rejected,f),h&&n.addMatcher(g.settled,h),n.exposeCaseReducer(t,{fulfilled:u||Rd,pending:l||Rd,rejected:f||Rd,settled:h||Rd})}function Rd(){}var j$="task",XE="listener",ZE="completed",_y="cancelled",k$=`task-${_y}`,S$=`task-${ZE}`,Ev=`${XE}-${_y}`,N$=`${XE}-${ZE}`,bh=class{constructor(e){Kl(this,"code");Kl(this,"name","TaskAbortError");Kl(this,"message");this.code=e,this.message=`${j$} ${_y} (reason: ${e})`}},My=(e,t)=>{if(typeof e!="function")throw new TypeError(_r(32))},xf=()=>{},JE=(e,t=xf)=>(e.catch(t),e),eP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),eo=e=>{if(e.aborted)throw new bh(e.reason)};function tP(e,t){let r=xf;return new Promise((n,a)=>{const o=()=>a(new bh(e.reason));if(e.aborted){o();return}r=eP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=xf})}var E$=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof bh?"cancelled":"rejected",error:r}}finally{t==null||t()}},bf=e=>t=>JE(tP(e,t).then(r=>(eo(e),r))),rP=e=>{const t=bf(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:ds}=Object,Yw={},wh="listenerMiddleware",P$=(e,t)=>{const r=n=>eP(e,()=>n.abort(e.reason));return(n,a)=>{My(n);const o=new AbortController;r(o);const u=E$(async()=>{eo(e),eo(o.signal);const l=await n({pause:bf(o.signal),delay:rP(o.signal),signal:o.signal});return eo(o.signal),l},()=>o.abort(S$));return a!=null&&a.autoJoin&&t.push(u.catch(xf)),{result:bf(e)(u),cancel(){o.abort(k$)}}}},C$=(e,t)=>{const r=async(n,a)=>{eo(t);let o=()=>{};const l=[new Promise((f,h)=>{let p=e({predicate:n,effect:(g,x)=>{x.unsubscribe(),f([g,x.getState(),x.getOriginalState()])}});o=()=>{p(),h()}})];a!=null&&l.push(new Promise(f=>setTimeout(f,a,null)));try{const f=await tP(t,Promise.race(l));return eo(t),f}finally{o()}};return((n,a)=>JE(r(n,a)))},nP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Mr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(_r(21));return My(o),{predicate:a,type:t,effect:o}},iP=ds(e=>{const{type:t,predicate:r,effect:n}=nP(e);return{id:f$(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_r(22))}}},{withTypes:()=>iP}),Xw=(e,t)=>{const{type:r,effect:n,predicate:a}=nP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},Pv=e=>{e.pending.forEach(t=>{t.abort(Ev)})},A$=(e,t)=>()=>{for(const r of t.keys())Pv(r);e.clear()},Zw=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},aP=ds(Mr(`${wh}/add`),{withTypes:()=>aP}),O$=Mr(`${wh}/removeAll`),oP=ds(Mr(`${wh}/remove`),{withTypes:()=>oP}),_$=(...e)=>{console.error(`${wh}/error`,...e)},Yu=(e={})=>{const t=new Map,r=new Map,n=b=>{const j=r.get(b)??0;r.set(b,j+1)},a=b=>{const j=r.get(b)??1;j===1?r.delete(b):r.set(b,j-1)},{extra:o,onError:u=_$}=e;My(u);const l=b=>(b.unsubscribe=()=>t.delete(b.id),t.set(b.id,b),j=>{b.unsubscribe(),j!=null&&j.cancelActive&&Pv(b)}),f=(b=>{const j=Xw(t,b)??iP(b);return l(j)});ds(f,{withTypes:()=>f});const h=b=>{const j=Xw(t,b);return j&&(j.unsubscribe(),b.cancelActive&&Pv(j)),!!j};ds(h,{withTypes:()=>h});const p=async(b,j,k,S)=>{const N=new AbortController,P=C$(f,N.signal),O=[];try{b.pending.add(N),n(b),await Promise.resolve(b.effect(j,ds({},k,{getOriginalState:S,condition:(C,_)=>P(C,_).then(Boolean),take:P,delay:rP(N.signal),pause:bf(N.signal),extra:o,signal:N.signal,fork:P$(N.signal,O),unsubscribe:b.unsubscribe,subscribe:()=>{t.set(b.id,b)},cancelActiveListeners:()=>{b.pending.forEach((C,_,A)=>{C!==N&&(C.abort(Ev),A.delete(C))})},cancel:()=>{N.abort(Ev),b.pending.delete(N)},throwIfCancelled:()=>{eo(N.signal)}})))}catch(C){C instanceof bh||Zw(u,C,{raisedBy:"effect"})}finally{await Promise.all(O),N.abort(N$),a(b),b.pending.delete(N)}},g=A$(t,r);return{middleware:b=>j=>k=>{if(!DE(k))return j(k);if(aP.match(k))return f(k.payload);if(O$.match(k)){g();return}if(oP.match(k))return h(k.payload);let S=b.getState();const N=()=>{if(S===Yw)throw new Error(_r(23));return S};let P;try{if(P=j(k),t.size>0){const O=b.getState(),C=Array.from(t.values());for(const _ of C){let A=!1;try{A=_.predicate(k,O,S)}catch(I){A=!1,Zw(u,I,{raisedBy:"predicate"})}A&&p(_,k,b,N)}}}finally{S=Yw}return P},startListening:f,stopListening:h,clearListeners:g}};function _r(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var M$={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},sP=rr({name:"chartLayout",initialState:M$,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,a,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(a=t.payload.bottom)!==null&&a!==void 0?a:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),jh=sP.actions,I$=jh.setMargin,T$=jh.setLayout,D$=jh.setChartSize,R$=jh.setScale,$$=sP.reducer;function lP(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Be(e){return Number.isFinite(e)}function Rn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Jw(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function os(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,u=t.verticalAlign,l=t.layout;if((l==="vertical"||l==="horizontal"&&u==="middle")&&o!=="center"&&Ne(e[o]))return os(os({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&u!=="middle"&&Ne(e[u]))return os(os({},e),{},{[u]:e[u]+(a||0)})}return e},zn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",uP=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,u=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||u.push(t),o||u.push(r),u},cP=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,u=e.scale,l=e.realScaleType,f=e.isCategorical,h=e.categoricalDomain,p=e.tickCount,g=e.ticks,x=e.niceTicks,b=e.axisType;if(!u)return null;var j=l==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,k=a==="category"&&u.bandwidth?u.bandwidth()/j:0;if(k=b==="angleAxis"&&o&&o.length>=2?Hr(o[0]-o[1])*2*k:k,g||x){var S=(g||x||[]).map((N,P)=>{var O=n?n.indexOf(N):N,C=u.map(O);return Be(C)?{coordinate:C+k,value:N,offset:k,index:P}:null}).filter(xr);return S}return f&&h?h.map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:N,index:P,offset:k}:null}).filter(xr):u.ticks&&p!=null?u.ticks(p).map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:N,index:P,offset:k}:null}).filter(xr):u.domain().map((N,P)=>{var O=u.map(N);return Be(O)?{coordinate:O+k,value:n?n[N]:N,index:P,offset:k}:null}).filter(xr)},U$=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(h[0]=o,o+=x,h[1]=o):(h[0]=u,u+=x,h[1]=u)}}}},W$=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(f[0]=o,o+=h,f[1]=o):(f[0]=0,f[1]=0)}}}},H$={sign:U$,expand:oD,none:ao,silhouette:sD,wiggle:lD,positive:W$},K$=(e,t,r)=>{var n,a=(n=H$[r])!==null&&n!==void 0?n:ao,o=aD().keys(t).value((l,f)=>Number(Tt(l,f,0))).order(hv).offset(a),u=o(e);return u.forEach((l,f)=>{l.forEach((h,p)=>{var g=Tt(e[p],t[f],0);Array.isArray(g)&&g.length===2&&Ne(g[0])&&Ne(g[1])&&(h[0]=g[0],h[1]=g[1])})}),u};function G$(e){return e==null?void 0:String(e)}function ej(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Kt(a[t.dataKey])){var l=gE(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var f=Tt(a,Kt(u)?t.dataKey:u),h=t.scale.map(f);return Ne(h)?h:null}var V$=e=>{var t=e.flat(2).filter(Ne);return[Math.min(...t),Math.max(...t)]},q$=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Q$=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return q$(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var u=o.stackedData,l=u.reduce((f,h)=>{var p=lP(h,t,r),g=V$(p);return!Be(g[0])||!Be(g[1])?f:[Math.min(f[0],g[0]),Math.max(f[1],g[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},tj=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,rj=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,wf=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var a=fh(t,p=>p.coordinate),o=1/0,u=1,l=a.length;u{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},X$=(e,t)=>t==="centric"?e.angle:e.radius,pi=e=>e.layout.width,mi=e=>e.layout.height,Z$=e=>e.layout.scale,fP=e=>e.layout.margin,kh=G(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Sh=G(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),J$="data-recharts-item-index",eL="data-recharts-item-id",Xu=60;function ij(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function $d(e){for(var t=1;te.brush.height;function aL(e){var t=Sh(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Xu;return r+a}return r},0)}function oL(e){var t=Sh(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Xu;return r+a}return r},0)}function sL(e){var t=kh(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function lL(e){var t=kh(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Vt=G([pi,mi,fP,iL,aL,oL,sL,lL,ME,AR],(e,t,r,n,a,o,u,l,f,h)=>{var p={left:(r.left||0)+a,right:(r.right||0)+o},g={top:(r.top||0)+u,bottom:(r.bottom||0)+l},x=$d($d({},g),p),b=x.bottom;x.bottom+=n,x=B$(x,f,h);var j=e-x.left-x.right,k=t-x.top-x.bottom;return $d($d({brushBottom:b},x),{},{width:Math.max(j,0),height:Math.max(k,0)})}),uL=G(Vt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),hP=G(pi,mi,(e,t)=>({x:0,y:0,width:e,height:t})),cL=v.createContext(null),wr=()=>v.useContext(cL)!=null,Nh=e=>e.brush,Eh=G([Nh,Vt,fP],(e,t,r)=>({height:e.height,x:Ne(e.x)?e.x:t.left,y:Ne(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:Ne(e.width)?e.width:t.width}));function dL(e,t,{signal:r,edges:n}={}){let a,o=null;const u=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),f=()=>{o!==null&&(e.apply(a,o),a=void 0,o=null)},h=()=>{l&&f(),b()};let p=null;const g=()=>{p!=null&&clearTimeout(p),p=setTimeout(()=>{p=null,h()},t)},x=()=>{p!==null&&(clearTimeout(p),p=null)},b=()=>{x(),a=void 0,o=null},j=()=>{f()},k=function(...S){if(r!=null&&r.aborted)return;a=this,o=S;const N=p==null;g(),u&&N&&f()};return k.schedule=g,k.cancel=b,k.flush=j,r==null||r.addEventListener("abort",b,{once:!0}),k}function fL(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:a=!0,maxWait:o}=r,u=Array(2);n&&(u[0]="leading"),a&&(u[1]="trailing");let l,f=null;const h=dL(function(...x){l=e.apply(this,x),f=null},t,{edges:u}),p=function(...x){return o!=null&&(f===null&&(f=Date.now()),Date.now()-f>=o)?(l=e.apply(this,x),f=Date.now(),h.cancel(),h.schedule(),l):(h.apply(this,x),l)},g=()=>(h.flush(),l);return p.cancel=h.cancel,p.flush=g,p}function hL(e,t=0,r={}){const{leading:n=!0,trailing:a=!0}=r;return fL(e,t,{leading:n,maxWait:t,trailing:a})}var jf=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[u++]))}},An={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},pP=(e,t,r)=>{var n=r.width,a=n===void 0?An.width:n,o=r.height,u=o===void 0?An.height:o,l=r.aspect,f=r.maxHeight,h=oo(a)?e:Number(a),p=oo(u)?t:Number(u);return l&&l>0&&(h?p=h/l:p&&(h=p*l),f&&p!=null&&p>f&&(p=f)),{calculatedWidth:h,calculatedHeight:p}},pL={width:0,height:0,overflow:"visible"},mL={width:0,overflowX:"visible"},gL={height:0,overflowY:"visible"},vL={},yL=e=>{var t=e.width,r=e.height,n=oo(t),a=oo(r);return n&&a?pL:n?mL:a?gL:vL};function xL(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=An.width,o=An.height):a===void 0?a=n&&n>0?void 0:An.width:o===void 0&&(o=n&&n>0?void 0:An.height),{width:a,height:o}}var bL=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function kf(){return kf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return _L(a)?v.createElement(mP.Provider,{value:a},t):null}var Iy=()=>v.useContext(mP),ML=v.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?An.initialDimension:n,o=e.width,u=e.height,l=e.minWidth,f=l===void 0?An.minWidth:l,h=e.minHeight,p=e.maxHeight,g=e.children,x=e.debounce,b=x===void 0?An.debounce:x,j=e.id,k=e.className,S=e.onResize,N=e.style,P=N===void 0?{}:N,O=AL(e,bL),C=v.useRef(null),_=v.useRef();_.current=S,v.useImperativeHandle(t,()=>C.current);var A=v.useState({containerWidth:a.width,containerHeight:a.height}),I=SL(A,2),U=I[0],B=I[1],K=v.useCallback((we,pe)=>{B(Y=>{var V=Math.round(we),Q=Math.round(pe);return Y.containerWidth===V&&Y.containerHeight===Q?Y:{containerWidth:V,containerHeight:Q}})},[]);v.useEffect(()=>{if(C.current==null||typeof ResizeObserver>"u")return Us;var we=D=>{var T,ee=D[0];if(ee!=null){var ie=ee.contentRect,re=ie.width,ce=ie.height;K(re,ce),(T=_.current)===null||T===void 0||T.call(_,re,ce)}};b>0&&(we=hL(we,b,{trailing:!0,leading:!1}));var pe=new ResizeObserver(we),Y=C.current.getBoundingClientRect(),V=Y.width,Q=Y.height;return K(V,Q),pe.observe(C.current),()=>{pe.disconnect()}},[K,b]);var X=U.containerWidth,$=U.containerHeight;jf(!r||r>0,"The aspect(%s) must be greater than zero.",r);var ue=pP(X,$,{width:o,height:u,aspect:r,maxHeight:p}),J=ue.calculatedWidth,ge=ue.calculatedHeight;return jf(X<0||$<0||J!=null&&J>0||ge!=null&&ge>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,J,ge,o,u,f,h,r),v.createElement("div",kf({id:j?"".concat(j):void 0,className:et("recharts-responsive-container",k),style:oj(oj({},P),{},{width:o,height:u,minWidth:f,minHeight:h,maxHeight:p}),ref:C},O),v.createElement("div",{style:xL({width:o,height:u})},v.createElement(gP,{width:J,height:ge},g)))}),TL=v.forwardRef((e,t)=>{var r=Iy();if(Rn(r.width)&&Rn(r.height))return e.children;var n=bL({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,u=pP(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=u.calculatedWidth,f=u.calculatedHeight;return Ne(l)&&Ne(f)?v.createElement(gP,{width:l,height:f},e.children):v.createElement(IL,kf({},e,{width:a,height:o,ref:t}))});function Ty(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Ph=()=>{var e,t=wr(),r=Ae(cL),n=Ae(Eh),a=(e=Ae(Nh))===null||e===void 0?void 0:e.padding;return!t||!n||!a?r:{width:n.width-a.left-a.right,height:n.height-a.top-a.bottom,x:a.left,y:a.top}},DL={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},vP=()=>{var e;return(e=Ae(Vt))!==null&&e!==void 0?e:DL},yP=()=>Ae(pi),xP=()=>Ae(mi),ut=e=>e.layout.layoutType,Ws=()=>Ae(ut),Dy=()=>{var e=Ws();if(e==="horizontal"||e==="vertical")return e},bP=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},RL=()=>{var e=Ws();return e!==void 0},Zu=e=>{var t=jt(),r=wr(),n=e.width,a=e.height,o=Iy(),u=n,l=a;return o&&(u=o.width>0?o.width:n,l=o.height>0?o.height:a),v.useEffect(()=>{!r&&Rn(u)&&Rn(l)&&t(R$({width:u,height:l}))},[t,r,u,l]),null},wP=Symbol.for("immer-nothing"),lj=Symbol.for("immer-draftable"),Ir=Symbol.for("immer-state");function cn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ou=Object.getPrototypeOf;function Is(e){return!!e&&!!e[Ir]}function lo(e){var t;return e?jP(e)||Array.isArray(e)||!!e[lj]||!!((t=e.constructor)!=null&&t[lj])||Ju(e)||Ah(e):!1}var $L=Object.prototype.constructor.toString(),uj=new WeakMap;function jP(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=uj.get(r);return n===void 0&&(n=Function.toString.call(r),uj.set(r,n)),n===$L}function Sf(e,t,r=!0){Ch(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function Ch(e){const t=e[Ir];return t?t.type_:Array.isArray(e)?1:Ju(e)?2:Ah(e)?3:0}function Cv(e,t){return Ch(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function kP(e,t,r){const n=Ch(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function LL(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Ju(e){return e instanceof Map}function Ah(e){return e instanceof Set}function $a(e){return e.copy_||e.base_}function Av(e,t){if(Ju(e))return new Map(e);if(Ah(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=jP(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Ir];let a=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Ld,add:Ld,clear:Ld,delete:Ld}),Object.freeze(e),t&&Object.values(e).forEach(r=>Ry(r,!0))),e}function zL(){cn(2)}var Ld={value:zL};function Oh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var FL={};function uo(e){const t=FL[e];return t||cn(0,e),t}var _u;function SP(){return _u}function BL(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function cj(e,t){t&&(uo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ov(e){_v(e),e.drafts_.forEach(UL),e.drafts_=null}function _v(e){e===_u&&(_u=e.parent_)}function dj(e){return _u=BL(_u,e)}function UL(e){const t=e[Ir];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function fj(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Ir].modified_&&(Ov(t),cn(4)),lo(e)&&(e=Nf(t,e),t.parent_||Ef(t,e)),t.patches_&&uo("Patches").generateReplacementPatches_(r[Ir].base_,e,t.patches_,t.inversePatches_)):e=Nf(t,r,[]),Ov(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==wP?e:void 0}function Nf(e,t,r){if(Oh(t))return t;const n=e.immer_.shouldUseStrictIteration(),a=t[Ir];if(!a)return Sf(t,(o,u)=>hj(e,a,t,o,u,r),n),t;if(a.scope_!==e)return t;if(!a.modified_)return Ef(e,a.base_,!0),a.base_;if(!a.finalized_){a.finalized_=!0,a.scope_.unfinalizedDrafts_--;const o=a.copy_;let u=o,l=!1;a.type_===3&&(u=new Set(o),o.clear(),l=!0),Sf(u,(f,h)=>hj(e,a,o,f,h,r,l),n),Ef(e,o,!1),r&&e.patches_&&uo("Patches").generatePatches_(a,r,e.patches_,e.inversePatches_)}return a.copy_}function hj(e,t,r,n,a,o,u){if(a==null||typeof a!="object"&&!u)return;const l=Oh(a);if(!(l&&!u)){if(Is(a)){const f=o&&t&&t.type_!==3&&!Cv(t.assigned_,n)?o.concat(n):void 0,h=Nf(e,a,f);if(kP(r,n,h),Is(h))e.canAutoFreeze_=!1;else return}else u&&r.add(a);if(lo(a)&&!l){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===a&&l)return;Nf(e,a),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Ju(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Ef(e,a)}}}function Ef(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ry(t,r)}function WL(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:SP(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let a=n,o=$y;r&&(a=[n],o=Mu);const{revoke:u,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=u,l}var $y={get(e,t){if(t===Ir)return e;const r=$a(e);if(!Cv(r,t))return HL(e,r,t);const n=r[t];return e.finalized_||!lo(n)?n:n===og(e.base_,t)?(sg(e),e.copy_[t]=Iv(n,e)):n},has(e,t){return t in $a(e)},ownKeys(e){return Reflect.ownKeys($a(e))},set(e,t,r){const n=NP($a(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=og($a(e),t),o=a==null?void 0:a[Ir];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(LL(r,a)&&(r!==void 0||Cv(e.base_,t)))return!0;sg(e),Mv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return og(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,sg(e),Mv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=$a(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){cn(11)},getPrototypeOf(e){return Ou(e.base_)},setPrototypeOf(){cn(12)}},Mu={};Sf($y,(e,t)=>{Mu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Mu.deleteProperty=function(e,t){return Mu.set.call(this,e,t,void 0)};Mu.set=function(e,t,r){return $y.set.call(this,e[0],t,r,e[0])};function og(e,t){const r=e[Ir];return(r?$a(r):e)[t]}function HL(e,t,r){var a;const n=NP(t,r);return n?"value"in n?n.value:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ou(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ou(r)}}function Mv(e){e.modified_||(e.modified_=!0,e.parent_&&Mv(e.parent_))}function sg(e){e.copy_||(e.copy_=Av(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var KL=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const u=this;return function(f=o,...h){return u.produce(f,p=>r.call(this,p,...h))}}typeof r!="function"&&cn(6),n!==void 0&&typeof n!="function"&&cn(7);let a;if(lo(t)){const o=dj(this),u=Iv(t,void 0);let l=!0;try{a=r(u),l=!1}finally{l?Ov(o):_v(o)}return cj(o,n),fj(a,o)}else if(!t||typeof t!="object"){if(a=r(t),a===void 0&&(a=t),a===wP&&(a=void 0),this.autoFreeze_&&Ry(a,!0),n){const o=[],u=[];uo("Patches").generateReplacementPatches_(t,a,o,u),n(o,u)}return a}else cn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(u,...l)=>this.produceWithPatches(u,f=>t(f,...l));let n,a;return[this.produce(t,r,(u,l)=>{n=u,a=l}),n,a]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){lo(e)||cn(8),Is(e)&&(e=GL(e));const t=dj(this),r=Iv(e,void 0);return r[Ir].isManual_=!0,_v(t),r}finishDraft(e,t){const r=e&&e[Ir];(!r||!r.isManual_)&&cn(9);const{scope_:n}=r;return cj(n,t),fj(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));const n=uo("Patches").applyPatches_;return Is(e)?n(e,t):this.produce(e,a=>n(a,t))}};function Iv(e,t){const r=Ju(e)?uo("MapSet").proxyMap_(e,t):Ah(e)?uo("MapSet").proxySet_(e,t):WL(e,t);return(t?t.scope_:SP()).drafts_.push(r),r}function GL(e){return Is(e)||cn(10,e),EP(e)}function EP(e){if(!lo(e)||Oh(e))return e;const t=e[Ir];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Av(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Av(e,!0);return Sf(r,(a,o)=>{kP(r,a,EP(o))},n),t&&(t.finalized_=!1),r}var VL=new KL;VL.produce;var qL={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},PP=rr({name:"legend",initialState:qL,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:at()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).payload.indexOf(n);o>-1&&(e.payload[o]=a)},prepare:at()},removeLegendPayload:{reducer(e,t){var r=Kr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:at()}}}),ec=PP.actions;ec.setLegendSize;ec.setLegendSettings;var QL=ec.addLegendPayload,YL=ec.replaceLegendPayload,XL=ec.removeLegendPayload,ZL=PP.reducer,lg={exports:{}},ug={};/** + height and width.`,J,ge,o,u,f,h,r),v.createElement("div",kf({id:j?"".concat(j):void 0,className:et("recharts-responsive-container",k),style:oj(oj({},P),{},{width:o,height:u,minWidth:f,minHeight:h,maxHeight:p}),ref:C},O),v.createElement("div",{style:yL({width:o,height:u})},v.createElement(gP,{width:J,height:ge},g)))}),IL=v.forwardRef((e,t)=>{var r=Iy();if(Rn(r.width)&&Rn(r.height))return e.children;var n=xL({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,u=pP(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=u.calculatedWidth,f=u.calculatedHeight;return Ne(l)&&Ne(f)?v.createElement(gP,{width:l,height:f},e.children):v.createElement(ML,kf({},e,{width:a,height:o,ref:t}))});function Ty(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var Ph=()=>{var e,t=wr(),r=Ae(uL),n=Ae(Eh),a=(e=Ae(Nh))===null||e===void 0?void 0:e.padding;return!t||!n||!a?r:{width:n.width-a.left-a.right,height:n.height-a.top-a.bottom,x:a.left,y:a.top}},TL={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},vP=()=>{var e;return(e=Ae(Vt))!==null&&e!==void 0?e:TL},yP=()=>Ae(pi),xP=()=>Ae(mi),ut=e=>e.layout.layoutType,Ws=()=>Ae(ut),Dy=()=>{var e=Ws();if(e==="horizontal"||e==="vertical")return e},bP=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},DL=()=>{var e=Ws();return e!==void 0},Zu=e=>{var t=jt(),r=wr(),n=e.width,a=e.height,o=Iy(),u=n,l=a;return o&&(u=o.width>0?o.width:n,l=o.height>0?o.height:a),v.useEffect(()=>{!r&&Rn(u)&&Rn(l)&&t(D$({width:u,height:l}))},[t,r,u,l]),null},wP=Symbol.for("immer-nothing"),lj=Symbol.for("immer-draftable"),Ir=Symbol.for("immer-state");function cn(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ou=Object.getPrototypeOf;function Is(e){return!!e&&!!e[Ir]}function lo(e){var t;return e?jP(e)||Array.isArray(e)||!!e[lj]||!!((t=e.constructor)!=null&&t[lj])||Ju(e)||Ah(e):!1}var RL=Object.prototype.constructor.toString(),uj=new WeakMap;function jP(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(r===Object)return!0;if(typeof r!="function")return!1;let n=uj.get(r);return n===void 0&&(n=Function.toString.call(r),uj.set(r,n)),n===RL}function Sf(e,t,r=!0){Ch(e)===0?(r?Reflect.ownKeys(e):Object.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function Ch(e){const t=e[Ir];return t?t.type_:Array.isArray(e)?1:Ju(e)?2:Ah(e)?3:0}function Cv(e,t){return Ch(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function kP(e,t,r){const n=Ch(e);n===2?e.set(t,r):n===3?e.add(r):e[t]=r}function $L(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Ju(e){return e instanceof Map}function Ah(e){return e instanceof Set}function $a(e){return e.copy_||e.base_}function Av(e,t){if(Ju(e))return new Map(e);if(Ah(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const r=jP(e);if(t===!0||t==="class_only"&&!r){const n=Object.getOwnPropertyDescriptors(e);delete n[Ir];let a=Reflect.ownKeys(n);for(let o=0;o1&&Object.defineProperties(e,{set:Ld,add:Ld,clear:Ld,delete:Ld}),Object.freeze(e),t&&Object.values(e).forEach(r=>Ry(r,!0))),e}function LL(){cn(2)}var Ld={value:LL};function Oh(e){return e===null||typeof e!="object"?!0:Object.isFrozen(e)}var zL={};function uo(e){const t=zL[e];return t||cn(0,e),t}var _u;function SP(){return _u}function FL(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function cj(e,t){t&&(uo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ov(e){_v(e),e.drafts_.forEach(BL),e.drafts_=null}function _v(e){e===_u&&(_u=e.parent_)}function dj(e){return _u=FL(_u,e)}function BL(e){const t=e[Ir];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function fj(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return e!==void 0&&e!==r?(r[Ir].modified_&&(Ov(t),cn(4)),lo(e)&&(e=Nf(t,e),t.parent_||Ef(t,e)),t.patches_&&uo("Patches").generateReplacementPatches_(r[Ir].base_,e,t.patches_,t.inversePatches_)):e=Nf(t,r,[]),Ov(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==wP?e:void 0}function Nf(e,t,r){if(Oh(t))return t;const n=e.immer_.shouldUseStrictIteration(),a=t[Ir];if(!a)return Sf(t,(o,u)=>hj(e,a,t,o,u,r),n),t;if(a.scope_!==e)return t;if(!a.modified_)return Ef(e,a.base_,!0),a.base_;if(!a.finalized_){a.finalized_=!0,a.scope_.unfinalizedDrafts_--;const o=a.copy_;let u=o,l=!1;a.type_===3&&(u=new Set(o),o.clear(),l=!0),Sf(u,(f,h)=>hj(e,a,o,f,h,r,l),n),Ef(e,o,!1),r&&e.patches_&&uo("Patches").generatePatches_(a,r,e.patches_,e.inversePatches_)}return a.copy_}function hj(e,t,r,n,a,o,u){if(a==null||typeof a!="object"&&!u)return;const l=Oh(a);if(!(l&&!u)){if(Is(a)){const f=o&&t&&t.type_!==3&&!Cv(t.assigned_,n)?o.concat(n):void 0,h=Nf(e,a,f);if(kP(r,n,h),Is(h))e.canAutoFreeze_=!1;else return}else u&&r.add(a);if(lo(a)&&!l){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||t&&t.base_&&t.base_[n]===a&&l)return;Nf(e,a),(!t||!t.scope_.parent_)&&typeof n!="symbol"&&(Ju(r)?r.has(n):Object.prototype.propertyIsEnumerable.call(r,n))&&Ef(e,a)}}}function Ef(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ry(t,r)}function UL(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:SP(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let a=n,o=$y;r&&(a=[n],o=Mu);const{revoke:u,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=u,l}var $y={get(e,t){if(t===Ir)return e;const r=$a(e);if(!Cv(r,t))return WL(e,r,t);const n=r[t];return e.finalized_||!lo(n)?n:n===og(e.base_,t)?(sg(e),e.copy_[t]=Iv(n,e)):n},has(e,t){return t in $a(e)},ownKeys(e){return Reflect.ownKeys($a(e))},set(e,t,r){const n=NP($a(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=og($a(e),t),o=a==null?void 0:a[Ir];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if($L(r,a)&&(r!==void 0||Cv(e.base_,t)))return!0;sg(e),Mv(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty(e,t){return og(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,sg(e),Mv(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=$a(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty(){cn(11)},getPrototypeOf(e){return Ou(e.base_)},setPrototypeOf(){cn(12)}},Mu={};Sf($y,(e,t)=>{Mu[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Mu.deleteProperty=function(e,t){return Mu.set.call(this,e,t,void 0)};Mu.set=function(e,t,r){return $y.set.call(this,e[0],t,r,e[0])};function og(e,t){const r=e[Ir];return(r?$a(r):e)[t]}function WL(e,t,r){var a;const n=NP(t,r);return n?"value"in n?n.value:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ou(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ou(r)}}function Mv(e){e.modified_||(e.modified_=!0,e.parent_&&Mv(e.parent_))}function sg(e){e.copy_||(e.copy_=Av(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var HL=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(t,r,n)=>{if(typeof t=="function"&&typeof r!="function"){const o=r;r=t;const u=this;return function(f=o,...h){return u.produce(f,p=>r.call(this,p,...h))}}typeof r!="function"&&cn(6),n!==void 0&&typeof n!="function"&&cn(7);let a;if(lo(t)){const o=dj(this),u=Iv(t,void 0);let l=!0;try{a=r(u),l=!1}finally{l?Ov(o):_v(o)}return cj(o,n),fj(a,o)}else if(!t||typeof t!="object"){if(a=r(t),a===void 0&&(a=t),a===wP&&(a=void 0),this.autoFreeze_&&Ry(a,!0),n){const o=[],u=[];uo("Patches").generateReplacementPatches_(t,a,o,u),n(o,u)}return a}else cn(1,t)},this.produceWithPatches=(t,r)=>{if(typeof t=="function")return(u,...l)=>this.produceWithPatches(u,f=>t(f,...l));let n,a;return[this.produce(t,r,(u,l)=>{n=u,a=l}),n,a]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),typeof(e==null?void 0:e.useStrictIteration)=="boolean"&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){lo(e)||cn(8),Is(e)&&(e=KL(e));const t=dj(this),r=Iv(e,void 0);return r[Ir].isManual_=!0,_v(t),r}finishDraft(e,t){const r=e&&e[Ir];(!r||!r.isManual_)&&cn(9);const{scope_:n}=r;return cj(n,t),fj(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));const n=uo("Patches").applyPatches_;return Is(e)?n(e,t):this.produce(e,a=>n(a,t))}};function Iv(e,t){const r=Ju(e)?uo("MapSet").proxyMap_(e,t):Ah(e)?uo("MapSet").proxySet_(e,t):UL(e,t);return(t?t.scope_:SP()).drafts_.push(r),r}function KL(e){return Is(e)||cn(10,e),EP(e)}function EP(e){if(!lo(e)||Oh(e))return e;const t=e[Ir];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Av(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Av(e,!0);return Sf(r,(a,o)=>{kP(r,a,EP(o))},n),t&&(t.finalized_=!1),r}var GL=new HL;GL.produce;var VL={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},PP=rr({name:"legend",initialState:VL,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:at()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).payload.indexOf(n);o>-1&&(e.payload[o]=a)},prepare:at()},removeLegendPayload:{reducer(e,t){var r=Kr(e).payload.indexOf(t.payload);r>-1&&e.payload.splice(r,1)},prepare:at()}}}),ec=PP.actions;ec.setLegendSize;ec.setLegendSettings;var qL=ec.addLegendPayload,QL=ec.replaceLegendPayload,YL=ec.removeLegendPayload,XL=PP.reducer,lg={exports:{}},ug={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -416,12 +411,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var pj;function JL(){if(pj)return ug;pj=1;var e=Fs();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,a=e.useRef,o=e.useEffect,u=e.useMemo,l=e.useDebugValue;return ug.useSyncExternalStoreWithSelector=function(f,h,p,g,x){var b=a(null);if(b.current===null){var j={hasValue:!1,value:null};b.current=j}else j=b.current;b=u(function(){function S(_){if(!N){if(N=!0,P=_,_=g(_),x!==void 0&&j.hasValue){var A=j.value;if(x(A,_))return O=A}return O=_}if(A=O,r(P,_))return A;var I=g(_);return x!==void 0&&x(A,I)?(P=_,A):(P=_,O=I)}var N=!1,P,O,C=p===void 0?null:p;return[function(){return S(h())},C===null?void 0:function(){return S(C())}]},[h,p,g,x]);var k=n(f,b[0],b[1]);return o(function(){j.hasValue=!0,j.value=k},[k]),l(k),k},ug}var mj;function ez(){return mj||(mj=1,lg.exports=JL()),lg.exports}ez();function tz(e){e()}function rz(){let e=null,t=null;return{clear(){e=null,t=null},notify(){tz(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!n||e===null||(n=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var gj={notify(){},get:()=>[]};function nz(e,t){let r,n=gj,a=0,o=!1;function u(k){p();const S=n.subscribe(k);let N=!1;return()=>{N||(N=!0,S(),g())}}function l(){n.notify()}function f(){j.onStateChange&&j.onStateChange()}function h(){return o}function p(){a++,r||(r=e.subscribe(f),n=rz())}function g(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=gj)}function x(){o||(o=!0,p())}function b(){o&&(o=!1,g())}const j={addNestedSub:u,notifyNestedSubs:l,handleChangeWrapper:f,isSubscribed:h,trySubscribe:x,tryUnsubscribe:b,getListeners:()=>n};return j}var iz=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",az=iz(),oz=()=>typeof navigator<"u"&&navigator.product==="ReactNative",sz=oz(),lz=()=>az||sz?v.useLayoutEffect:v.useEffect,uz=lz();function vj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function cz(e,t){if(vj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let a=0;a{const f=nz(a);return{store:a,subscription:f,getServerState:n?()=>n:void 0}},[a,n]),u=v.useMemo(()=>a.getState(),[a]);uz(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),u!==a.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,u]);const l=r||fz;return v.createElement(l.Provider,{value:o},t)}var pz=hz,mz=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function gz(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function _h(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(mz.has(n)){if(e[n]==null&&t[n]==null)continue;if(!cz(e[n],t[n]))return!1}else if(!gz(e[n],t[n]))return!1;return!0}function Tv(){return Tv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?Yo.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,u=o===void 0?Yo.labelStyle:o,l=e.payload,f=e.formatter,h=e.itemSorter,p=e.wrapperClassName,g=e.labelClassName,x=e.label,b=e.labelFormatter,j=e.accessibilityLayer,k=j===void 0?Yo.accessibilityLayer:j,S=()=>{if(l&&l.length){var U={padding:0,margin:0},B=Ez(l,h),K=B.map((X,$)=>{if(!X||X.type==="none")return null;var ue=X.formatter||f||Nz,J=X.value,ge=X.name,we=J,pe=ge;if(ue){var Y=ue(J,ge,X,$,l);if(Array.isArray(Y)){var V=bz(Y,2);we=V[0],pe=V[1]}else if(Y!=null)we=Y;else return null}var Q=Yl(Yl({},Yo.itemStyle),{},{color:X.color||Yo.itemStyle.color},a);return v.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat($),style:Q},Dn(pe)?v.createElement("span",{className:"recharts-tooltip-item-name"},pe):null,Dn(pe)?v.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,v.createElement("span",{className:"recharts-tooltip-item-value"},we),v.createElement("span",{className:"recharts-tooltip-item-unit"},X.unit||""))});return v.createElement("ul",{className:"recharts-tooltip-item-list",style:U},K)}return null},N=Yl(Yl({},Yo.contentStyle),n),P=Yl({margin:0},u),O=!Kt(x),C=O?x:"",_=et("recharts-default-tooltip",p),A=et("recharts-tooltip-label",g);O&&b&&l!==void 0&&l!==null&&(C=b(x,l));var I=k?{role:"status","aria-live":"assertive"}:{};return v.createElement("div",Tv({className:_,style:N},I),v.createElement("p",{className:A,style:P},v.isValidElement(C)?C:"".concat(C)),S())},Xl="recharts-tooltip-wrapper",Cz={visibility:"hidden"};function Az(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return et(Xl,{["".concat(Xl,"-right")]:Ne(r)&&t&&Ne(t.x)&&r>=t.x,["".concat(Xl,"-left")]:Ne(r)&&t&&Ne(t.x)&&r=t.y,["".concat(Xl,"-top")]:Ne(n)&&t&&Ne(t.y)&&n0?a:0),g=r[n]+a;if(t[n])return u[n]?p:g;var x=f[n];if(x==null)return 0;if(u[n]){var b=p,j=x;return bS?Math.max(p,x):Math.max(g,x)}function Oz(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function _z(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,u=e.reverseDirection,l=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,p,g,x;return l.height>0&&l.width>0&&r?(g=bj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:u,tooltipDimension:l.width,viewBox:h,viewBoxDimension:h.width}),x=bj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:u,tooltipDimension:l.height,viewBox:h,viewBoxDimension:h.height}),p=Oz({translateX:g,translateY:x,useTranslate3d:f})):p=Cz,{cssProperties:p,cssClasses:Az({translateX:g,translateY:x,coordinate:r})}}var Mz=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),tc={isSsr:Mz()};function Iz(e,t){return $z(e)||Rz(e,t)||Dz(e,t)||Tz()}function Tz(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dz(e,t){if(e){if(typeof e=="string")return wj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wj(e,t):void 0}}function wj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rtc.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=Iz(e,2),r=t[0],n=t[1];return v.useEffect(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(a.matches)};return a.addEventListener("change",o),()=>{a.removeEventListener("change",o)}}},[]),r}function jj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Xo(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=Bz(f,2),p=h[0],g=h[1];v.useEffect(()=>{var N=P=>{if(P.key==="Escape"){var O,C,_,A;g({dismissed:!0,dismissedAtCoordinate:{x:(O=(C=e.coordinate)===null||C===void 0?void 0:C.x)!==null&&O!==void 0?O:0,y:(_=(A=e.coordinate)===null||A===void 0?void 0:A.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),p.dismissed&&(((n=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==p.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==p.dismissedAtCoordinate.y)&&g(Xo(Xo({},p),{},{dismissed:!1}));var x=_z({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=x.cssClasses,j=x.cssProperties,k=e.hasPortalFromProps?{}:Xo(Xo({transition:Gz({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},j),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),S=Xo(Xo({},k),{},{visibility:!p.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return v.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:S,ref:e.innerRef},e.children)}var qz=v.memo(Vz),AP=()=>{var e;return(e=Ae(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;tBe(e.x)&&Be(e.y),Pj=e=>e.base!=null&&Pf(e.base)&&Pf(e),Zl=e=>e.x,Jl=e=>e.y,Zz=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(ky(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=Ej["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return Ej[r]||ch},Cj={connectNulls:!1,type:"linear"},Jz=e=>{var t=e.type,r=t===void 0?Cj.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,u=e.layout,l=e.connectNulls,f=l===void 0?Cj.connectNulls:l,h=Zz(r,u),p=f?a.filter(Pf):a;if(Array.isArray(o)){var g,x=a.map((N,P)=>Nj(Nj({},N),{},{base:o[P]}));u==="vertical"?g=_d().y(Jl).x1(Zl).x0(N=>N.base.x):g=_d().x(Zl).y1(Jl).y0(N=>N.base.y);var b=g.defined(Pj).curve(h),j=f?x.filter(Pj):x;return b(j)}var k;u==="vertical"&&Ne(o)?k=_d().y(Jl).x1(Zl).x0(o):Ne(o)?k=_d().x(Zl).y1(Jl).y0(o):k=iE().x(Zl).y(Jl);var S=k.defined(Pf).curve(h);return S(p)},tf=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Ws();if((!r||!r.length)&&!n)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?Jz(u):n;return v.createElement("path",Dv({},fn(e),Sy(e),{className:et("recharts-curve",t),d:l===null?void 0:l,ref:a}))},e6=["x","y","top","left","width","height","className"];function Rv(){return Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),l6=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,u=o===void 0?0:o,l=e.left,f=l===void 0?0:l,h=e.width,p=h===void 0?0:h,g=e.height,x=g===void 0?0:g,b=e.className,j=a6(e,e6),k=t6({x:r,y:a,top:u,left:f,width:p,height:x},j);return!Ne(r)||!Ne(a)||!Ne(p)||!Ne(x)||!Ne(u)||!Ne(f)?null:v.createElement("path",Rv({},Vr(k),{className:et("recharts-cross",b),d:s6(r,a,p,x,u,f)}))};function u6(e,t,r,n){var a=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-a,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Cf=1e-4,OP=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],_P=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Oj=(e,t)=>r=>{var n=OP(e,t);return _P(n,r)},c6=(e,t)=>r=>{var n=OP(e,t),a=[...n.map((o,u)=>o*u).slice(1),0];return _P(a,r)},d6=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var a=n.map(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},f6=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=Oj(e,r),o=Oj(t,n),u=c6(e,r),l=h=>h>1?1:h<0?0:h,f=h=>{for(var p=h>1?1:h,g=p,x=0;x<8;++x){var b=a(g)-p,j=u(g);if(Math.abs(b-p)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,o=a===void 0?8:a,u=t.dt,l=u===void 0?16.67:u,f=1,h=[0],p=0,g=0,x=1e4,b=0;b{var P,O,C;if(N<=0)return 0;if(N>=1)return f;var _=N*S,A=Math.floor(_),I=_-A;return((P=h[A])!==null&&P!==void 0?P:0)+(((O=h[A+1])!==null&&O!==void 0?O:0)-((C=h[A])!==null&&C!==void 0?C:0))*I}},m6=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return _j(e);case"spring":return p6();default:if(e.split("(")[0]==="cubic-bezier")return _j(e)}return typeof e=="function"?e:null},g6=(e,t,r)=>{var n,a=o=>{var u=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,u);return}n=e.setTimeout(a,u)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},MP=v.createContext(g6);MP.Provider;function v6(e){var t=v.useContext(MP);return v.useMemo(()=>e??t,[e,t])}function y6(e,t,r){return(t=x6(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x6(e){var t=b6(e,"string");return typeof t=="symbol"?t:t+""}function b6(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Mj="init",Ij="pending",Tj="active",w6="completed";function fg(e){return Math.max(0,e)}class j6{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;y6(this,"state",Mj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=fg(t.animationDuration),this.animationBegin=fg(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Mj)return this.state=Ij,this.beginStartedTime=t,this.animationBegin;if(this.getState()===Ij){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=Tj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):fg(this.animationBegin-r)}if(this.getState()===Tj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=w6}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class k6 extends j6{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(ni(this.getFrom(),this.getTo(),this.getProgress()))}}class S6{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=u=>{u-n>=r?t(u):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}}function N6(e,t){return A6(e)||C6(e,t)||P6(e,t)||E6()}function E6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P6(e,t){if(e){if(typeof e=="string")return Dj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dj(e,t):void 0}}function Dj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Rj=0,hg=1;function IP(e){var t=Yr(e,O6),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,u=t.easing,l=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,p=t.children,g=CP(),x=n==="auto"?!tc.isSsr&&!g:n,b=v6(t.animationController),j=v.useState(x?Rj:hg),k=N6(j,2),S=k[0],N=k[1];return v.useEffect(()=>{x||N(hg)},[x]),v.useEffect(()=>{var P=m6(u);if(!x||!a||P==null)return Us;var O=new S6,C=new k6({animationId:r,easing:P,animationDuration:o,animationBegin:l,onAnimationStart:h,onAnimationEnd:f,from:Rj,to:hg});return b(O,C,N)},[b,r,x,a,o,u,l,h,f]),p(Number(S))}function TP(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=v.useRef(Eu(t)),n=v.useRef(e);return n.current!==e&&(r.current=Eu(t),n.current=e),r.current}var _6=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),M6=(e,t,r)=>e.map(n=>"".concat(_6(n)," ").concat(t,"ms ").concat(r)).join(","),I6=["radius"],T6=["radius"],$j,Lj,zj,Fj,Bj,Uj,Wj,Hj,Kj,Gj;function Vj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=aa(r),u=aa(n),l=Math.min(Math.abs(o)/2,Math.abs(u)/2),f=u>=0?1:-1,h=o>=0?1:-1,p=u>=0&&o>=0||u<0&&o<0?1:0,g;if(l>0&&Array.isArray(a)){for(var x=[0,0,0,0],b=0,j=4;bl?l:S}g=Bt($j||($j=jn(["M",",",""])),e,t+f*x[0]),x[0]>0&&(g+=Bt(Lj||(Lj=jn(["A ",",",",0,0,",",",",",""])),x[0],x[0],p,e+h*x[0],t)),g+=Bt(zj||(zj=jn(["L ",",",""])),e+r-h*x[1],t),x[1]>0&&(g+=Bt(Fj||(Fj=jn(["A ",",",",0,0,",`, + */var pj;function ZL(){if(pj)return ug;pj=1;var e=Fs();function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,a=e.useRef,o=e.useEffect,u=e.useMemo,l=e.useDebugValue;return ug.useSyncExternalStoreWithSelector=function(f,h,p,g,x){var b=a(null);if(b.current===null){var j={hasValue:!1,value:null};b.current=j}else j=b.current;b=u(function(){function S(_){if(!N){if(N=!0,P=_,_=g(_),x!==void 0&&j.hasValue){var A=j.value;if(x(A,_))return O=A}return O=_}if(A=O,r(P,_))return A;var I=g(_);return x!==void 0&&x(A,I)?(P=_,A):(P=_,O=I)}var N=!1,P,O,C=p===void 0?null:p;return[function(){return S(h())},C===null?void 0:function(){return S(C())}]},[h,p,g,x]);var k=n(f,b[0],b[1]);return o(function(){j.hasValue=!0,j.value=k},[k]),l(k),k},ug}var mj;function JL(){return mj||(mj=1,lg.exports=ZL()),lg.exports}JL();function ez(e){e()}function tz(){let e=null,t=null;return{clear(){e=null,t=null},notify(){ez(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!n||e===null||(n=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var gj={notify(){},get:()=>[]};function rz(e,t){let r,n=gj,a=0,o=!1;function u(k){p();const S=n.subscribe(k);let N=!1;return()=>{N||(N=!0,S(),g())}}function l(){n.notify()}function f(){j.onStateChange&&j.onStateChange()}function h(){return o}function p(){a++,r||(r=e.subscribe(f),n=tz())}function g(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=gj)}function x(){o||(o=!0,p())}function b(){o&&(o=!1,g())}const j={addNestedSub:u,notifyNestedSubs:l,handleChangeWrapper:f,isSubscribed:h,trySubscribe:x,tryUnsubscribe:b,getListeners:()=>n};return j}var nz=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",iz=nz(),az=()=>typeof navigator<"u"&&navigator.product==="ReactNative",oz=az(),sz=()=>iz||oz?v.useLayoutEffect:v.useEffect,lz=sz();function vj(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function uz(e,t){if(vj(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let a=0;a{const f=rz(a);return{store:a,subscription:f,getServerState:n?()=>n:void 0}},[a,n]),u=v.useMemo(()=>a.getState(),[a]);lz(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),u!==a.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,u]);const l=r||dz;return v.createElement(l.Provider,{value:o},t)}var hz=fz,pz=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function mz(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function _h(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(pz.has(n)){if(e[n]==null&&t[n]==null)continue;if(!uz(e[n],t[n]))return!1}else if(!mz(e[n],t[n]))return!1;return!0}function Tv(){return Tv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?Yo.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,u=o===void 0?Yo.labelStyle:o,l=e.payload,f=e.formatter,h=e.itemSorter,p=e.wrapperClassName,g=e.labelClassName,x=e.label,b=e.labelFormatter,j=e.accessibilityLayer,k=j===void 0?Yo.accessibilityLayer:j,S=()=>{if(l&&l.length){var U={padding:0,margin:0},B=Nz(l,h),K=B.map((X,$)=>{if(!X||X.type==="none")return null;var ue=X.formatter||f||Sz,J=X.value,ge=X.name,we=J,pe=ge;if(ue){var Y=ue(J,ge,X,$,l);if(Array.isArray(Y)){var V=xz(Y,2);we=V[0],pe=V[1]}else if(Y!=null)we=Y;else return null}var Q=Yl(Yl({},Yo.itemStyle),{},{color:X.color||Yo.itemStyle.color},a);return v.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat($),style:Q},Dn(pe)?v.createElement("span",{className:"recharts-tooltip-item-name"},pe):null,Dn(pe)?v.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,v.createElement("span",{className:"recharts-tooltip-item-value"},we),v.createElement("span",{className:"recharts-tooltip-item-unit"},X.unit||""))});return v.createElement("ul",{className:"recharts-tooltip-item-list",style:U},K)}return null},N=Yl(Yl({},Yo.contentStyle),n),P=Yl({margin:0},u),O=!Kt(x),C=O?x:"",_=et("recharts-default-tooltip",p),A=et("recharts-tooltip-label",g);O&&b&&l!==void 0&&l!==null&&(C=b(x,l));var I=k?{role:"status","aria-live":"assertive"}:{};return v.createElement("div",Tv({className:_,style:N},I),v.createElement("p",{className:A,style:P},v.isValidElement(C)?C:"".concat(C)),S())},Xl="recharts-tooltip-wrapper",Pz={visibility:"hidden"};function Cz(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return et(Xl,{["".concat(Xl,"-right")]:Ne(r)&&t&&Ne(t.x)&&r>=t.x,["".concat(Xl,"-left")]:Ne(r)&&t&&Ne(t.x)&&r=t.y,["".concat(Xl,"-top")]:Ne(n)&&t&&Ne(t.y)&&n0?a:0),g=r[n]+a;if(t[n])return u[n]?p:g;var x=f[n];if(x==null)return 0;if(u[n]){var b=p,j=x;return bS?Math.max(p,x):Math.max(g,x)}function Az(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function Oz(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,u=e.reverseDirection,l=e.tooltipBox,f=e.useTranslate3d,h=e.viewBox,p,g,x;return l.height>0&&l.width>0&&r?(g=bj({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:u,tooltipDimension:l.width,viewBox:h,viewBoxDimension:h.width}),x=bj({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:u,tooltipDimension:l.height,viewBox:h,viewBoxDimension:h.height}),p=Az({translateX:g,translateY:x,useTranslate3d:f})):p=Pz,{cssProperties:p,cssClasses:Cz({translateX:g,translateY:x,coordinate:r})}}var _z=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),tc={isSsr:_z()};function Mz(e,t){return Rz(e)||Dz(e,t)||Tz(e,t)||Iz()}function Iz(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tz(e,t){if(e){if(typeof e=="string")return wj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wj(e,t):void 0}}function wj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rtc.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=Mz(e,2),r=t[0],n=t[1];return v.useEffect(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(a.matches)};return a.addEventListener("change",o),()=>{a.removeEventListener("change",o)}}},[]),r}function jj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Xo(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),h=Fz(f,2),p=h[0],g=h[1];v.useEffect(()=>{var N=P=>{if(P.key==="Escape"){var O,C,_,A;g({dismissed:!0,dismissedAtCoordinate:{x:(O=(C=e.coordinate)===null||C===void 0?void 0:C.x)!==null&&O!==void 0?O:0,y:(_=(A=e.coordinate)===null||A===void 0?void 0:A.y)!==null&&_!==void 0?_:0}})}};return document.addEventListener("keydown",N),()=>{document.removeEventListener("keydown",N)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),p.dismissed&&(((n=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==p.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==p.dismissedAtCoordinate.y)&&g(Xo(Xo({},p),{},{dismissed:!1}));var x=Oz({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),b=x.cssClasses,j=x.cssProperties,k=e.hasPortalFromProps?{}:Xo(Xo({transition:Kz({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},j),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),S=Xo(Xo({},k),{},{visibility:!p.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return v.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:b,style:S,ref:e.innerRef},e.children)}var Vz=v.memo(Gz),AP=()=>{var e;return(e=Ae(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;tBe(e.x)&&Be(e.y),Pj=e=>e.base!=null&&Pf(e.base)&&Pf(e),Zl=e=>e.x,Jl=e=>e.y,Xz=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(ky(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=Ej["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return Ej[r]||ch},Cj={connectNulls:!1,type:"linear"},Zz=e=>{var t=e.type,r=t===void 0?Cj.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,u=e.layout,l=e.connectNulls,f=l===void 0?Cj.connectNulls:l,h=Xz(r,u),p=f?a.filter(Pf):a;if(Array.isArray(o)){var g,x=a.map((N,P)=>Nj(Nj({},N),{},{base:o[P]}));u==="vertical"?g=_d().y(Jl).x1(Zl).x0(N=>N.base.x):g=_d().x(Zl).y1(Jl).y0(N=>N.base.y);var b=g.defined(Pj).curve(h),j=f?x.filter(Pj):x;return b(j)}var k;u==="vertical"&&Ne(o)?k=_d().y(Jl).x1(Zl).x0(o):Ne(o)?k=_d().x(Zl).y1(Jl).y0(o):k=iE().x(Zl).y(Jl);var S=k.defined(Pf).curve(h);return S(p)},tf=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Ws();if((!r||!r.length)&&!n)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?Zz(u):n;return v.createElement("path",Dv({},fn(e),Sy(e),{className:et("recharts-curve",t),d:l===null?void 0:l,ref:a}))},Jz=["x","y","top","left","width","height","className"];function Rv(){return Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),s6=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,u=o===void 0?0:o,l=e.left,f=l===void 0?0:l,h=e.width,p=h===void 0?0:h,g=e.height,x=g===void 0?0:g,b=e.className,j=i6(e,Jz),k=e6({x:r,y:a,top:u,left:f,width:p,height:x},j);return!Ne(r)||!Ne(a)||!Ne(p)||!Ne(x)||!Ne(u)||!Ne(f)?null:v.createElement("path",Rv({},Vr(k),{className:et("recharts-cross",b),d:o6(r,a,p,x,u,f)}))};function l6(e,t,r,n){var a=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-a,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Cf=1e-4,OP=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],_P=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Oj=(e,t)=>r=>{var n=OP(e,t);return _P(n,r)},u6=(e,t)=>r=>{var n=OP(e,t),a=[...n.map((o,u)=>o*u).slice(1),0];return _P(a,r)},c6=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var a=n.map(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},d6=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=Oj(e,r),o=Oj(t,n),u=u6(e,r),l=h=>h>1?1:h<0?0:h,f=h=>{for(var p=h>1?1:h,g=p,x=0;x<8;++x){var b=a(g)-p,j=u(g);if(Math.abs(b-p)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,o=a===void 0?8:a,u=t.dt,l=u===void 0?16.67:u,f=1,h=[0],p=0,g=0,x=1e4,b=0;b{var P,O,C;if(N<=0)return 0;if(N>=1)return f;var _=N*S,A=Math.floor(_),I=_-A;return((P=h[A])!==null&&P!==void 0?P:0)+(((O=h[A+1])!==null&&O!==void 0?O:0)-((C=h[A])!==null&&C!==void 0?C:0))*I}},p6=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return _j(e);case"spring":return h6();default:if(e.split("(")[0]==="cubic-bezier")return _j(e)}return typeof e=="function"?e:null},m6=(e,t,r)=>{var n,a=o=>{var u=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,u);return}n=e.setTimeout(a,u)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}},MP=v.createContext(m6);MP.Provider;function g6(e){var t=v.useContext(MP);return v.useMemo(()=>e??t,[e,t])}function v6(e,t,r){return(t=y6(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y6(e){var t=x6(e,"string");return typeof t=="symbol"?t:t+""}function x6(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Mj="init",Ij="pending",Tj="active",b6="completed";function fg(e){return Math.max(0,e)}class w6{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;v6(this,"state",Mj),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=fg(t.animationDuration),this.animationBegin=fg(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===Mj)return this.state=Ij,this.beginStartedTime=t,this.animationBegin;if(this.getState()===Ij){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=Tj,this.animationStartedTime=t,this.nextAnimationUpdate(0)):fg(this.animationBegin-r)}if(this.getState()===Tj){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=b6}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class j6 extends w6{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(ni(this.getFrom(),this.getTo(),this.getProgress()))}}class k6{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=u=>{u-n>=r?t(u):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}}function S6(e,t){return C6(e)||P6(e,t)||E6(e,t)||N6()}function N6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function E6(e,t){if(e){if(typeof e=="string")return Dj(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dj(e,t):void 0}}function Dj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},Rj=0,hg=1;function IP(e){var t=Yr(e,A6),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,u=t.easing,l=t.begin,f=t.onAnimationEnd,h=t.onAnimationStart,p=t.children,g=CP(),x=n==="auto"?!tc.isSsr&&!g:n,b=g6(t.animationController),j=v.useState(x?Rj:hg),k=S6(j,2),S=k[0],N=k[1];return v.useEffect(()=>{x||N(hg)},[x]),v.useEffect(()=>{var P=p6(u);if(!x||!a||P==null)return Us;var O=new k6,C=new j6({animationId:r,easing:P,animationDuration:o,animationBegin:l,onAnimationStart:h,onAnimationEnd:f,from:Rj,to:hg});return b(O,C,N)},[b,r,x,a,o,u,l,h,f]),p(Number(S))}function TP(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=v.useRef(Eu(t)),n=v.useRef(e);return n.current!==e&&(r.current=Eu(t),n.current=e),r.current}var O6=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),_6=(e,t,r)=>e.map(n=>"".concat(O6(n)," ").concat(t,"ms ").concat(r)).join(","),M6=["radius"],I6=["radius"],$j,Lj,zj,Fj,Bj,Uj,Wj,Hj,Kj,Gj;function Vj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qj(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=aa(r),u=aa(n),l=Math.min(Math.abs(o)/2,Math.abs(u)/2),f=u>=0?1:-1,h=o>=0?1:-1,p=u>=0&&o>=0||u<0&&o<0?1:0,g;if(l>0&&Array.isArray(a)){for(var x=[0,0,0,0],b=0,j=4;bl?l:S}g=Bt($j||($j=jn(["M",",",""])),e,t+f*x[0]),x[0]>0&&(g+=Bt(Lj||(Lj=jn(["A ",",",",0,0,",",",",",""])),x[0],x[0],p,e+h*x[0],t)),g+=Bt(zj||(zj=jn(["L ",",",""])),e+r-h*x[1],t),x[1]>0&&(g+=Bt(Fj||(Fj=jn(["A ",",",",0,0,",`, `,",",""])),x[1],x[1],p,e+r,t+f*x[1])),g+=Bt(Bj||(Bj=jn(["L ",",",""])),e+r,t+n-f*x[2]),x[2]>0&&(g+=Bt(Uj||(Uj=jn(["A ",",",",0,0,",`, `,",",""])),x[2],x[2],p,e+r-h*x[2],t+n)),g+=Bt(Wj||(Wj=jn(["L ",",",""])),e+h*x[3],t+n),x[3]>0&&(g+=Bt(Hj||(Hj=jn(["A ",",",",0,0,",`, `,",",""])),x[3],x[3],p,e,t+n-f*x[3])),g+="Z"}else if(l>0&&a===+a&&a>0){var N=Math.min(l,a);g=Bt(Kj||(Kj=jn(["M ",",",` @@ -431,14 +426,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+f*N,N,N,p,e+h*N,t,e+r-h*N,t,N,N,p,e+r,t+f*N,e+r,t+n-f*N,N,N,p,e+r-h*N,t+n,e+h*N,t+n,N,N,p,e,t+n-f*N)}else g=Bt(Gj||(Gj=jn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return g},Zj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},H6=e=>{var t=Yr(e,Zj),r=v.useRef(null),n=v.useState(-1),a=z6(n,2),o=a[0],u=a[1];v.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Y=r.current.getTotalLength();Y&&u(Y)}catch{}},[]);var l=t.x,f=t.y,h=t.width,p=t.height,g=t.radius,x=t.className,b=t.animationEasing,j=t.animationDuration,k=t.animationBegin,S=t.isAnimationActive,N=t.isUpdateAnimationActive,P=v.useRef(h),O=v.useRef(p),C=v.useRef(l),_=v.useRef(f),A=v.useMemo(()=>({x:l,y:f,width:h,height:p,radius:g}),[l,f,h,p,g]),I=TP(A,"rectangle-");if(l!==+l||f!==+f||h!==+h||p!==+p||h===0||p===0)return null;var U=et("recharts-rectangle",x);if(!N){var B=Vr(t);B.radius;var K=Qj(B,I6);return v.createElement("path",Af({},K,{x:aa(l),y:aa(f),width:aa(h),height:aa(p),radius:typeof g=="number"?g:void 0,className:U,d:Xj(l,f,h,p,g)}))}var X=P.current,$=O.current,ue=C.current,J=_.current,ge="0px ".concat(o===-1?1:o,"px"),we="".concat(o,"px ").concat(o,"px"),pe=M6(["strokeDasharray"],j,typeof b=="string"?b:Zj.animationEasing);return v.createElement(IP,{animationId:I,key:I,canBegin:o>0,duration:j,easing:b,isActive:N,begin:k},Y=>{var V=ni(X,h,Y),Q=ni($,p,Y),D=ni(ue,l,Y),T=ni(J,f,Y);r.current&&(P.current=V,O.current=Q,C.current=D,_.current=T);var ee;S?Y>0?ee={transition:pe,strokeDasharray:we}:ee={strokeDasharray:ge}:ee={strokeDasharray:we};var ie=Vr(t);ie.radius;var re=Qj(ie,T6);return v.createElement("path",Af({},re,{radius:typeof g=="number"?g:void 0,className:U,d:Xj(D,T,V,Q,g),ref:r,style:qj(qj({},ee),t.style)}))})};function Jj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ek(e){for(var t=1;te*180/Math.PI,Ht=(e,t,r,n)=>({x:e+Math.cos(-Of*n)*r,y:t+Math.sin(-Of*n)*r}),Q6=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},Y6=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},X6=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,u=Y6({x:r,y:n},{x:a,y:o});if(u<=0)return{radius:u,angle:0};var l=(r-a)/u,f=Math.acos(l);return n>o&&(f=2*Math.PI-f),{radius:u,angle:q6(f),angleInRadian:f}},Z6=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},J6=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),u=Math.min(a,o);return e+u*360},eF=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=X6({x:r,y:n},t),o=a.radius,u=a.angle,l=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=Z6(t),p=h.startAngle,g=h.endAngle,x=u,b;if(p<=g){for(;x>g;)x-=360;for(;x=p&&x<=g}else{for(;x>p;)x-=360;for(;x=g&&x<=p}return b?ek(ek({},t),{},{radius:o,angle:J6(x,t)}):null};function DP(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,u=Ht(t,r,n,a),l=Ht(t,r,n,o);return{points:[u,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var tk,rk,nk,ik,ak,ok,sk;function $v(){return $v=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Hr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},zd=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,u=e.isExternal,l=e.cornerRadius,f=e.cornerIsExternal,h=l*(u?1:-1)+n,p=Math.asin(l/h)/Of,g=f?a:a+o*p,x=Ht(t,r,h,g),b=Ht(t,r,n,g),j=f?a-o*p:a,k=Ht(t,r,h*Math.cos(p*Of),j);return{center:x,circleTangency:b,lineTangency:k,theta:p}},RP=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,u=e.endAngle,l=tF(o,u),f=o+l,h=Ht(t,r,a,o),p=Ht(t,r,a,f),g=Bt(tk||(tk=Ba(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+f*N,N,N,p,e+h*N,t,e+r-h*N,t,N,N,p,e+r,t+f*N,e+r,t+n-f*N,N,N,p,e+r-h*N,t+n,e+h*N,t+n,N,N,p,e,t+n-f*N)}else g=Bt(Gj||(Gj=jn(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return g},Zj={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},W6=e=>{var t=Yr(e,Zj),r=v.useRef(null),n=v.useState(-1),a=L6(n,2),o=a[0],u=a[1];v.useEffect(()=>{if(r.current&&r.current.getTotalLength)try{var Y=r.current.getTotalLength();Y&&u(Y)}catch{}},[]);var l=t.x,f=t.y,h=t.width,p=t.height,g=t.radius,x=t.className,b=t.animationEasing,j=t.animationDuration,k=t.animationBegin,S=t.isAnimationActive,N=t.isUpdateAnimationActive,P=v.useRef(h),O=v.useRef(p),C=v.useRef(l),_=v.useRef(f),A=v.useMemo(()=>({x:l,y:f,width:h,height:p,radius:g}),[l,f,h,p,g]),I=TP(A,"rectangle-");if(l!==+l||f!==+f||h!==+h||p!==+p||h===0||p===0)return null;var U=et("recharts-rectangle",x);if(!N){var B=Vr(t);B.radius;var K=Qj(B,M6);return v.createElement("path",Af({},K,{x:aa(l),y:aa(f),width:aa(h),height:aa(p),radius:typeof g=="number"?g:void 0,className:U,d:Xj(l,f,h,p,g)}))}var X=P.current,$=O.current,ue=C.current,J=_.current,ge="0px ".concat(o===-1?1:o,"px"),we="".concat(o,"px ").concat(o,"px"),pe=_6(["strokeDasharray"],j,typeof b=="string"?b:Zj.animationEasing);return v.createElement(IP,{animationId:I,key:I,canBegin:o>0,duration:j,easing:b,isActive:N,begin:k},Y=>{var V=ni(X,h,Y),Q=ni($,p,Y),D=ni(ue,l,Y),T=ni(J,f,Y);r.current&&(P.current=V,O.current=Q,C.current=D,_.current=T);var ee;S?Y>0?ee={transition:pe,strokeDasharray:we}:ee={strokeDasharray:ge}:ee={strokeDasharray:we};var ie=Vr(t);ie.radius;var re=Qj(ie,I6);return v.createElement("path",Af({},re,{radius:typeof g=="number"?g:void 0,className:U,d:Xj(D,T,V,Q,g),ref:r,style:qj(qj({},ee),t.style)}))})};function Jj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ek(e){for(var t=1;te*180/Math.PI,Ht=(e,t,r,n)=>({x:e+Math.cos(-Of*n)*r,y:t+Math.sin(-Of*n)*r}),q6=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},Q6=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},Y6=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,u=Q6({x:r,y:n},{x:a,y:o});if(u<=0)return{radius:u,angle:0};var l=(r-a)/u,f=Math.acos(l);return n>o&&(f=2*Math.PI-f),{radius:u,angle:V6(f),angleInRadian:f}},X6=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},Z6=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),u=Math.min(a,o);return e+u*360},J6=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=Y6({x:r,y:n},t),o=a.radius,u=a.angle,l=t.innerRadius,f=t.outerRadius;if(of||o===0)return null;var h=X6(t),p=h.startAngle,g=h.endAngle,x=u,b;if(p<=g){for(;x>g;)x-=360;for(;x=p&&x<=g}else{for(;x>p;)x-=360;for(;x=g&&x<=p}return b?ek(ek({},t),{},{radius:o,angle:Z6(x,t)}):null};function DP(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,u=Ht(t,r,n,a),l=Ht(t,r,n,o);return{points:[u,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var tk,rk,nk,ik,ak,ok,sk;function $v(){return $v=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Hr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},zd=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,u=e.isExternal,l=e.cornerRadius,f=e.cornerIsExternal,h=l*(u?1:-1)+n,p=Math.asin(l/h)/Of,g=f?a:a+o*p,x=Ht(t,r,h,g),b=Ht(t,r,n,g),j=f?a-o*p:a,k=Ht(t,r,h*Math.cos(p*Of),j);return{center:x,circleTangency:b,lineTangency:k,theta:p}},RP=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,u=e.endAngle,l=eF(o,u),f=o+l,h=Ht(t,r,a,o),p=Ht(t,r,a,f),g=Bt(tk||(tk=Ba(["M ",",",` A `,",",`,0, `,",",`, `,",",` `])),h.x,h.y,a,a,+(Math.abs(l)>180),+(o>f),p.x,p.y);if(n>0){var x=Ht(t,r,n,o),b=Ht(t,r,n,f);g+=Bt(rk||(rk=Ba(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),b.x,b.y,n,n,+(Math.abs(l)>180),+(o<=f),x.x,x.y)}else g+=Bt(nk||(nk=Ba(["L ",","," Z"])),t,r);return g},rF=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,l=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,p=Hr(h-f),g=zd({cx:t,cy:r,radius:a,angle:f,sign:p,cornerRadius:o,cornerIsExternal:l}),x=g.circleTangency,b=g.lineTangency,j=g.theta,k=zd({cx:t,cy:r,radius:a,angle:h,sign:-p,cornerRadius:o,cornerIsExternal:l}),S=k.circleTangency,N=k.lineTangency,P=k.theta,O=l?Math.abs(f-h):Math.abs(f-h)-j-P;if(O<0)return u?Bt(ik||(ik=Ba(["M ",",",` + `,","," Z"])),b.x,b.y,n,n,+(Math.abs(l)>180),+(o<=f),x.x,x.y)}else g+=Bt(nk||(nk=Ba(["L ",","," Z"])),t,r);return g},tF=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,l=e.cornerIsExternal,f=e.startAngle,h=e.endAngle,p=Hr(h-f),g=zd({cx:t,cy:r,radius:a,angle:f,sign:p,cornerRadius:o,cornerIsExternal:l}),x=g.circleTangency,b=g.lineTangency,j=g.theta,k=zd({cx:t,cy:r,radius:a,angle:h,sign:-p,cornerRadius:o,cornerIsExternal:l}),S=k.circleTangency,N=k.lineTangency,P=k.theta,O=l?Math.abs(f-h):Math.abs(f-h)-j-P;if(O<0)return u?Bt(ik||(ik=Ba(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 `])),b.x,b.y,o,o,o*2,o,o,-o*2):RP({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:f,endAngle:h});var C=Bt(ak||(ak=Ba(["M ",",",` @@ -448,22 +443,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `])),b.x,b.y,o,o,+(p<0),x.x,x.y,a,a,+(O>180),+(p<0),S.x,S.y,o,o,+(p<0),N.x,N.y);if(n>0){var _=zd({cx:t,cy:r,radius:n,angle:f,sign:p,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),A=_.circleTangency,I=_.lineTangency,U=_.theta,B=zd({cx:t,cy:r,radius:n,angle:h,sign:-p,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),K=B.circleTangency,X=B.lineTangency,$=B.theta,ue=l?Math.abs(f-h):Math.abs(f-h)-U-$;if(ue<0&&o===0)return"".concat(C,"L").concat(t,",").concat(r,"Z");C+=Bt(ok||(ok=Ba(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),X.x,X.y,o,o,+(p<0),K.x,K.y,n,n,+(ue>180),+(p>0),A.x,A.y,o,o,+(p<0),I.x,I.y)}else C+=Bt(sk||(sk=Ba(["L",",","Z"])),t,r);return C},nF={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},iF=e=>{var t=Yr(e,nF),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,u=t.cornerRadius,l=t.forceCornerRadius,f=t.cornerIsExternal,h=t.startAngle,p=t.endAngle,g=t.className;if(o0&&Math.abs(h-p)<360?k=rF({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(j,b/2),forceCornerRadius:l,cornerIsExternal:f,startAngle:h,endAngle:p}):k=RP({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:h,endAngle:p}),v.createElement("path",$v({},Vr(t),{className:x,d:k}))};function aF(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(vE(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,u=t.outerRadius,l=t.angle,f=Ht(n,a,o,l),h=Ht(n,a,u,l);return[{x:f.x,y:f.y},{x:h.x,y:h.y}]}return DP(t)}}function oF(e){return _E(e)?NaN:Number(e)}function pg(e){return e?(e=oF(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function $P(e,t,r){r&&typeof r!="number"&&vv(e,t,r)&&(t=r=void 0),e=pg(e),t===void 0?(t=e,e=0):t=pg(t),r=r===void 0?ee.chartData,Ly=G([mn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Mh=(e,t,r,n)=>n?Ly(e):mn(e),sF=(e,t,r)=>r?Ly(e):mn(e),lF=G([Mh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});G([Ly],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var uF=G([mn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zy(e,t){return hF(e)||fF(e,t)||dF(e,t)||cF()}function cF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dF(e,t){if(e){if(typeof e=="string")return lk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lk(e,t):void 0}}function lk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,a=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===a?0:n>a^o.s<0?1:-1};be.decimalPlaces=be.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*ot;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};be.dividedBy=be.div=function(e){return li(this,new this.constructor(e))};be.dividedToIntegerBy=be.idiv=function(e){var t=this,r=t.constructor;return Ye(li(t,new r(e),0,1),r.precision)};be.equals=be.eq=function(e){return!this.cmp(e)};be.exponent=function(){return bt(this)};be.greaterThan=be.gt=function(e){return this.cmp(e)>0};be.greaterThanOrEqualTo=be.gte=function(e){return this.cmp(e)>=0};be.isInteger=be.isint=function(){return this.e>this.d.length-2};be.isNegative=be.isneg=function(){return this.s<0};be.isPositive=be.ispos=function(){return this.s>0};be.isZero=function(){return this.s===0};be.lessThan=be.lt=function(e){return this.cmp(e)<0};be.lessThanOrEqualTo=be.lte=function(e){return this.cmp(e)<1};be.logarithm=be.log=function(e){var t,r=this,n=r.constructor,a=n.precision,o=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Ar))throw Error(Qr+"NaN");if(r.s<1)throw Error(Qr+(r.s?"NaN":"-Infinity"));return r.eq(Ar)?new n(0):(lt=!1,t=li(Iu(r,o),Iu(e,o),o),lt=!0,Ye(t,a))};be.minus=be.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?UP(t,e):FP(t,(e.s=-e.s,e))};be.modulo=be.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Qr+"NaN");return r.s?(lt=!1,t=li(r,e,0,1).times(e),lt=!0,r.minus(t)):Ye(new n(r),a)};be.naturalExponential=be.exp=function(){return BP(this)};be.naturalLogarithm=be.ln=function(){return Iu(this)};be.negated=be.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};be.plus=be.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?FP(t,e):UP(t,(e.s=-e.s,e))};be.precision=be.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(to+e);if(t=bt(a)+1,n=a.d.length-1,r=n*ot+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};be.squareRoot=be.sqrt=function(){var e,t,r,n,a,o,u,l=this,f=l.constructor;if(l.s<1){if(!l.s)return new f(0);throw Error(Qr+"NaN")}for(e=bt(l),lt=!1,a=Math.sqrt(+l),a==0||a==1/0?(t=On(l.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Ks((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(a.toString()),r=f.precision,a=u=r+3;;)if(o=n,n=o.plus(li(l,o,u+2)).times(.5),On(o.d).slice(0,u)===(t=On(n.d)).slice(0,u)){if(t=t.slice(u-3,u+1),a==u&&t=="4999"){if(Ye(o,r+1,0),o.times(o).eq(l)){n=o;break}}else if(t!="9999")break;u+=4}return lt=!0,Ye(n,r)};be.times=be.mul=function(e){var t,r,n,a,o,u,l,f,h,p=this,g=p.constructor,x=p.d,b=(e=new g(e)).d;if(!p.s||!e.s)return new g(0);for(e.s*=p.s,r=p.e+e.e,f=x.length,h=b.length,f=0;){for(t=0,a=f+n;a>n;)l=o[a]+b[n]*x[a-n-1]+t,o[a--]=l%It|0,t=l/It|0;o[a]=(o[a]+t)%It|0}for(;!o[--u];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,lt?Ye(e,g.precision):e};be.toDecimalPlaces=be.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($n(e,0,Hs),t===void 0?t=n.rounding:$n(t,0,8),Ye(r,e+bt(r)+1,t))};be.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=co(n,!0):($n(e,0,Hs),t===void 0?t=a.rounding:$n(t,0,8),n=Ye(new a(n),e+1,t),r=co(n,!0,e+1)),r};be.toFixed=function(e,t){var r,n,a=this,o=a.constructor;return e===void 0?co(a):($n(e,0,Hs),t===void 0?t=o.rounding:$n(t,0,8),n=Ye(new o(a),e+bt(a)+1,t),r=co(n.abs(),!1,e+bt(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};be.toInteger=be.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),bt(e)+1,t.rounding)};be.toNumber=function(){return+this};be.toPower=be.pow=function(e){var t,r,n,a,o,u,l=this,f=l.constructor,h=12,p=+(e=new f(e));if(!e.s)return new f(Ar);if(l=new f(l),!l.s){if(e.s<1)throw Error(Qr+"Infinity");return l}if(l.eq(Ar))return l;if(n=f.precision,e.eq(Ar))return Ye(l,n);if(t=e.e,r=e.d.length-1,u=t>=r,o=l.s,u){if((r=p<0?-p:p)<=zP){for(a=new f(Ar),t=Math.ceil(n/ot+4),lt=!1;r%2&&(a=a.times(l),dk(a.d,t)),r=Ks(r/2),r!==0;)l=l.times(l),dk(l.d,t);return lt=!0,e.s<0?new f(Ar).div(a):Ye(a,n)}}else if(o<0)throw Error(Qr+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,l.s=1,lt=!1,a=e.times(Iu(l,n+h)),lt=!0,a=BP(a),a.s=o,a};be.toPrecision=function(e,t){var r,n,a=this,o=a.constructor;return e===void 0?(r=bt(a),n=co(a,r<=o.toExpNeg||r>=o.toExpPos)):($n(e,1,Hs),t===void 0?t=o.rounding:$n(t,0,8),a=Ye(new o(a),e,t),r=bt(a),n=co(a,e<=r||r<=o.toExpNeg,e)),n};be.toSignificantDigits=be.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($n(e,1,Hs),t===void 0?t=n.rounding:$n(t,0,8)),Ye(new n(r),e,t)};be.toString=be.valueOf=be.val=be.toJSON=be[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=bt(e),r=e.constructor;return co(e,t<=r.toExpNeg||t>=r.toExpPos)};function FP(e,t){var r,n,a,o,u,l,f,h,p=e.constructor,g=p.precision;if(!e.s||!t.s)return t.s||(t=new p(e)),lt?Ye(t,g):t;if(f=e.d,h=t.d,u=e.e,a=t.e,f=f.slice(),o=u-a,o){for(o<0?(n=f,o=-o,l=h.length):(n=h,a=u,l=f.length),u=Math.ceil(g/ot),l=u>l?u+1:l+1,o>l&&(o=l,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(l=f.length,o=h.length,l-o<0&&(o=l,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/It|0,f[o]%=It;for(r&&(f.unshift(r),++a),l=f.length;f[--l]==0;)f.pop();return t.d=f,t.e=a,lt?Ye(t,g):t}function $n(e,t,r){if(e!==~~e||er)throw Error(to+e)}function On(e){var t,r,n,a=e.length-1,o="",u=e[0];if(a>0){for(o+=u,t=1;tu?1:-1;else for(l=f=0;la[l]?1:-1;break}return f}function r(n,a,o){for(var u=0;o--;)n[o]-=u,u=n[o]1;)n.shift()}return function(n,a,o,u){var l,f,h,p,g,x,b,j,k,S,N,P,O,C,_,A,I,U,B=n.constructor,K=n.s==a.s?1:-1,X=n.d,$=a.d;if(!n.s)return new B(n);if(!a.s)throw Error(Qr+"Division by zero");for(f=n.e-a.e,I=$.length,_=X.length,b=new B(K),j=b.d=[],h=0;$[h]==(X[h]||0);)++h;if($[h]>(X[h]||0)&&--f,o==null?P=o=B.precision:u?P=o+(bt(n)-bt(a))+1:P=o,P<0)return new B(0);if(P=P/ot+2|0,h=0,I==1)for(p=0,$=$[0],P++;(h<_||p)&&P--;h++)O=p*It+(X[h]||0),j[h]=O/$|0,p=O%$|0;else{for(p=It/($[0]+1)|0,p>1&&($=e($,p),X=e(X,p),I=$.length,_=X.length),C=I,k=X.slice(0,I),S=k.length;S=It/2&&++A;do p=0,l=t($,k,I,S),l<0?(N=k[0],I!=S&&(N=N*It+(k[1]||0)),p=N/A|0,p>1?(p>=It&&(p=It-1),g=e($,p),x=g.length,S=k.length,l=t(g,k,x,S),l==1&&(p--,r(g,I16)throw Error(Fy+bt(e));if(!e.s)return new p(Ar);for(lt=!1,l=g,u=new p(.03125);e.abs().gte(.1);)e=e.times(u),h+=5;for(n=Math.log(La(2,h))/Math.LN10*2+5|0,l+=n,r=a=o=new p(Ar),p.precision=l;;){if(a=Ye(a.times(e),l),r=r.times(++f),u=o.plus(li(a,r,l)),On(u.d).slice(0,l)===On(o.d).slice(0,l)){for(;h--;)o=Ye(o.times(o),l);return p.precision=g,t==null?(lt=!0,Ye(o,g)):o}o=u}}function bt(e){for(var t=e.e*ot,r=e.d[0];r>=10;r/=10)t++;return t}function mg(e,t,r){if(t>e.LN10.sd())throw lt=!0,r&&(e.precision=r),Error(Qr+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function qi(e){for(var t="";e--;)t+="0";return t}function Iu(e,t){var r,n,a,o,u,l,f,h,p,g=1,x=10,b=e,j=b.d,k=b.constructor,S=k.precision;if(b.s<1)throw Error(Qr+(b.s?"NaN":"-Infinity"));if(b.eq(Ar))return new k(0);if(t==null?(lt=!1,h=S):h=t,b.eq(10))return t==null&&(lt=!0),mg(k,h);if(h+=x,k.precision=h,r=On(j),n=r.charAt(0),o=bt(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=On(b.d),n=r.charAt(0),g++;o=bt(b),n>1?(b=new k("0."+r),o++):b=new k(n+"."+r.slice(1))}else return f=mg(k,h+2,S).times(o+""),b=Iu(new k(n+"."+r.slice(1)),h-x).plus(f),k.precision=S,t==null?(lt=!0,Ye(b,S)):b;for(l=u=b=li(b.minus(Ar),b.plus(Ar),h),p=Ye(b.times(b),h),a=3;;){if(u=Ye(u.times(p),h),f=l.plus(li(u,new k(a),h)),On(f.d).slice(0,h)===On(l.d).slice(0,h))return l=l.times(2),o!==0&&(l=l.plus(mg(k,h+2,S).times(o+""))),l=li(l,new k(g),h),k.precision=S,t==null?(lt=!0,Ye(l,S)):l;l=f,a+=2}}function ck(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=Ks(r/ot),e.d=[],n=(r+1)%ot,r<0&&(n+=ot),n_f||e.e<-_f))throw Error(Fy+r)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,r){var n,a,o,u,l,f,h,p,g=e.d;for(u=1,o=g[0];o>=10;o/=10)u++;if(n=t-u,n<0)n+=ot,a=t,h=g[p=0];else{if(p=Math.ceil((n+1)/ot),o=g.length,p>=o)return e;for(h=o=g[p],u=1;o>=10;o/=10)u++;n%=ot,a=n-ot+u}if(r!==void 0&&(o=La(10,u-a-1),l=h/o%10|0,f=t<0||g[p+1]!==void 0||h%o,f=r<4?(l||f)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||f||r==6&&(n>0?a>0?h/La(10,u-a):0:g[p-1])%10&1||r==(e.s<0?8:7))),t<1||!g[0])return f?(o=bt(e),g.length=1,t=t-o-1,g[0]=La(10,(ot-t%ot)%ot),e.e=Ks(-t/ot)||0):(g.length=1,g[0]=e.e=e.s=0),e;if(n==0?(g.length=p,o=1,p--):(g.length=p+1,o=La(10,ot-n),g[p]=a>0?(h/La(10,u-a)%La(10,a)|0)*o:0),f)for(;;)if(p==0){(g[0]+=o)==It&&(g[0]=1,++e.e);break}else{if(g[p]+=o,g[p]!=It)break;g[p--]=0,o=1}for(n=g.length;g[--n]===0;)g.pop();if(lt&&(e.e>_f||e.e<-_f))throw Error(Fy+bt(e));return e}function UP(e,t){var r,n,a,o,u,l,f,h,p,g,x=e.constructor,b=x.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new x(e),lt?Ye(t,b):t;if(f=e.d,g=t.d,n=t.e,h=e.e,f=f.slice(),u=h-n,u){for(p=u<0,p?(r=f,u=-u,l=g.length):(r=g,n=h,l=f.length),a=Math.max(Math.ceil(b/ot),l)+2,u>a&&(u=a,r.length=1),r.reverse(),a=u;a--;)r.push(0);r.reverse()}else{for(a=f.length,l=g.length,p=a0;--a)f[l++]=0;for(a=g.length;a>u;){if(f[--a]0?o=o.charAt(0)+"."+o.slice(1)+qi(n):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(a<0?"e":"e+")+a):a<0?(o="0."+qi(-a-1)+o,r&&(n=r-u)>0&&(o+=qi(n))):a>=u?(o+=qi(a+1-u),r&&(n=r-a-1)>0&&(o=o+"."+qi(n))):((n=a+1)0&&(a+1===u&&(o+="."),o+=qi(n))),e.s<0?"-"+o:o}function dk(e,t){if(e.length>t)return e.length=t,!0}function WP(e){var t,r,n;function a(o){var u=this;if(!(u instanceof a))return new a(o);if(u.constructor=a,o instanceof a){u.s=o.s,u.e=o.e,u.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(to+o);if(o>0)u.s=1;else if(o<0)o=-o,u.s=-1;else{u.s=0,u.e=0,u.d=[0];return}if(o===~~o&&o<1e7){u.e=0,u.d=[o];return}return ck(u,o.toString())}else if(typeof o!="string")throw Error(to+o);if(o.charCodeAt(0)===45?(o=o.slice(1),u.s=-1):u.s=1,gF.test(o))ck(u,o);else throw Error(to+o)}if(a.prototype=be,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=WP,a.config=a.set=vF,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(to+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(to+r+": "+n);return this}var By=WP(mF);Ar=new By(1);const We=By;function HP(e){var t;return e===0?t=1:t=Math.floor(new We(e).abs().log(10).toNumber())+1,t}function KP(e,t,r){for(var n=new We(e),a=0,o=[];n.lt(t)&&a<1e5;)o.push(n.toNumber()),n=n.add(r),a++;return o}function Tu(e,t){return wF(e)||bF(e,t)||xF(e,t)||yF()}function yF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xF(e,t){if(e){if(typeof e=="string")return fk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fk(e,t):void 0}}function fk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Tu(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Uy=(e,t,r)=>{if(e.lte(0))return new We(0);var n=HP(e.toNumber()),a=new We(10).pow(n),o=e.div(a),u=n!==1?.05:.1,l=new We(Math.ceil(o.div(u).toNumber())).add(r).mul(u),f=l.mul(a);return t?new We(f.toNumber()):new We(Math.ceil(f.toNumber()))},VP=(e,t,r)=>{var n;if(e.lte(0))return new We(0);var a=[1,2,2.5,5],o=e.toNumber(),u=Math.floor(new We(o).abs().log(10).toNumber()),l=new We(10).pow(u),f=e.div(l).toNumber(),h=a.findIndex(b=>b>=f-1e-10);if(h===-1&&(l=l.mul(10),h=0),h+=r,h>=a.length){var p=Math.floor(h/a.length);h%=a.length,l=l.mul(new We(10).pow(p))}var g=(n=a[h])!==null&&n!==void 0?n:1,x=new We(g).mul(l);return t?x:new We(Math.ceil(x.toNumber()))},jF=(e,t,r)=>{var n=new We(1),a=new We(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new We(10).pow(HP(e)-1),a=new We(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new We(Math.floor(e)))}else e===0?a=new We(Math.floor((t-1)/2)):r||(a=new We(Math.floor(e)));for(var u=Math.floor((t-1)/2),l=[],f=0;f4&&arguments[4]!==void 0?arguments[4]:0,u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Uy;if(!Number.isFinite((r-t)/(n-1)))return{step:new We(0),tickMin:new We(0),tickMax:new We(0)};var l=u(new We(r).sub(t).div(n-1),a,o),f;t<=0&&r>=0?f=new We(0):(f=new We(t).add(r).div(2),f=f.sub(new We(f).mod(l)));var h=Math.ceil(f.sub(t).div(l).toNumber()),p=Math.ceil(new We(r).sub(f).div(l).toNumber()),g=h+p+1;return g>n?qP(t,r,n,a,o+1,u):(g0?p+(n-g):p,h=r>0?h:h+(n-g)),{step:l,tickMin:f.sub(new We(h).mul(l)),tickMax:f.add(new We(p).mul(l))})},hk=function(t){var r=Tu(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=Math.max(o,2),h=GP([n,a]),p=Tu(h,2),g=p[0],x=p[1];if(g===-1/0||x===1/0){var b=x===1/0?[g,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),x];return n>a?b.reverse():b}if(g===x)return jF(g,o,u);var j=l==="snap125"?VP:Uy,k=qP(g,x,f,u,0,j),S=k.step,N=k.tickMin,P=k.tickMax,O=KP(N,P.add(new We(.1).mul(S)),S);return n>a?O.reverse():O},pk=function(t,r){var n=Tu(t,2),a=n[0],o=n[1],u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=GP([a,o]),h=Tu(f,2),p=h[0],g=h[1];if(p===-1/0||g===1/0)return[a,o];if(p===g)return[p];var x=l==="snap125"?VP:Uy,b=Math.max(r,2),j=x(new We(g).sub(p).div(b-1),u,0),k=[...KP(new We(p),new We(g),j),g];return u===!1&&(k=k.map(S=>Math.round(S))),a>o?k.reverse():k},kF=e=>e.rootProps.barCategoryGap,Ih=e=>e.rootProps.stackOffset,QP=e=>e.rootProps.reverseStackOrder,Wy=e=>e.options.chartName,Hy=e=>e.rootProps.syncId,YP=e=>e.rootProps.syncMethod,Ky=e=>e.options.eventEmitter,SF=e=>e.rootProps.baseValue,or={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},_a={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},kn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Th=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Dh(e,t,r){if(r!=="auto")return r;if(e!=null)return zn(e,t)?"category":"number"}function mk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Mf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Gy=G([CF,bP],(e,t)=>{var r;if(e!=null)return e;var n=(r=Dh(t,"angleAxis",gk.type))!==null&&r!==void 0?r:"category";return Mf(Mf({},gk),{},{type:n})}),AF=(e,t)=>e.polarAxis.radiusAxis[t],Vy=G([AF,bP],(e,t)=>{var r;if(e!=null)return e;var n=(r=Dh(t,"radiusAxis",vk.type))!==null&&r!==void 0?r:"category";return Mf(Mf({},vk),{},{type:n})}),Rh=e=>e.polarOptions,qy=G([pi,mi,Vt],Q6),XP=G([Rh,qy],(e,t)=>{if(e!=null)return da(e.innerRadius,t,0)}),ZP=G([Rh,qy],(e,t)=>{if(e!=null)return da(e.outerRadius,t,t*.8)}),OF=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},JP=G([Rh],OF);G([Gy,JP],Th);var eC=G([qy,XP,ZP],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});G([Vy,eC],Th);var tC=G([ut,Rh,XP,ZP,pi,mi],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var u=t.cx,l=t.cy,f=t.startAngle,h=t.endAngle;return{cx:da(u,a,a/2),cy:da(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:f,endAngle:h,clockWise:!1}}}),Dt=(e,t)=>t,$h=(e,t,r)=>r;function Qy(e){return e==null?void 0:e.id}function rC(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,u=r.dataKey,l=new Map;return e.forEach(f=>{var h,p=(h=f.data)!==null&&h!==void 0?h:a;if(!(p==null||p.length===0)){var g=Qy(f);p.forEach((x,b)=>{var j=u==null||o?b:String(Tt(x,u,null)),k=Tt(x,f.dataKey,0),S;l.has(j)?S=l.get(j):S={},Object.assign(S,{[g]:k}),l.set(j,S)})}}),Array.from(l.values())}function Yy(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Lh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function zh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function _F(e,t){if(e.length===t.length){for(var r=0;r{var t=ut(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Gs=e=>e.tooltip.settings.axisId;function Xy(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),a=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function u(){return o.apply(this,arguments)}return u.toString=function(){return o.toString()},u})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var u=a[0],l=a[1];return u<=l?o>=u&&o<=l:o>=l&&o<=u},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,u)=>{var l=e(o);if(l!=null){if(e.bandwidth&&u!==null&&u!==void 0&&u.position){var f=e.bandwidth();switch(u.position){case"middle":l+=f/2;break;case"end":l+=f;break}}return l}}}}}var MF=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Mn(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function la(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function IF(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Zy(e){let t,r,n;e.length!==2?(t=la,r=(l,f)=>la(e(l),f),n=(l,f)=>e(l)-f):(t=e===la||e===IF?e:TF,r=e,n=e);function a(l,f,h=0,p=l.length){if(h>>1;r(l[g],f)<0?h=g+1:p=g}while(h>>1;r(l[g],f)<=0?h=g+1:p=g}while(hh&&n(l[g-1],f)>-n(l[g],f)?g-1:g}return{left:a,center:u,right:o}}function TF(){return 0}function nC(e){return e===null?NaN:+e}function*DF(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const RF=Zy(la),rc=RF.right;Zy(nC).center;class yk extends Map{constructor(t,r=zF){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(xk(this,t))}has(t){return super.has(xk(this,t))}set(t,r){return super.set($F(this,t),r)}delete(t){return super.delete(LF(this,t))}}function xk({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function $F({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function LF({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function zF(e){return e!==null&&typeof e=="object"?e.valueOf():e}function FF(e=la){if(e===la)return iC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function iC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const BF=Math.sqrt(50),UF=Math.sqrt(10),WF=Math.sqrt(2);function If(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),u=o>=BF?10:o>=UF?5:o>=WF?2:1;let l,f,h;return a<0?(h=Math.pow(10,-a)/u,l=Math.round(e*h),f=Math.round(t*h),l/ht&&--f,h=-h):(h=Math.pow(10,a)*u,l=Math.round(e/h),f=Math.round(t/h),l*ht&&--f),f0))return[];if(e===t)return[e];const n=t=a))return[];const l=o-a+1,f=new Array(l);if(n)if(u<0)for(let h=0;h=n)&&(r=n);return r}function wk(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function aC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?iC:FF(a);n>r;){if(n-r>600){const f=n-r+1,h=t-r+1,p=Math.log(f),g=.5*Math.exp(2*p/3),x=.5*Math.sqrt(p*g*(f-g)/f)*(h-f/2<0?-1:1),b=Math.max(r,Math.floor(t-h*g/f+x)),j=Math.min(n,Math.floor(t+(f-h)*g/f+x));aC(e,t,b,j,a)}const o=e[t];let u=r,l=n;for(eu(e,r,t),a(e[n],o)>0&&eu(e,r,n);u0;)--l}a(e[r],o)===0?eu(e,r,l):(++l,eu(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function eu(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function HF(e,t,r){if(e=Float64Array.from(DF(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return wk(e);if(t>=1)return bk(e);var n,a=(n-1)*t,o=Math.floor(a),u=bk(aC(e,o).subarray(0,o+1)),l=wk(e.subarray(o+1));return u+(l-u)*(a-o)}}function KF(e,t,r=nC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,o=Math.floor(a),u=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return u+(l-u)*(a-o)}}function GF(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Fd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Fd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=QF.exec(e))?new br(t[1],t[2],t[3],1):(t=YF.exec(e))?new br(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=XF.exec(e))?Fd(t[1],t[2],t[3],t[4]):(t=ZF.exec(e))?Fd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=JF.exec(e))?Ck(t[1],t[2]/100,t[3]/100,1):(t=e8.exec(e))?Ck(t[1],t[2]/100,t[3]/100,t[4]):jk.hasOwnProperty(e)?Nk(jk[e]):e==="transparent"?new br(NaN,NaN,NaN,0):null}function Nk(e){return new br(e>>16&255,e>>8&255,e&255,1)}function Fd(e,t,r,n){return n<=0&&(e=t=r=NaN),new br(e,t,r,n)}function n8(e){return e instanceof nc||(e=$u(e)),e?(e=e.rgb(),new br(e.r,e.g,e.b,e.opacity)):new br}function Uv(e,t,r,n){return arguments.length===1?n8(e):new br(e,t,r,n??1)}function br(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}t0(br,Uv,sC(nc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Du:Math.pow(Du,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new br(ro(this.r),ro(this.g),ro(this.b),Df(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ek,formatHex:Ek,formatHex8:i8,formatRgb:Pk,toString:Pk}));function Ek(){return`#${Ua(this.r)}${Ua(this.g)}${Ua(this.b)}`}function i8(){return`#${Ua(this.r)}${Ua(this.g)}${Ua(this.b)}${Ua((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pk(){const e=Df(this.opacity);return`${e===1?"rgb(":"rgba("}${ro(this.r)}, ${ro(this.g)}, ${ro(this.b)}${e===1?")":`, ${e})`}`}function Df(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ro(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ua(e){return e=ro(e),(e<16?"0":"")+e.toString(16)}function Ck(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new dn(e,t,r,n)}function lC(e){if(e instanceof dn)return new dn(e.h,e.s,e.l,e.opacity);if(e instanceof nc||(e=$u(e)),!e)return new dn;if(e instanceof dn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),u=NaN,l=o-a,f=(o+a)/2;return l?(t===o?u=(r-n)/l+(r0&&f<1?0:u,new dn(u,l,f,e.opacity)}function a8(e,t,r,n){return arguments.length===1?lC(e):new dn(e,t,r,n??1)}function dn(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}t0(dn,a8,sC(nc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new dn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Du:Math.pow(Du,e),new dn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new br(gg(e>=240?e-240:e+120,a,n),gg(e,a,n),gg(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new dn(Ak(this.h),Bd(this.s),Bd(this.l),Df(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Df(this.opacity);return`${e===1?"hsl(":"hsla("}${Ak(this.h)}, ${Bd(this.s)*100}%, ${Bd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ak(e){return e=(e||0)%360,e<0?e+360:e}function Bd(e){return Math.max(0,Math.min(1,e||0))}function gg(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const r0=e=>()=>e;function o8(e,t){return function(r){return e+r*t}}function s8(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function l8(e){return(e=+e)==1?uC:function(t,r){return r-t?s8(t,r,e):r0(isNaN(t)?r:t)}}function uC(e,t){var r=t-e;return r?o8(e,r):r0(isNaN(e)?t:e)}const Ok=(function e(t){var r=l8(t);function n(a,o){var u=r((a=Uv(a)).r,(o=Uv(o)).r),l=r(a.g,o.g),f=r(a.b,o.b),h=uC(a.opacity,o.opacity);return function(p){return a.r=u(p),a.g=l(p),a.b=f(p),a.opacity=h(p),a+""}}return n.gamma=e,n})(1);function u8(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(o){for(a=0;ar&&(o=t.slice(r,o),l[u]?l[u]+=o:l[++u]=o),(n=n[0])===(a=a[0])?l[u]?l[u]+=a:l[++u]=a:(l[++u]=null,f.push({i:u,x:Rf(n,a)})),r=vg.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function b8(e,t,r){var n=e[0],a=e[1],o=t[0],u=t[1];return a2?w8:b8,f=h=null,g}function g(x){return x==null||isNaN(x=+x)?o:(f||(f=l(e.map(n),t,r)))(n(u(x)))}return g.invert=function(x){return u(a((h||(h=l(t,e.map(n),Rf)))(x)))},g.domain=function(x){return arguments.length?(e=Array.from(x,$f),p()):e.slice()},g.range=function(x){return arguments.length?(t=Array.from(x),p()):t.slice()},g.rangeRound=function(x){return t=Array.from(x),r=n0,p()},g.clamp=function(x){return arguments.length?(u=x?!0:sr,p()):u!==sr},g.interpolate=function(x){return arguments.length?(r=x,p()):r},g.unknown=function(x){return arguments.length?(o=x,g):o},function(x,b){return n=x,a=b,p()}}function i0(){return Fh()(sr,sr)}function j8(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Lf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Ts(e){return e=Lf(Math.abs(e)),e?e[1]:NaN}function k8(e,t){return function(r,n){for(var a=r.length,o=[],u=0,l=e[0],f=0;a>0&&l>0&&(f+l+1>n&&(l=Math.max(1,n-f)),o.push(r.substring(a-=l,a+l)),!((f+=l+1)>n));)l=e[u=(u+1)%e.length];return o.reverse().join(t)}}function S8(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var N8=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Lu(e){if(!(t=N8.exec(e)))throw new Error("invalid format: "+e);var t;return new a0({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Lu.prototype=a0.prototype;function a0(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}a0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function E8(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var zf;function P8(e,t){var r=Lf(e,t);if(!r)return zf=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(zf=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,u=n.length;return o===u?n:o>u?n+new Array(o-u+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+Lf(e,Math.max(0,t+o-1))[0]}function Mk(e,t){var r=Lf(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const Ik={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:j8,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Mk(e*100,t),r:Mk,s:P8,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Tk(e){return e}var Dk=Array.prototype.map,Rk=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function C8(e){var t=e.grouping===void 0||e.thousands===void 0?Tk:k8(Dk.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?Tk:S8(Dk.call(e.numerals,String)),u=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",f=e.nan===void 0?"NaN":e.nan+"";function h(g,x){g=Lu(g);var b=g.fill,j=g.align,k=g.sign,S=g.symbol,N=g.zero,P=g.width,O=g.comma,C=g.precision,_=g.trim,A=g.type;A==="n"?(O=!0,A="g"):Ik[A]||(C===void 0&&(C=12),_=!0,A="g"),(N||b==="0"&&j==="=")&&(N=!0,b="0",j="=");var I=(x&&x.prefix!==void 0?x.prefix:"")+(S==="$"?r:S==="#"&&/[boxX]/.test(A)?"0"+A.toLowerCase():""),U=(S==="$"?n:/[%p]/.test(A)?u:"")+(x&&x.suffix!==void 0?x.suffix:""),B=Ik[A],K=/[defgprs%]/.test(A);C=C===void 0?6:/[gprs]/.test(A)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function X($){var ue=I,J=U,ge,we,pe;if(A==="c")J=B($)+J,$="";else{$=+$;var Y=$<0||1/$<0;if($=isNaN($)?f:B(Math.abs($),C),_&&($=E8($)),Y&&+$==0&&k!=="+"&&(Y=!1),ue=(Y?k==="("?k:l:k==="-"||k==="("?"":k)+ue,J=(A==="s"&&!isNaN($)&&zf!==void 0?Rk[8+zf/3]:"")+J+(Y&&k==="("?")":""),K){for(ge=-1,we=$.length;++gepe||pe>57){J=(pe===46?a+$.slice(ge+1):$.slice(ge))+J,$=$.slice(0,ge);break}}}O&&!N&&($=t($,1/0));var V=ue.length+$.length+J.length,Q=V>1)+ue+$+J+Q.slice(V);break;default:$=Q+ue+$+J;break}return o($)}return X.toString=function(){return g+""},X}function p(g,x){var b=Math.max(-8,Math.min(8,Math.floor(Ts(x)/3)))*3,j=Math.pow(10,-b),k=h((g=Lu(g),g.type="f",g),{suffix:Rk[8+b/3]});return function(S){return k(j*S)}}return{format:h,formatPrefix:p}}var Ud,o0,cC;A8({thousands:",",grouping:[3],currency:["$",""]});function A8(e){return Ud=C8(e),o0=Ud.format,cC=Ud.formatPrefix,Ud}function O8(e){return Math.max(0,-Ts(Math.abs(e)))}function _8(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ts(t)/3)))*3-Ts(Math.abs(e)))}function M8(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ts(t)-Ts(e))+1}function dC(e,t,r,n){var a=Fv(e,t,r),o;switch(n=Lu(n??",f"),n.type){case"s":{var u=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=_8(a,u))&&(n.precision=o),cC(n,u)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=M8(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=O8(a))&&(n.precision=o-(n.type==="%")*2);break}}return o0(n)}function fa(e){var t=e.domain;return e.ticks=function(r){var n=t();return Lv(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return dC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,u=n[a],l=n[o],f,h,p=10;for(l0;){if(h=zv(u,l,r),h===f)return n[a]=u,n[o]=l,t(n);if(h>0)u=Math.floor(u/h)*h,l=Math.ceil(l/h)*h;else if(h<0)u=Math.ceil(u*h)/h,l=Math.floor(l*h)/h;else break;f=h}return e},e}function fC(){var e=i0();return e.copy=function(){return ic(e,fC())},Xr.apply(e,arguments),fa(e)}function hC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,$f),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return hC(e).unknown(t)},e=arguments.length?Array.from(e,$f):[0,1],fa(r)}function pC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],u;return oMath.pow(e,t)}function $8(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function zk(e){return(t,r)=>-e(-t,r)}function s0(e){const t=e($k,Lk),r=t.domain;let n=10,a,o;function u(){return a=$8(n),o=R8(n),r()[0]<0?(a=zk(a),o=zk(o),e(I8,T8)):e($k,Lk),t}return t.base=function(l){return arguments.length?(n=+l,u()):n},t.domain=function(l){return arguments.length?(r(l),u()):r()},t.ticks=l=>{const f=r();let h=f[0],p=f[f.length-1];const g=p0){for(;x<=b;++x)for(j=1;jp)break;N.push(k)}}else for(;x<=b;++x)for(j=n-1;j>=1;--j)if(k=x>0?j/o(-x):j*o(x),!(kp)break;N.push(k)}N.length*2{if(l==null&&(l=10),f==null&&(f=n===10?"s":","),typeof f!="function"&&(!(n%1)&&(f=Lu(f)).precision==null&&(f.trim=!0),f=o0(f)),l===1/0)return f;const h=Math.max(1,n*l/t.ticks().length);return p=>{let g=p/o(Math.round(a(p)));return g*nr(pC(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function mC(){const e=s0(Fh()).domain([1,10]);return e.copy=()=>ic(e,mC()).base(e.base()),Xr.apply(e,arguments),e}function Fk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Bk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function l0(e){var t=1,r=e(Fk(t),Bk(t));return r.constant=function(n){return arguments.length?e(Fk(t=+n),Bk(t)):t},fa(r)}function gC(){var e=l0(Fh());return e.copy=function(){return ic(e,gC()).constant(e.constant())},Xr.apply(e,arguments)}function Uk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function L8(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function z8(e){return e<0?-e*e:e*e}function u0(e){var t=e(sr,sr),r=1;function n(){return r===1?e(sr,sr):r===.5?e(L8,z8):e(Uk(r),Uk(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},fa(t)}function c0(){var e=u0(Fh());return e.copy=function(){return ic(e,c0()).exponent(e.exponent())},Xr.apply(e,arguments),e}function F8(){return c0.apply(null,arguments).exponent(.5)}function Wk(e){return Math.sign(e)*e*e}function B8(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function vC(){var e=i0(),t=[0,1],r=!1,n;function a(o){var u=B8(e(o));return isNaN(u)?n:r?Math.round(u):u}return a.invert=function(o){return e.invert(Wk(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,$f)).map(Wk)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return vC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Xr.apply(a,arguments),fa(a)}function yC(){var e=[],t=[],r=[],n;function a(){var u=0,l=Math.max(1,t.length);for(r=new Array(l-1);++u0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[h-1],n[h]]},u.unknown=function(f){return arguments.length&&(o=f),u},u.thresholds=function(){return n.slice()},u.copy=function(){return xC().domain([e,t]).range(a).unknown(o)},Xr.apply(fa(u),arguments)}function bC(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[rc(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var u=t.indexOf(o);return[e[u-1],e[u]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return bC().domain(e).range(t).unknown(r)},Xr.apply(a,arguments)}const yg=new Date,xg=new Date;function Pt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{const u=a(o),l=a.ceil(o);return o-u(t(o=new Date(+o),u==null?1:Math.floor(u)),o),a.range=(o,u,l)=>{const f=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return f;let h;do f.push(h=new Date(+o)),t(o,l),e(o);while(hPt(u=>{if(u>=u)for(;e(u),!o(u);)u.setTime(u-1)},(u,l)=>{if(u>=u)if(l<0)for(;++l<=0;)for(;t(u,-1),!o(u););else for(;--l>=0;)for(;t(u,1),!o(u););}),r&&(a.count=(o,u)=>(yg.setTime(+o),xg.setTime(+u),e(yg),e(xg),Math.floor(r(yg,xg))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?u=>n(u)%o===0:u=>a.count(0,u)%o===0):a)),a}const Ff=Pt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ff.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Pt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ff);Ff.range;const ii=1e3,Gr=ii*60,ai=Gr*60,di=ai*24,d0=di*7,Hk=di*30,bg=di*365,Wa=Pt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ii)},(e,t)=>(t-e)/ii,e=>e.getUTCSeconds());Wa.range;const f0=Pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ii)},(e,t)=>{e.setTime(+e+t*Gr)},(e,t)=>(t-e)/Gr,e=>e.getMinutes());f0.range;const h0=Pt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Gr)},(e,t)=>(t-e)/Gr,e=>e.getUTCMinutes());h0.range;const p0=Pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ii-e.getMinutes()*Gr)},(e,t)=>{e.setTime(+e+t*ai)},(e,t)=>(t-e)/ai,e=>e.getHours());p0.range;const m0=Pt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ai)},(e,t)=>(t-e)/ai,e=>e.getUTCHours());m0.range;const ac=Pt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gr)/di,e=>e.getDate()-1);ac.range;const Bh=Pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/di,e=>e.getUTCDate()-1);Bh.range;const wC=Pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/di,e=>Math.floor(e/di));wC.range;function yo(e){return Pt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Gr)/d0)}const Uh=yo(0),Bf=yo(1),U8=yo(2),W8=yo(3),Ds=yo(4),H8=yo(5),K8=yo(6);Uh.range;Bf.range;U8.range;W8.range;Ds.range;H8.range;K8.range;function xo(e){return Pt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/d0)}const Wh=xo(0),Uf=xo(1),G8=xo(2),V8=xo(3),Rs=xo(4),q8=xo(5),Q8=xo(6);Wh.range;Uf.range;G8.range;V8.range;Rs.range;q8.range;Q8.range;const g0=Pt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());g0.range;const v0=Pt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());v0.range;const fi=Pt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());fi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});fi.range;const hi=Pt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());hi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});hi.range;function jC(e,t,r,n,a,o){const u=[[Wa,1,ii],[Wa,5,5*ii],[Wa,15,15*ii],[Wa,30,30*ii],[o,1,Gr],[o,5,5*Gr],[o,15,15*Gr],[o,30,30*Gr],[a,1,ai],[a,3,3*ai],[a,6,6*ai],[a,12,12*ai],[n,1,di],[n,2,2*di],[r,1,d0],[t,1,Hk],[t,3,3*Hk],[e,1,bg]];function l(h,p,g){const x=pS).right(u,x);if(b===u.length)return e.every(Fv(h/bg,p/bg,g));if(b===0)return Ff.every(Math.max(Fv(h,p,g),1));const[j,k]=u[x/u[b-1][2]53)return null;"w"in oe||(oe.w=1),"Z"in oe?(Z=jg(tu(oe.y,0,1)),de=Z.getUTCDay(),Z=de>4||de===0?Uf.ceil(Z):Uf(Z),Z=Bh.offset(Z,(oe.V-1)*7),oe.y=Z.getUTCFullYear(),oe.m=Z.getUTCMonth(),oe.d=Z.getUTCDate()+(oe.w+6)%7):(Z=wg(tu(oe.y,0,1)),de=Z.getDay(),Z=de>4||de===0?Bf.ceil(Z):Bf(Z),Z=ac.offset(Z,(oe.V-1)*7),oe.y=Z.getFullYear(),oe.m=Z.getMonth(),oe.d=Z.getDate()+(oe.w+6)%7)}else("W"in oe||"U"in oe)&&("w"in oe||(oe.w="u"in oe?oe.u%7:"W"in oe?1:0),de="Z"in oe?jg(tu(oe.y,0,1)).getUTCDay():wg(tu(oe.y,0,1)).getDay(),oe.m=0,oe.d="W"in oe?(oe.w+6)%7+oe.W*7-(de+5)%7:oe.w+oe.U*7-(de+6)%7);return"Z"in oe?(oe.H+=oe.Z/100|0,oe.M+=oe.Z%100,jg(oe)):wg(oe)}}function U(te,ke,_e,oe){for(var Xe=0,Z=ke.length,de=_e.length,tt,jr;Xe=de)return-1;if(tt=ke.charCodeAt(Xe++),tt===37){if(tt=ke.charAt(Xe++),jr=_[tt in Kk?ke.charAt(Xe++):tt],!jr||(oe=jr(te,_e,oe))<0)return-1}else if(tt!=_e.charCodeAt(oe++))return-1}return oe}function B(te,ke,_e){var oe=h.exec(ke.slice(_e));return oe?(te.p=p.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function K(te,ke,_e){var oe=b.exec(ke.slice(_e));return oe?(te.w=j.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function X(te,ke,_e){var oe=g.exec(ke.slice(_e));return oe?(te.w=x.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function $(te,ke,_e){var oe=N.exec(ke.slice(_e));return oe?(te.m=P.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function ue(te,ke,_e){var oe=k.exec(ke.slice(_e));return oe?(te.m=S.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function J(te,ke,_e){return U(te,t,ke,_e)}function ge(te,ke,_e){return U(te,r,ke,_e)}function we(te,ke,_e){return U(te,n,ke,_e)}function pe(te){return u[te.getDay()]}function Y(te){return o[te.getDay()]}function V(te){return f[te.getMonth()]}function Q(te){return l[te.getMonth()]}function D(te){return a[+(te.getHours()>=12)]}function T(te){return 1+~~(te.getMonth()/3)}function ee(te){return u[te.getUTCDay()]}function ie(te){return o[te.getUTCDay()]}function re(te){return f[te.getUTCMonth()]}function ce(te){return l[te.getUTCMonth()]}function me(te){return a[+(te.getUTCHours()>=12)]}function Oe(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ke=A(te+="",O);return ke.toString=function(){return te},ke},parse:function(te){var ke=I(te+="",!1);return ke.toString=function(){return te},ke},utcFormat:function(te){var ke=A(te+="",C);return ke.toString=function(){return te},ke},utcParse:function(te){var ke=I(te+="",!0);return ke.toString=function(){return te},ke}}}var Kk={"-":"",_:" ",0:"0"},$t=/^\s*\d+/,tB=/^%/,rB=/[\\^$*+?|[\]().{}]/g;function Ge(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function iB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function aB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function oB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function sB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function lB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Gk(e,t,r){var n=$t.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Vk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function uB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function cB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function dB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function qk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function fB(e,t,r){var n=$t.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Qk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function hB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function pB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function mB(e,t,r){var n=$t.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function gB(e,t,r){var n=$t.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function vB(e,t,r){var n=tB.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function yB(e,t,r){var n=$t.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function xB(e,t,r){var n=$t.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Yk(e,t){return Ge(e.getDate(),t,2)}function bB(e,t){return Ge(e.getHours(),t,2)}function wB(e,t){return Ge(e.getHours()%12||12,t,2)}function jB(e,t){return Ge(1+ac.count(fi(e),e),t,3)}function kC(e,t){return Ge(e.getMilliseconds(),t,3)}function kB(e,t){return kC(e,t)+"000"}function SB(e,t){return Ge(e.getMonth()+1,t,2)}function NB(e,t){return Ge(e.getMinutes(),t,2)}function EB(e,t){return Ge(e.getSeconds(),t,2)}function PB(e){var t=e.getDay();return t===0?7:t}function CB(e,t){return Ge(Uh.count(fi(e)-1,e),t,2)}function SC(e){var t=e.getDay();return t>=4||t===0?Ds(e):Ds.ceil(e)}function AB(e,t){return e=SC(e),Ge(Ds.count(fi(e),e)+(fi(e).getDay()===4),t,2)}function OB(e){return e.getDay()}function _B(e,t){return Ge(Bf.count(fi(e)-1,e),t,2)}function MB(e,t){return Ge(e.getFullYear()%100,t,2)}function IB(e,t){return e=SC(e),Ge(e.getFullYear()%100,t,2)}function TB(e,t){return Ge(e.getFullYear()%1e4,t,4)}function DB(e,t){var r=e.getDay();return e=r>=4||r===0?Ds(e):Ds.ceil(e),Ge(e.getFullYear()%1e4,t,4)}function RB(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ge(t/60|0,"0",2)+Ge(t%60,"0",2)}function Xk(e,t){return Ge(e.getUTCDate(),t,2)}function $B(e,t){return Ge(e.getUTCHours(),t,2)}function LB(e,t){return Ge(e.getUTCHours()%12||12,t,2)}function zB(e,t){return Ge(1+Bh.count(hi(e),e),t,3)}function NC(e,t){return Ge(e.getUTCMilliseconds(),t,3)}function FB(e,t){return NC(e,t)+"000"}function BB(e,t){return Ge(e.getUTCMonth()+1,t,2)}function UB(e,t){return Ge(e.getUTCMinutes(),t,2)}function WB(e,t){return Ge(e.getUTCSeconds(),t,2)}function HB(e){var t=e.getUTCDay();return t===0?7:t}function KB(e,t){return Ge(Wh.count(hi(e)-1,e),t,2)}function EC(e){var t=e.getUTCDay();return t>=4||t===0?Rs(e):Rs.ceil(e)}function GB(e,t){return e=EC(e),Ge(Rs.count(hi(e),e)+(hi(e).getUTCDay()===4),t,2)}function VB(e){return e.getUTCDay()}function qB(e,t){return Ge(Uf.count(hi(e)-1,e),t,2)}function QB(e,t){return Ge(e.getUTCFullYear()%100,t,2)}function YB(e,t){return e=EC(e),Ge(e.getUTCFullYear()%100,t,2)}function XB(e,t){return Ge(e.getUTCFullYear()%1e4,t,4)}function ZB(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Rs(e):Rs.ceil(e),Ge(e.getUTCFullYear()%1e4,t,4)}function JB(){return"+0000"}function Zk(){return"%"}function Jk(e){return+e}function eS(e){return Math.floor(+e/1e3)}var Zo,PC,CC;e9({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function e9(e){return Zo=eB(e),PC=Zo.format,Zo.parse,CC=Zo.utcFormat,Zo.utcParse,Zo}function t9(e){return new Date(e)}function r9(e){return e instanceof Date?+e:+new Date(+e)}function y0(e,t,r,n,a,o,u,l,f,h){var p=i0(),g=p.invert,x=p.domain,b=h(".%L"),j=h(":%S"),k=h("%I:%M"),S=h("%I %p"),N=h("%a %d"),P=h("%b %d"),O=h("%B"),C=h("%Y");function _(A){return(f(A)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>HF(e,o/n))},r.copy=function(){return MC(t).domain(e)},gi.apply(r,arguments)}function Kh(){var e=0,t=.5,r=1,n=1,a,o,u,l,f,h=sr,p,g=!1,x;function b(k){return isNaN(k=+k)?x:(k=.5+((k=+p(k))-o)*(n*k{if(e!=null){var n=e.scale,a=e.type;if(n==="auto")return a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":a==="category"?"band":"linear";if(typeof n=="string")return u9(n)?n:"point"}};function c9(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function LC(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var u;return(u=e(o))!==null&&u!==void 0?u:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var u,l,f=c9(n,o);if(f<=0)return r[0];if(f>=r.length)return r[r.length-1];var h=(u=n[f-1])!==null&&u!==void 0?u:0,p=(l=n[f])!==null&&l!==void 0?l:0;return Math.abs(o-h)<=Math.abs(o-p)?r[f-1]:r[f]}}}function d9(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):LC(e,void 0)}function rS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Wf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],vi=(e,t)=>{var r=FC(e,t);return r??Nt},Et={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:Kv,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Xu},BC=(e,t)=>e.cartesianAxis.yAxis[t],yi=(e,t)=>{var r=BC(e,t);return r??Et},x9={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},j0=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??x9},cr=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);case"zAxis":return j0(e,r);case"angleAxis":return Gy(e,r);case"radiusAxis":return Vy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},b9=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},oc=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);case"angleAxis":return Gy(e,r);case"radiusAxis":return Vy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},UC=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function WC(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var HC=e=>e.graphicalItems.cartesianItems,w9=G([Dt,$h],WC),KC=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),qs=G([HC,cr,w9],KC,{memoizeOptions:{resultEqualityCheck:zh}}),GC=G([qs],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Yy)),VC=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),j9=G([qs],VC),qC=e=>e.map(t=>t.data).filter(Boolean).flat(1),k9=G([qs],e=>e.some(t=>!t.data)),QC=G([qs],qC,{memoizeOptions:{resultEqualityCheck:zh}}),YC=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},k0=G([QC,Mh],YC),S9=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Tt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Tt(a,n)}))):e.map(n=>({value:n})),XC=(e,t,r,n,a,o)=>{var u=n.chartData,l=u===void 0?[]:u,f=n.dataStartIndex,h=n.dataEndIndex,p=S9(e,t,r);if(a&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var g=l.slice(f,h+1),x=g.map(b=>({value:Tt(b,t.dataKey)})).filter(b=>b.value!=null);return[...x,...p]}return p},sc=G([k0,cr,qs,Mh,k9,QC],XC);function hs(e){if(Dn(e)||e instanceof Date){var t=Number(e);if(Be(t))return t}}function iS(e){if(Array.isArray(e)){var t=[hs(e[0]),hs(e[1])];return Mn(t)?t:void 0}var r=hs(e);if(r!=null)return[r,r]}function Ln(e){return e.map(hs).filter(xr)}function N9(e,t){var r=hs(e),n=hs(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var E9=G([sc],e=>e==null?void 0:e.map(t=>t.value).sort(N9));function ZC(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function P9(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Tn(t))n=t;else if(Array.isArray(t)){var a=Ln(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ln(r.flatMap(o=>{var u=Tt(e,o.dataKey),l,f;if(Array.isArray(u)){var h=zC(u,2);l=h[0],f=h[1]}else l=f=u;if(!(!Be(l)||!Be(f)))return[n-l,n+f]}))}var Ct=e=>{var t=Rt(e),r=Gs(e);return oc(e,t,r)},$s=G([Ct],e=>e==null?void 0:e.dataKey),C9=G([GC,Mh,Ct],rC),JC=(e,t,r,n)=>{var a={},o=t.reduce((u,l)=>{if(l.stackId==null)return u;var f=u[l.stackId];return f==null&&(f=[]),f.push(l),u[l.stackId]=f,u},a);return Object.fromEntries(Object.entries(o).map(u=>{var l=zC(u,2),f=l[0],h=l[1],p=n?[...h].reverse():h,g=p.map(Qy);return[f,{stackedData:G$(e,g,r),graphicalItems:p}]}))},eA=G([C9,GC,Ih,QP],JC),tA=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return Y$(e,a,o)},A9=G([cr],e=>e.allowDataOverflow),S0=e=>{var t;if(e==null||!("domain"in e))return Kv;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ln(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:Kv},rA=G([cr],S0),nA=G([rA,A9],LP),O9=G([eA,mn,Dt,nA],tA,{memoizeOptions:{resultEqualityCheck:Lh}}),N0=e=>e.errorBars,_9=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>ZC(r,n)),Hf=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,f;if(n.length>0&&n.forEach(h=>{var p,g=h.data!=null?[...h.data]:u,x=(p=a[h.id])===null||p===void 0?void 0:p.filter(b=>ZC(o,b));g.forEach(b=>{var j,k=Tt(b,(j=r.dataKey)!==null&&j!==void 0?j:h.dataKey),S=P9(b,k,x);if(S.length>=2){var N=Math.min(...S),P=Math.max(...S);(l==null||Nf)&&(f=P)}var O=iS(k);O!=null&&(l=l==null?O[0]:Math.min(l,O[0]),f=f==null?O[1]:Math.max(f,O[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(h=>{var p=iS(Tt(h,r.dataKey));p!=null&&(l=l==null?p[0]:Math.min(l,p[0]),f=f==null?p[1]:Math.max(f,p[1]))}),Be(l)&&Be(f))return[l,f]},M9=G([k0,cr,j9,N0,Dt,lF],iA,{memoizeOptions:{resultEqualityCheck:Lh}});function I9(e){var t=e.value;if(Dn(t)||t instanceof Date)return t}var T9=(e,t,r)=>{var n=e.map(I9).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&mE(n))?$P(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},aA=e=>e.referenceElements.dots,Qs=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),D9=G([aA,Dt,$h],Qs),oA=e=>e.referenceElements.areas,R9=G([oA,Dt,$h],Qs),sA=e=>e.referenceElements.lines,$9=G([sA,Dt,$h],Qs),lA=(e,t)=>{if(e!=null){var r=Ln(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},L9=G(D9,Dt,lA),uA=(e,t)=>{if(e!=null){var r=Ln(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},z9=G([R9,Dt],uA);function F9(e){var t;if(e.x!=null)return Ln([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ln(r)}function B9(e){var t;if(e.y!=null)return Ln([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ln(r)}var cA=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?F9(n):B9(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},U9=G([$9,Dt],cA),W9=G(L9,U9,z9,(e,t,r)=>Hf(e,r,t)),dA=(e,t,r,n,a,o,u,l)=>{if(r!=null)return r;var f=u==="vertical"&&l==="xAxis"||u==="horizontal"&&l==="yAxis",h=f?Hf(n,o,a):Hf(o,a);return pF(t,h,e.allowDataOverflow)},H9=G([cr,rA,nA,O9,M9,W9,ut,Dt],dA,{memoizeOptions:{resultEqualityCheck:Lh}}),K9=[0,1],fA=(e,t,r,n,a,o,u)=>{if(!((e==null||r==null||r.length===0)&&u===void 0)){var l=e.dataKey,f=e.type,h=zn(t,o);if(h&&l==null){var p;return $P(0,(p=r==null?void 0:r.length)!==null&&p!==void 0?p:0)}return f==="category"?T9(n,e,h):a==="expand"&&!h?K9:u}},E0=G([cr,ut,k0,sc,Ih,Dt,H9],fA),Ys=G([cr,UC,Wy],$C),hA=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=S0(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Mn(e)){if(o)return hk(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return pk(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Mn(e))return hk(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Mn(e))return pk(e,t.tickCount,t.allowDecimals,"adaptive")}}},P0=G([E0,oc,Ys],hA),pA=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Mn(t)&&Array.isArray(r)&&r.length>0){var a,o,u=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,f=t[1],h=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(u,l),Math.max(f,h)]}return t},G9=G([cr,E0,P0,Dt],pA),V9=G(sc,cr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ln(e.map(g=>g.value))).sort((g,x)=>g-x),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var u=o-a;if(u===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!Be(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var u=da(r,e*o),l=e*o/2;return l-u-(l-u)/o*u}return 0}),q9=(e,t,r)=>{var n=vi(e,t);return n==null||typeof n.padding!="string"?0:mA(e,"xAxis",t,r,n.padding)},Q9=(e,t,r)=>{var n=yi(e,t);return n==null||typeof n.padding!="string"?0:mA(e,"yAxis",t,r,n.padding)},Y9=G(vi,q9,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var a=e.padding;return typeof a=="string"?{left:t,right:t}:{left:((r=a.left)!==null&&r!==void 0?r:0)+t,right:((n=a.right)!==null&&n!==void 0?n:0)+t}}),X9=G(yi,Q9,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var a=e.padding;return typeof a=="string"?{top:t,bottom:t}:{top:((r=a.top)!==null&&r!==void 0?r:0)+t,bottom:((n=a.bottom)!==null&&n!==void 0?n:0)+t}}),gA=G([Vt,Y9,Eh,Nh,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),vA=G([Vt,ut,X9,Eh,Nh,(e,t,r)=>r],(e,t,r,n,a,o)=>{var u=a.padding;return o?[n.height-u.bottom,u.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lc=(e,t,r,n)=>{var a;switch(t){case"xAxis":return gA(e,r,n);case"yAxis":return vA(e,r,n);case"zAxis":return(a=j0(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return JP(e);case"radiusAxis":return eC(e,r);default:return}},yA=G([cr,lc],Th),Z9=G([Ys,G9],MF),C0=G([cr,Ys,Z9,yA],w0),xA=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,u=zn(e,n);if(u&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},A0=G([ut,sc,oc,Dt],xA),Gh=G([C0],Xy);G([C0],d9);G([C0,E9],LC);G([qs,N0,Dt],_9);function bA(e,t){return e.idt.id?1:0}var Vh=(e,t)=>t,qh=(e,t,r)=>r,J9=G(kh,Vh,qh,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(bA)),eU=G(Sh,Vh,qh,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(bA)),wA=(e,t)=>({width:e.width,height:t.height}),tU=(e,t)=>{var r=typeof t.width=="number"?t.width:Xu;return{width:r,height:e.height}},rU=G(Vt,vi,wA),nU=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},iU=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},aU=G(mi,Vt,J9,Vh,qh,(e,t,r,n,a)=>{var o={},u;return r.forEach(l=>{var f=wA(t,l);u==null&&(u=nU(t,n,e));var h=n==="top"&&!a||n==="bottom"&&a;o[l.id]=u-Number(h)*f.height,u+=(h?-1:1)*f.height}),o}),oU=G(pi,Vt,eU,Vh,qh,(e,t,r,n,a)=>{var o={},u;return r.forEach(l=>{var f=tU(t,l);u==null&&(u=iU(t,n,e));var h=n==="left"&&!a||n==="right"&&a;o[l.id]=u-Number(h)*f.width,u+=(h?-1:1)*f.width}),o}),sU=(e,t)=>{var r=vi(e,t);if(r!=null)return aU(e,r.orientation,r.mirror)},lU=G([Vt,vi,sU,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r==null?void 0:r[n];return a==null?{x:e.left,y:0}:{x:e.left,y:a}}}),uU=(e,t)=>{var r=yi(e,t);if(r!=null)return oU(e,r.orientation,r.mirror)},cU=G([Vt,yi,uU,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r==null?void 0:r[n];return a==null?{x:0,y:e.top}:{x:a,y:e.top}}}),dU=G(Vt,yi,(e,t)=>{var r=typeof t.width=="number"?t.width:Xu;return{width:r,height:e.height}}),jA=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,u=r.dataKey,l=zn(e,n),f=t.map(p=>p.value),h=f.filter(p=>p!=null);if(u&&l&&o==="category"&&a&&mE(h))return f}},O0=G([ut,sc,cr,Dt],jA),aS=G([ut,b9,Ys,Gh,O0,A0,lc,P0,Dt],(e,t,r,n,a,o,u,l,f)=>{if(t!=null){var h=zn(e,f);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:f,categoricalDomain:o,duplicateDomain:a,isCategorical:h,niceTicks:l,range:u,realScaleType:r,scale:n}}}),fU=(e,t,r,n,a,o,u,l,f)=>{if(!(t==null||n==null)){var h=zn(e,f),p=t.type,g=t.ticks,x=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,j=p==="category"&&n.bandwidth?n.bandwidth()/b:0;j=f==="angleAxis"&&o!=null&&o.length>=2?Hr(o[0]-o[1])*2*j:j;var k=g||a;return k?k.map((S,N)=>{var P=u?u.indexOf(S):S,O=n.map(P);return Be(O)?{index:N,coordinate:O+j,value:S,offset:j}:null}).filter(xr):h&&l?l.map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:S,index:N,offset:j}:null}).filter(xr):n.ticks?n.ticks(x).map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:S,index:N,offset:j}:null}).filter(xr):n.domain().map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:u?u[S]:S,index:N,offset:j}:null}).filter(xr)}},kA=G([ut,oc,Ys,Gh,P0,lc,O0,A0,Dt],fU),hU=(e,t,r,n,a,o,u)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=zn(e,u),f=t.tickCount,h=0;return h=u==="angleAxis"&&(n==null?void 0:n.length)>=2?Hr(n[0]-n[1])*2*h:h,l&&o?o.map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:p,index:g,offset:h}:null}).filter(xr):r.ticks?r.ticks(f).map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:p,index:g,offset:h}:null}).filter(xr):r.domain().map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:a?a[p]:p,index:g,offset:h}:null}).filter(xr)}},SA=G([ut,oc,Gh,lc,O0,A0,Dt],hU),NA=G(cr,Gh,(e,t)=>{if(!(e==null||t==null))return Wf(Wf({},e),{},{scale:t})}),pU=G([cr,Ys,E0,yA],w0),mU=G([pU],Xy);G((e,t,r)=>j0(e,r),mU,(e,t)=>{if(!(e==null||t==null))return Wf(Wf({},e),{},{scale:t})});var gU=G([ut,kh,Sh],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),vU=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};G([vU],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var u=Math.abs(o.coordinate-t);ue.options.defaultTooltipEventType,PA=e=>e.options.validateTooltipEventTypes;function CA(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function uc(e,t){var r=EA(e),n=PA(e);return CA(t,r,n)}function yU(e){return Ae(t=>uc(t,e))}var AA=(e,t)=>{var r,n=Number(t);if(!(Tn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},xU=e=>e.tooltip.settings,Yi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},bU={itemInteraction:{click:Yi,hover:Yi},axisInteraction:{click:Yi,hover:Yi},keyboardInteraction:Yi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},OA=rr({name:"tooltip",initialState:bU,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:at()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=a)},prepare:at()},removeTooltipEntrySettings:{reducer(e,t){var r=Kr(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:at()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Zr=OA.actions,wU=Zr.addTooltipEntrySettings,jU=Zr.replaceTooltipEntrySettings,kU=Zr.removeTooltipEntrySettings,SU=Zr.setTooltipSettingsState,NU=Zr.setActiveMouseOverItemIndex;Zr.mouseLeaveItem;var _A=Zr.mouseLeaveChart;Zr.setActiveClickItemIndex;var MA=Zr.setMouseOverAxisIndex,EU=Zr.setMouseClickAxisIndex,lu=Zr.setSyncInteraction,Kf=Zr.setKeyboardInteraction,PU=OA.reducer;function oS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Wd(e){for(var t=1;t{if(t==null)return Yi;var a=_U(e,t,r);if(a==null)return Yi;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(MU(a)){if(o)return Wd(Wd({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Wd(Wd({},Yi),{},{coordinate:a.coordinate})};function IU(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function TU(e,t){var r=IU(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),u=Math.max(n,a);return r>=o&&r<=u}function DU(e,t,r){if(r==null||t==null)return!0;var n=Tt(e,t);return n==null||!Mn(r)?!0:TU(n,r)}var du=(e,t,r,n)=>{var a=e==null?void 0:e.index;if(a==null)return null;var o=Number(a);if(!Be(o))return a;var u=0,l=1/0;t.length>0&&(l=t.length-1);var f=Math.max(u,Math.min(o,l)),h=t[f];return h==null||DU(h,r,n)?String(f):null},TA=(e,t,r,n,a,o,u)=>{if(o!=null){var l=u[0],f=l==null?void 0:l.getPosition(o);if(f!=null)return f;var h=a==null?void 0:a[Number(o)];if(h)switch(r){case"horizontal":return{x:h.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:h.coordinate}}}},DA=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var a;if(r==="hover"?a=e.itemInteraction.hover.graphicalItemId:a=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&a==null)return e.tooltipItemPayloads;if(a==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(u=>{var l;return((l=u.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})},RA=e=>e.options.tooltipPayloadSearcher,Xs=e=>e.tooltip;function sS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lS(e){for(var t=1;te(t)}function uS(e){if(typeof e=="string")return e}function UU(e){if(!(e==null||typeof e!="object")){var t="name"in e?zU(e.name):void 0,r="unit"in e?FU(e.unit):void 0,n="dataKey"in e?BU(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?uS(e.color):void 0,u="fill"in e?uS(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:u}}}function WU(e,t){return e??t}var $A=(e,t,r,n,a,o,u)=>{if(!(t==null||o==null)){var l=r.chartData,f=r.computedData,h=r.dataStartIndex,p=r.dataEndIndex,g=[];return e.reduce((x,b)=>{var j,k=b.dataDefinedOnItem,S=b.settings,N=WU(k,l),P=Array.isArray(N)?lP(N,h,p):N,O=(j=S==null?void 0:S.dataKey)!==null&&j!==void 0?j:n,C=S==null?void 0:S.nameKey,_;if(n&&Array.isArray(P)&&!Array.isArray(P[0])&&u==="axis"?_=gE(P,n,a):_=o(P,t,f,C),Array.isArray(_))_.forEach(I=>{var U,B,K=UU(I),X=K==null?void 0:K.name,$=K==null?void 0:K.dataKey,ue=K==null?void 0:K.payload,J=lS(lS({},S),{},{name:X,unit:K==null?void 0:K.unit,color:(U=K==null?void 0:K.color)!==null&&U!==void 0?U:S==null?void 0:S.color,fill:(B=K==null?void 0:K.fill)!==null&&B!==void 0?B:S==null?void 0:S.fill});x.push(nj({tooltipEntrySettings:J,dataKey:$,payload:ue,value:Tt(ue,$),name:X==null?void 0:String(X)}))});else{var A;x.push(nj({tooltipEntrySettings:S,dataKey:O,payload:_,value:Tt(_,O),name:(A=Tt(_,C))!==null&&A!==void 0?A:S==null?void 0:S.name}))}return x},g)}},_0=G([Ct,UC,Wy],$C),HU=G([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),KU=G([Rt,Gs],WC),bo=G([HU,Ct,KU],KC,{memoizeOptions:{resultEqualityCheck:zh}}),GU=G([bo],e=>e.filter(Yy)),LA=G([bo],qC,{memoizeOptions:{resultEqualityCheck:zh}}),VU=G([bo],e=>e.some(t=>!t.data)),fo=G([LA,mn],YC),qU=G([GU,mn,Ct],rC),M0=G([fo,Ct,bo,mn,VU,LA],XC),zA=G([Ct],S0),QU=G([Ct],e=>e.allowDataOverflow),FA=G([zA,QU],LP),YU=G([bo],e=>e.filter(Yy)),XU=G([qU,YU,Ih,QP],JC),ZU=G([XU,mn,Rt,FA],tA),JU=G([bo],VC),e7=G([fo,Ct,JU,N0,Rt,uF],iA,{memoizeOptions:{resultEqualityCheck:Lh}}),t7=G([aA,Rt,Gs],Qs),r7=G([t7,Rt],lA),n7=G([oA,Rt,Gs],Qs),i7=G([n7,Rt],uA),a7=G([sA,Rt,Gs],Qs),o7=G([a7,Rt],cA),s7=G([r7,o7,i7],Hf),l7=G([Ct,zA,FA,ZU,e7,s7,ut,Rt],dA),Ls=G([Ct,ut,fo,M0,Ih,Rt,l7],fA),u7=G([Ls,Ct,_0],hA),c7=G([Ct,Ls,u7,Rt],pA),BA=e=>{var t=Rt(e),r=Gs(e),n=!1;return lc(e,t,r,n)},UA=G([Ct,BA],Th),d7=G([Ct,_0,c7,UA],w0),WA=G([d7],Xy),f7=G([ut,M0,Ct,Rt],jA),h7=G([ut,M0,Ct,Rt],xA),p7=(e,t,r,n,a,o,u,l)=>{if(t){var f=t.type,h=zn(e,l);if(n){var p=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,g=f==="category"&&n.bandwidth?n.bandwidth()/p:0;return g=l==="angleAxis"&&a!=null&&(a==null?void 0:a.length)>=2?Hr(a[0]-a[1])*2*g:g,h&&u?u.map((x,b)=>{var j=n.map(x);return Be(j)?{coordinate:j+g,value:x,index:b,offset:g}:null}).filter(xr):n.domain().map((x,b)=>{var j=n.map(x);return Be(j)?{coordinate:j+g,value:o?o[x]:x,index:b,offset:g}:null}).filter(xr)}}},xi=G([ut,Ct,_0,WA,BA,f7,h7,Rt],p7),I0=G([EA,PA,xU],(e,t,r)=>CA(r.shared,e,t)),HA=e=>e.tooltip.settings.trigger,T0=e=>e.tooltip.settings.defaultIndex,cc=G([Xs,I0,HA,T0],IA),zu=G([cc,fo,$s,Ls],du),KA=G([xi,zu],AA),m7=G([cc],e=>{if(e)return e.dataKey}),g7=G([cc],e=>{if(e)return e.graphicalItemId}),GA=G([Xs,I0,HA,T0],DA),v7=G([pi,mi,ut,Vt,xi,T0,GA],TA),y7=G([cc,v7],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),x7=G([cc],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),b7=G([GA,zu,mn,$s,KA,RA,I0],$A),w7=G([b7],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function cS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function dS(e){for(var t=1;tAe(Ct),E7=()=>{var e=N7(),t=Ae(xi),r=Ae(WA);return wf(!e||!r?void 0:dS(dS({},e),{},{scale:r}),t)};function fS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Jo(e){for(var t=1;t{var a=t.find(o=>o&&o.index===r);if(a){if(e==="horizontal")return{x:a.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:a.coordinate}}return{x:0,y:0}},_7=(e,t,r,n)=>{var a=t.find(h=>h&&h.index===r);if(a){if(e==="centric"){var o=a.coordinate,u=n.radius;return Jo(Jo(Jo({},n),Ht(n.cx,n.cy,u,o)),{},{angle:o,radius:u})}var l=a.coordinate,f=n.angle;return Jo(Jo(Jo({},n),Ht(n.cx,n.cy,l,f)),{},{angle:f,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function M7(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var VA=(e,t,r,n,a)=>{var o,u=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(u<=1||e==null)return 0;if(n==="angleAxis"&&a!=null&&Math.abs(Math.abs(a[1]-a[0])-360)<=1e-6)for(var l=0;l0?(f=r[l-1])===null||f===void 0?void 0:f.coordinate:(h=r[u-1])===null||h===void 0?void 0:h.coordinate,j=(p=r[l])===null||p===void 0?void 0:p.coordinate,k=l>=u-1?(g=r[0])===null||g===void 0?void 0:g.coordinate:(x=r[l+1])===null||x===void 0?void 0:x.coordinate,S=void 0;if(!(b==null||j==null||k==null))if(Hr(j-b)!==Hr(k-j)){var N=[];if(Hr(k-j)===Hr(a[1]-a[0])){S=k;var P=j+a[1]-a[0];N[0]=Math.min(P,(P+b)/2),N[1]=Math.max(P,(P+b)/2)}else{S=b;var O=k+a[1]-a[0];N[0]=Math.min(j,(O+j)/2),N[1]=Math.max(j,(O+j)/2)}var C=[Math.min(j,(S+j)/2),Math.max(j,(S+j)/2)];if(e>C[0]&&e<=C[1]||e>=N[0]&&e<=N[1]){var _;return(_=r[l])===null||_===void 0?void 0:_.index}}else{var A=Math.min(b,k),I=Math.max(b,k);if(e>(A+j)/2&&e<=(I+j)/2){var U;return(U=r[l])===null||U===void 0?void 0:U.index}}}else if(t)for(var B=0;B(K.coordinate+$.coordinate)/2||B>0&&B(K.coordinate+$.coordinate)/2&&e<=(K.coordinate+X.coordinate)/2)return K.index}}return-1},qA=()=>Ae(Wy),D0=(e,t)=>t,QA=(e,t,r)=>r,R0=(e,t,r,n)=>n,I7=G(xi,e=>fh(e,t=>t.coordinate)),$0=G([Xs,D0,QA,R0],IA),L0=G([$0,fo,$s,Ls],du),T7=(e,t,r)=>{if(t!=null){var n=Xs(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},YA=G([Xs,D0,QA,R0],DA),Gf=G([pi,mi,ut,Vt,xi,R0,YA],TA),D7=G([$0,Gf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),XA=G([xi,L0],AA),R7=G([YA,L0,mn,$s,XA,RA,D0],$A),$7=G([$0,L0],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),L7=(e,t,r,n,a,o,u)=>{if(!(!e||!r||!n||!a)&&M7(e,u)){var l=X$(e,t),f=VA(l,o,a,r,n),h=O7(t,a,f,e);return{activeIndex:String(f),activeCoordinate:h}}},z7=(e,t,r,n,a,o,u)=>{if(!(!e||!n||!a||!o||!r)){var l=eF(e,r);if(l){var f=Z$(l,t),h=VA(f,u,o,n,a),p=_7(t,o,h,l);return{activeIndex:String(h),activeCoordinate:p}}}},F7=(e,t,r,n,a,o,u,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?L7(e,t,n,a,o,u,l):z7(e,t,r,n,a,o,u)},B7=G(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),U7=G(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(or)),r=Array.from(new Set(t));return r.sort((n,a)=>n-a)},{memoizeOptions:{resultEqualityCheck:_F}});function hS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pS(e){for(var t=1;tpS(pS({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),G7)},q7=new Set(Object.values(or));function Q7(e){return q7.has(e)}var ZA=rr({name:"zIndex",initialState:V7,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:at()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!Q7(r)&&delete e.zIndexMap[r])},prepare:at()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=a:e.zIndexMap[n].element=a:e.zIndexMap[n]={consumers:0,element:o?void 0:a,panoramaElement:o?a:void 0}},prepare:at()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:at()}}}),Qh=ZA.actions,Y7=Qh.registerZIndexPortal,kg=Qh.unregisterZIndexPortal,X7=Qh.registerZIndexPortalElement,Z7=Qh.unregisterZIndexPortalElement,J7=ZA.reducer;function bi(e){var t=e.zIndex,r=e.children,n=RL(),a=n&&t!==void 0&&t!==0,o=wr(),u=v.useRef(void 0),l=v.useRef(new Set),f=jt(),h=Ae(g=>B7(g,t,o));if(v.useLayoutEffect(()=>{if(!a){var g=l.current;g.forEach(b=>{f(kg({zIndex:b}))}),g.clear(),u.current=void 0;return}if(l.current.has(t)||(f(Y7({zIndex:t})),l.current.add(t)),h){u.current=h;var x=l.current;x.forEach(b=>{b!==t&&(f(kg({zIndex:b})),x.delete(b))})}},[f,t,a,h]),v.useLayoutEffect(()=>{var g=l.current;return()=>{g.forEach(x=>{f(kg({zIndex:x}))}),g.clear()}},[f]),!a)return r;var p=h??u.current;return p?nh.createPortal(r,p):null}function Gv(){return Gv=Object.assign?Object.assign.bind():function(e){for(var t=1;tv.useContext(JA),Sg={exports:{}},gS;function sW(){return gS||(gS=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function a(f,h,p){this.fn=f,this.context=h,this.once=p||!1}function o(f,h,p,g,x){if(typeof p!="function")throw new TypeError("The listener must be a function");var b=new a(p,g||f,x),j=r?r+h:h;return f._events[j]?f._events[j].fn?f._events[j]=[f._events[j],b]:f._events[j].push(b):(f._events[j]=b,f._eventsCount++),f}function u(f,h){--f._eventsCount===0?f._events=new n:delete f._events[h]}function l(){this._events=new n,this._eventsCount=0}l.prototype.eventNames=function(){var h=[],p,g;if(this._eventsCount===0)return h;for(g in p=this._events)t.call(p,g)&&h.push(r?g.slice(1):g);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(p)):h},l.prototype.listeners=function(h){var p=r?r+h:h,g=this._events[p];if(!g)return[];if(g.fn)return[g.fn];for(var x=0,b=g.length,j=new Array(b);x{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Tn(r))return e[r]}},dW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},eO=rr({name:"options",initialState:dW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),fW=eO.reducer,hW=eO.actions.createEventEmitter;function pW(e){return e.tooltip.syncInteraction}var mW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},tO=rr({name:"chartData",initialState:mW,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,a=r.endIndex;n!=null&&(e.dataStartIndex=n),a!=null&&(e.dataEndIndex=a)}}}),z0=tO.actions,yS=z0.setChartData,gW=z0.setDataStartEndIndexes;z0.setComputedData;var vW=tO.reducer,yW=["x","y"];function xS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function es(e){for(var t=1;tf.rootProps.className);v.useEffect(()=>{if(e==null)return Us;var f=(h,p,g)=>{if(t!==g&&e===h){if(p.payload.active===!1){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var x;if(u&&p!==null&&p!==void 0&&(x=p.payload)!==null&&x!==void 0&&x.coordinate&&p.payload.sourceViewBox){var b=p.payload.coordinate,j=b.x,k=b.y,S=jW(b,yW),N=p.payload.sourceViewBox,P=N.x,O=N.y,C=N.width,_=N.height,A=es(es({},S),{},{x:u.x+(C?(j-P)/C:0)*u.width,y:u.y+(_?(k-O)/_:0)*u.height});r(es(es({},p),{},{payload:es(es({},p.payload),{},{coordinate:A})}))}else r(p);return}if(a!=null){var I;if(typeof n=="function"){var U={activeTooltipIndex:p.payload.index==null?void 0:Number(p.payload.index),isTooltipActive:p.payload.active,activeIndex:p.payload.index==null?void 0:Number(p.payload.index),activeLabel:p.payload.label,activeDataKey:p.payload.dataKey,activeCoordinate:p.payload.coordinate},B=n(a,U);I=a[B]}else n==="value"&&(I=a.find(pe=>String(pe.value)===p.payload.label));var K=p.payload.coordinate;if(K==null||u==null){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(I==null){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:void 0}));return}var X=K.x,$=K.y,ue=Math.min(X,u.x+u.width),J=Math.min($,u.y+u.height),ge={x:o==="horizontal"?I.coordinate:ue,y:o==="horizontal"?J:I.coordinate},we=lu({active:p.payload.active,coordinate:ge,dataKey:p.payload.dataKey,index:String(I.index),label:p.payload.label,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:p.payload.graphicalItemId});r(we)}}};return Fu.on(Vv,f),()=>{Fu.off(Vv,f)}},[l,r,t,e,n,a,o,u])}function NW(){var e=Ae(Hy),t=Ae(Ky),r=jt();v.useEffect(()=>{if(e==null)return Us;var n=(a,o,u)=>{t!==u&&e===a&&r(gW(o))};return Fu.on(vS,n),()=>{Fu.off(vS,n)}},[r,t,e])}function EW(){var e=jt();v.useEffect(()=>{e(hW())},[e]),SW(),NW()}function PW(e,t,r,n,a,o){var u=Ae(j=>T7(j,e,t)),l=Ae(g7),f=Ae(Ky),h=Ae(Hy),p=Ae(YP),g=Ae(pW),x=(g==null?void 0:g.sourceViewBox)!=null,b=Ph();v.useEffect(()=>{if(!x&&h!=null&&f!=null){var j=lu({active:o,coordinate:r,dataKey:u,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:l});Fu.emit(Vv,h,j,f)}},[x,r,u,l,a,n,f,h,p,o,b])}function bS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function wS(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{I(SU({shared:P,trigger:O,axisId:A,active:a,defaultIndex:U}))},[I,P,O,A,a,U]);var B=Ph(),K=AP(),X=yU(P),$=(t=Ae(_e=>$7(_e,X,O,U)))!==null&&t!==void 0?t:{},ue=$.activeIndex,J=$.isActive,ge=Ae(_e=>R7(_e,X,O,U)),we=Ae(_e=>XA(_e,X,O,U)),pe=Ae(_e=>D7(_e,X,O,U)),Y=ge,V=oW(),Q=(r=a??J)!==null&&r!==void 0?r:!1,D=$R([Y,Q]),T=_W(D,2),ee=T[0],ie=T[1],re=X==="axis"?we:void 0;PW(X,O,pe,re,ue,Q);var ce=_??V;if(ce==null||B==null||X==null)return null;var me=Y??kS;Q||(me=kS),h&&me.length&&(me=oR(me.filter(_e=>_e.value!=null&&(_e.hide!==!0||n.includeHidden)),x,RW));var Oe=me.length>0,te=wS(wS({},n),{},{payload:me,label:re,active:Q,activeIndex:ue,coordinate:pe,accessibilityLayer:K}),ke=v.createElement(qz,{allowEscapeViewBox:o,animationDuration:u,animationEasing:l,isAnimationActive:p,active:Q,coordinate:pe,hasPayload:Oe,offset:g,position:b,reverseDirection:j,useTranslate3d:k,viewBox:B,wrapperStyle:S,lastBoundingBox:ee,innerRef:ie,hasPortalFromProps:!!_},$W(f,te));return v.createElement(v.Fragment,null,nh.createPortal(ke,ce),Q&&v.createElement(aW,{cursor:N,tooltipEventType:X,coordinate:pe,payload:me,index:ue}))}function FW(e,t,r){return(t=BW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function BW(e){var t=UW(e,"string");return typeof t=="symbol"?t:t+""}function UW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class WW{constructor(t){FW(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function SS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function HW(e){for(var t=1;t{try{var r=document.getElementById(ES);r||(r=document.createElement("span"),r.setAttribute("id",ES),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,QW,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},fu=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||tc.isSsr)return{width:0,height:0};if(!rO.enableCache)return PS(t,r);var n=YW(t,r),a=NS.get(n);if(a)return a;var o=PS(t,r);return NS.set(n,o),o},nO;function Vf(e,t){return eH(e)||JW(e,t)||ZW(e,t)||XW()}function XW(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZW(e,t){if(e){if(typeof e=="string")return CS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?CS(e,t):void 0}}function CS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var a=[];Kt(t)||(r?a=t.toString().split(""):a=t.toString().split(aO));var o=a.map(l=>({word:l,width:fu(l,n).width})),u=r?0:fu(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}};function sO(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function bH(e){return Kt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var lO=(e,t,r,n)=>e.reduce((a,o)=>{var u=o.word,l=o.width,f=a[a.length-1];if(f&&l!=null&&(t==null||n||f.width+l+re.reduce((t,r)=>t.width>r.width?t:r),wH="…",DS=(e,t,r,n,a,o,u,l)=>{var f=e.slice(0,t),h=oO({breakAll:r,style:n,children:f+wH});if(!h)return[!1,[]];var p=lO(h.wordsWithComputedWidth,o,u,l),g=p.length>a||uO(p).width>Number(o);return[g,p]},jH=(e,t,r,n,a)=>{var o=e.maxLines,u=e.children,l=e.style,f=e.breakAll,h=Ne(o),p=String(u),g=lO(t,n,r,a);if(!h||a)return g;var x=g.length>o||uO(g).width>Number(n);if(!x)return g;for(var b=0,j=p.length-1,k=0,S;b<=j&&k<=p.length-1;){var N=Math.floor((b+j)/2),P=N-1,O=DS(p,P,f,l,o,n,r,a),C=IS(O,2),_=C[0],A=C[1],I=DS(p,N,f,l,o,n,r,a),U=IS(I,1),B=U[0];if(!_&&!B&&(b=N+1),_&&B&&(j=N-1),!_&&B){S=A;break}k++}return S||g},RS=e=>{var t=Kt(e)?[]:e.toString().split(aO);return[{words:t,width:void 0}]},kH=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,u=e.maxLines;if((t||r)&&!tc.isSsr){var l,f,h=oO({breakAll:o,children:n,style:a});if(h){var p=h.wordsWithComputedWidth,g=h.spaceWidth;l=p,f=g}else return RS(n);return jH({breakAll:o,children:n,maxLines:u,style:a},l,f,t,!!r)}return RS(n)},cO="#808080",SH={angle:0,breakAll:!1,capHeight:"0.71em",fill:cO,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},F0=v.forwardRef((e,t)=>{var r=Yr(e,SH),n=r.x,a=r.y,o=r.lineHeight,u=r.capHeight,l=r.fill,f=r.scaleToFit,h=r.textAnchor,p=r.verticalAnchor,g=MS(r,hH),x=v.useMemo(()=>kH({breakAll:g.breakAll,children:g.children,maxLines:g.maxLines,scaleToFit:f,style:g.style,width:g.width}),[g.breakAll,g.children,g.maxLines,f,g.style,g.width]),b=g.dx,j=g.dy,k=g.angle,S=g.className,N=g.breakAll,P=MS(g,pH);if(!Dn(n)||!Dn(a)||x.length===0)return null;var O=Number(n)+(Ne(b)?b:0),C=Number(a)+(Ne(j)?j:0);if(!Be(O)||!Be(C))return null;var _;switch(p){case"start":_=Ng("calc(".concat(u,")"));break;case"middle":_=Ng("calc(".concat((x.length-1)/2," * -").concat(o," + (").concat(u," / 2))"));break;default:_=Ng("calc(".concat(x.length-1," * -").concat(o,")"));break}var A=[],I=x[0];if(f&&I!=null){var U=I.width,B=g.width;A.push("scale(".concat(Ne(B)&&Ne(U)?B/U:1,")"))}return k&&A.push("rotate(".concat(k,", ").concat(O,", ").concat(C,")")),A.length&&(P.transform=A.join(" ")),v.createElement("text",qv({},Vr(P),{ref:t,x:O,y:C,className:et("recharts-text",S),textAnchor:h,fill:l.includes("url")?cO:l}),x.map((K,X)=>{var $=K.words.join(N?"":" ");return v.createElement("tspan",{x:O,dy:X===0?_:o,key:"".concat($,"-").concat(X)},$)}))});F0.displayName="Text";function $S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Sn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,u=Ty(t),l=u.x,f=u.y,h=u.height,p=u.upperWidth,g=u.lowerWidth,x=l,b=l+(p-g)/2,j=(x+b)/2,k=(p+g)/2,S=x+p/2,N=h>=0?1:-1,P=N*a,O=N>0?"end":"start",C=N>0?"start":"end",_=p>=0?1:-1,A=_*a,I=_>0?"end":"start",U=_>0?"start":"end",B=o;if(r==="top"){var K={x:x+p/2,y:f-P,horizontalAnchor:"middle",verticalAnchor:O};return B&&(K.height=Math.max(f-B.y,0),K.width=p),K}if(r==="bottom"){var X={x:b+g/2,y:f+h+P,horizontalAnchor:"middle",verticalAnchor:C};return B&&(X.height=Math.max(B.y+B.height-(f+h),0),X.width=g),X}if(r==="left"){var $={x:j-A,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"};return B&&($.width=Math.max($.x-B.x,0),$.height=h),$}if(r==="right"){var ue={x:j+k+A,y:f+h/2,horizontalAnchor:U,verticalAnchor:"middle"};return B&&(ue.width=Math.max(B.x+B.width-ue.x,0),ue.height=h),ue}var J=B?{width:k,height:h}:{};return r==="insideLeft"?Sn({x:j+A,y:f+h/2,horizontalAnchor:U,verticalAnchor:"middle"},J):r==="insideRight"?Sn({x:j+k-A,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"},J):r==="insideTop"?Sn({x:x+p/2,y:f+P,horizontalAnchor:"middle",verticalAnchor:C},J):r==="insideBottom"?Sn({x:b+g/2,y:f+h-P,horizontalAnchor:"middle",verticalAnchor:O},J):r==="insideTopLeft"?Sn({x:x+A,y:f+P,horizontalAnchor:U,verticalAnchor:C},J):r==="insideTopRight"?Sn({x:x+p-A,y:f+P,horizontalAnchor:I,verticalAnchor:C},J):r==="insideBottomLeft"?Sn({x:b+A,y:f+h-P,horizontalAnchor:U,verticalAnchor:O},J):r==="insideBottomRight"?Sn({x:b+g-A,y:f+h-P,horizontalAnchor:I,verticalAnchor:O},J):r&&typeof r=="object"&&(Ne(r.x)||oo(r.x))&&(Ne(r.y)||oo(r.y))?Sn({x:l+da(r.x,k),y:f+da(r.y,h),horizontalAnchor:"end",verticalAnchor:"end"},J):Sn({x:S,y:f+h/2,horizontalAnchor:"middle",verticalAnchor:"middle"},J)},AH=["labelRef"],OH=["content"];function LS(e,t){if(e==null)return{};var r,n,a=_H(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,u=e.height,l=e.children,f=v.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:u}),[t,r,n,a,o,u]);return v.createElement(dO.Provider,{value:f},l)},fO=()=>{var e=v.useContext(dO),t=Ph();return e||(t?Ty(t):void 0)},RH=v.createContext(null),$H=()=>{var e=v.useContext(RH),t=Ae(tC);return e||t},LH=e=>{var t=e.value,r=e.formatter,n=Kt(e.children)?t:e.children;return typeof r=="function"?r(n):n},B0=e=>e!=null&&typeof e=="function",zH=(e,t)=>{var r=Hr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},FH=(e,t,r,n,a)=>{var o=e.offset,u=e.className,l=a.cx,f=a.cy,h=a.innerRadius,p=a.outerRadius,g=a.startAngle,x=a.endAngle,b=a.clockWise,j=(h+p)/2,k=zH(g,x),S=k>=0?1:-1,N,P;switch(t){case"insideStart":N=g+S*o,P=b;break;case"insideEnd":N=x-S*o,P=!b;break;case"end":N=x+S*o,P=b;break;default:throw new Error("Unsupported position ".concat(t))}P=k<=0?P:!P;var O=Ht(l,f,j,N),C=Ht(l,f,j,N+(P?1:-1)*359),_="M".concat(O.x,",").concat(O.y,` + A`,",",",0,0,",",",",","Z"])),X.x,X.y,o,o,+(p<0),K.x,K.y,n,n,+(ue>180),+(p>0),A.x,A.y,o,o,+(p<0),I.x,I.y)}else C+=Bt(sk||(sk=Ba(["L",",","Z"])),t,r);return C},rF={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},nF=e=>{var t=Yr(e,rF),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,u=t.cornerRadius,l=t.forceCornerRadius,f=t.cornerIsExternal,h=t.startAngle,p=t.endAngle,g=t.className;if(o0&&Math.abs(h-p)<360?k=tF({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(j,b/2),forceCornerRadius:l,cornerIsExternal:f,startAngle:h,endAngle:p}):k=RP({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:h,endAngle:p}),v.createElement("path",$v({},Vr(t),{className:x,d:k}))};function iF(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(vE(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,u=t.outerRadius,l=t.angle,f=Ht(n,a,o,l),h=Ht(n,a,u,l);return[{x:f.x,y:f.y},{x:h.x,y:h.y}]}return DP(t)}}function aF(e){return _E(e)?NaN:Number(e)}function pg(e){return e?(e=aF(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function $P(e,t,r){r&&typeof r!="number"&&vv(e,t,r)&&(t=r=void 0),e=pg(e),t===void 0?(t=e,e=0):t=pg(t),r=r===void 0?ee.chartData,Ly=G([mn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Mh=(e,t,r,n)=>n?Ly(e):mn(e),oF=(e,t,r)=>r?Ly(e):mn(e),sF=G([Mh],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});G([Ly],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});var lF=G([mn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zy(e,t){return fF(e)||dF(e,t)||cF(e,t)||uF()}function uF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cF(e,t){if(e){if(typeof e=="string")return lk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lk(e,t):void 0}}function lk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.e^o.s<0?1:-1;for(n=o.d.length,a=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===a?0:n>a^o.s<0?1:-1};be.decimalPlaces=be.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*ot;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};be.dividedBy=be.div=function(e){return li(this,new this.constructor(e))};be.dividedToIntegerBy=be.idiv=function(e){var t=this,r=t.constructor;return Ye(li(t,new r(e),0,1),r.precision)};be.equals=be.eq=function(e){return!this.cmp(e)};be.exponent=function(){return bt(this)};be.greaterThan=be.gt=function(e){return this.cmp(e)>0};be.greaterThanOrEqualTo=be.gte=function(e){return this.cmp(e)>=0};be.isInteger=be.isint=function(){return this.e>this.d.length-2};be.isNegative=be.isneg=function(){return this.s<0};be.isPositive=be.ispos=function(){return this.s>0};be.isZero=function(){return this.s===0};be.lessThan=be.lt=function(e){return this.cmp(e)<0};be.lessThanOrEqualTo=be.lte=function(e){return this.cmp(e)<1};be.logarithm=be.log=function(e){var t,r=this,n=r.constructor,a=n.precision,o=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Ar))throw Error(Qr+"NaN");if(r.s<1)throw Error(Qr+(r.s?"NaN":"-Infinity"));return r.eq(Ar)?new n(0):(lt=!1,t=li(Iu(r,o),Iu(e,o),o),lt=!0,Ye(t,a))};be.minus=be.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?UP(t,e):FP(t,(e.s=-e.s,e))};be.modulo=be.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Qr+"NaN");return r.s?(lt=!1,t=li(r,e,0,1).times(e),lt=!0,r.minus(t)):Ye(new n(r),a)};be.naturalExponential=be.exp=function(){return BP(this)};be.naturalLogarithm=be.ln=function(){return Iu(this)};be.negated=be.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};be.plus=be.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?FP(t,e):UP(t,(e.s=-e.s,e))};be.precision=be.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(to+e);if(t=bt(a)+1,n=a.d.length-1,r=n*ot+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};be.squareRoot=be.sqrt=function(){var e,t,r,n,a,o,u,l=this,f=l.constructor;if(l.s<1){if(!l.s)return new f(0);throw Error(Qr+"NaN")}for(e=bt(l),lt=!1,a=Math.sqrt(+l),a==0||a==1/0?(t=On(l.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Ks((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(a.toString()),r=f.precision,a=u=r+3;;)if(o=n,n=o.plus(li(l,o,u+2)).times(.5),On(o.d).slice(0,u)===(t=On(n.d)).slice(0,u)){if(t=t.slice(u-3,u+1),a==u&&t=="4999"){if(Ye(o,r+1,0),o.times(o).eq(l)){n=o;break}}else if(t!="9999")break;u+=4}return lt=!0,Ye(n,r)};be.times=be.mul=function(e){var t,r,n,a,o,u,l,f,h,p=this,g=p.constructor,x=p.d,b=(e=new g(e)).d;if(!p.s||!e.s)return new g(0);for(e.s*=p.s,r=p.e+e.e,f=x.length,h=b.length,f=0;){for(t=0,a=f+n;a>n;)l=o[a]+b[n]*x[a-n-1]+t,o[a--]=l%It|0,t=l/It|0;o[a]=(o[a]+t)%It|0}for(;!o[--u];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,lt?Ye(e,g.precision):e};be.toDecimalPlaces=be.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($n(e,0,Hs),t===void 0?t=n.rounding:$n(t,0,8),Ye(r,e+bt(r)+1,t))};be.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=co(n,!0):($n(e,0,Hs),t===void 0?t=a.rounding:$n(t,0,8),n=Ye(new a(n),e+1,t),r=co(n,!0,e+1)),r};be.toFixed=function(e,t){var r,n,a=this,o=a.constructor;return e===void 0?co(a):($n(e,0,Hs),t===void 0?t=o.rounding:$n(t,0,8),n=Ye(new o(a),e+bt(a)+1,t),r=co(n.abs(),!1,e+bt(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};be.toInteger=be.toint=function(){var e=this,t=e.constructor;return Ye(new t(e),bt(e)+1,t.rounding)};be.toNumber=function(){return+this};be.toPower=be.pow=function(e){var t,r,n,a,o,u,l=this,f=l.constructor,h=12,p=+(e=new f(e));if(!e.s)return new f(Ar);if(l=new f(l),!l.s){if(e.s<1)throw Error(Qr+"Infinity");return l}if(l.eq(Ar))return l;if(n=f.precision,e.eq(Ar))return Ye(l,n);if(t=e.e,r=e.d.length-1,u=t>=r,o=l.s,u){if((r=p<0?-p:p)<=zP){for(a=new f(Ar),t=Math.ceil(n/ot+4),lt=!1;r%2&&(a=a.times(l),dk(a.d,t)),r=Ks(r/2),r!==0;)l=l.times(l),dk(l.d,t);return lt=!0,e.s<0?new f(Ar).div(a):Ye(a,n)}}else if(o<0)throw Error(Qr+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,l.s=1,lt=!1,a=e.times(Iu(l,n+h)),lt=!0,a=BP(a),a.s=o,a};be.toPrecision=function(e,t){var r,n,a=this,o=a.constructor;return e===void 0?(r=bt(a),n=co(a,r<=o.toExpNeg||r>=o.toExpPos)):($n(e,1,Hs),t===void 0?t=o.rounding:$n(t,0,8),a=Ye(new o(a),e,t),r=bt(a),n=co(a,e<=r||r<=o.toExpNeg,e)),n};be.toSignificantDigits=be.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($n(e,1,Hs),t===void 0?t=n.rounding:$n(t,0,8)),Ye(new n(r),e,t)};be.toString=be.valueOf=be.val=be.toJSON=be[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=bt(e),r=e.constructor;return co(e,t<=r.toExpNeg||t>=r.toExpPos)};function FP(e,t){var r,n,a,o,u,l,f,h,p=e.constructor,g=p.precision;if(!e.s||!t.s)return t.s||(t=new p(e)),lt?Ye(t,g):t;if(f=e.d,h=t.d,u=e.e,a=t.e,f=f.slice(),o=u-a,o){for(o<0?(n=f,o=-o,l=h.length):(n=h,a=u,l=f.length),u=Math.ceil(g/ot),l=u>l?u+1:l+1,o>l&&(o=l,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(l=f.length,o=h.length,l-o<0&&(o=l,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/It|0,f[o]%=It;for(r&&(f.unshift(r),++a),l=f.length;f[--l]==0;)f.pop();return t.d=f,t.e=a,lt?Ye(t,g):t}function $n(e,t,r){if(e!==~~e||er)throw Error(to+e)}function On(e){var t,r,n,a=e.length-1,o="",u=e[0];if(a>0){for(o+=u,t=1;tu?1:-1;else for(l=f=0;la[l]?1:-1;break}return f}function r(n,a,o){for(var u=0;o--;)n[o]-=u,u=n[o]1;)n.shift()}return function(n,a,o,u){var l,f,h,p,g,x,b,j,k,S,N,P,O,C,_,A,I,U,B=n.constructor,K=n.s==a.s?1:-1,X=n.d,$=a.d;if(!n.s)return new B(n);if(!a.s)throw Error(Qr+"Division by zero");for(f=n.e-a.e,I=$.length,_=X.length,b=new B(K),j=b.d=[],h=0;$[h]==(X[h]||0);)++h;if($[h]>(X[h]||0)&&--f,o==null?P=o=B.precision:u?P=o+(bt(n)-bt(a))+1:P=o,P<0)return new B(0);if(P=P/ot+2|0,h=0,I==1)for(p=0,$=$[0],P++;(h<_||p)&&P--;h++)O=p*It+(X[h]||0),j[h]=O/$|0,p=O%$|0;else{for(p=It/($[0]+1)|0,p>1&&($=e($,p),X=e(X,p),I=$.length,_=X.length),C=I,k=X.slice(0,I),S=k.length;S=It/2&&++A;do p=0,l=t($,k,I,S),l<0?(N=k[0],I!=S&&(N=N*It+(k[1]||0)),p=N/A|0,p>1?(p>=It&&(p=It-1),g=e($,p),x=g.length,S=k.length,l=t(g,k,x,S),l==1&&(p--,r(g,I16)throw Error(Fy+bt(e));if(!e.s)return new p(Ar);for(lt=!1,l=g,u=new p(.03125);e.abs().gte(.1);)e=e.times(u),h+=5;for(n=Math.log(La(2,h))/Math.LN10*2+5|0,l+=n,r=a=o=new p(Ar),p.precision=l;;){if(a=Ye(a.times(e),l),r=r.times(++f),u=o.plus(li(a,r,l)),On(u.d).slice(0,l)===On(o.d).slice(0,l)){for(;h--;)o=Ye(o.times(o),l);return p.precision=g,t==null?(lt=!0,Ye(o,g)):o}o=u}}function bt(e){for(var t=e.e*ot,r=e.d[0];r>=10;r/=10)t++;return t}function mg(e,t,r){if(t>e.LN10.sd())throw lt=!0,r&&(e.precision=r),Error(Qr+"LN10 precision limit exceeded");return Ye(new e(e.LN10),t)}function qi(e){for(var t="";e--;)t+="0";return t}function Iu(e,t){var r,n,a,o,u,l,f,h,p,g=1,x=10,b=e,j=b.d,k=b.constructor,S=k.precision;if(b.s<1)throw Error(Qr+(b.s?"NaN":"-Infinity"));if(b.eq(Ar))return new k(0);if(t==null?(lt=!1,h=S):h=t,b.eq(10))return t==null&&(lt=!0),mg(k,h);if(h+=x,k.precision=h,r=On(j),n=r.charAt(0),o=bt(b),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=On(b.d),n=r.charAt(0),g++;o=bt(b),n>1?(b=new k("0."+r),o++):b=new k(n+"."+r.slice(1))}else return f=mg(k,h+2,S).times(o+""),b=Iu(new k(n+"."+r.slice(1)),h-x).plus(f),k.precision=S,t==null?(lt=!0,Ye(b,S)):b;for(l=u=b=li(b.minus(Ar),b.plus(Ar),h),p=Ye(b.times(b),h),a=3;;){if(u=Ye(u.times(p),h),f=l.plus(li(u,new k(a),h)),On(f.d).slice(0,h)===On(l.d).slice(0,h))return l=l.times(2),o!==0&&(l=l.plus(mg(k,h+2,S).times(o+""))),l=li(l,new k(g),h),k.precision=S,t==null?(lt=!0,Ye(l,S)):l;l=f,a+=2}}function ck(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=Ks(r/ot),e.d=[],n=(r+1)%ot,r<0&&(n+=ot),n_f||e.e<-_f))throw Error(Fy+r)}else e.s=0,e.e=0,e.d=[0];return e}function Ye(e,t,r){var n,a,o,u,l,f,h,p,g=e.d;for(u=1,o=g[0];o>=10;o/=10)u++;if(n=t-u,n<0)n+=ot,a=t,h=g[p=0];else{if(p=Math.ceil((n+1)/ot),o=g.length,p>=o)return e;for(h=o=g[p],u=1;o>=10;o/=10)u++;n%=ot,a=n-ot+u}if(r!==void 0&&(o=La(10,u-a-1),l=h/o%10|0,f=t<0||g[p+1]!==void 0||h%o,f=r<4?(l||f)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||f||r==6&&(n>0?a>0?h/La(10,u-a):0:g[p-1])%10&1||r==(e.s<0?8:7))),t<1||!g[0])return f?(o=bt(e),g.length=1,t=t-o-1,g[0]=La(10,(ot-t%ot)%ot),e.e=Ks(-t/ot)||0):(g.length=1,g[0]=e.e=e.s=0),e;if(n==0?(g.length=p,o=1,p--):(g.length=p+1,o=La(10,ot-n),g[p]=a>0?(h/La(10,u-a)%La(10,a)|0)*o:0),f)for(;;)if(p==0){(g[0]+=o)==It&&(g[0]=1,++e.e);break}else{if(g[p]+=o,g[p]!=It)break;g[p--]=0,o=1}for(n=g.length;g[--n]===0;)g.pop();if(lt&&(e.e>_f||e.e<-_f))throw Error(Fy+bt(e));return e}function UP(e,t){var r,n,a,o,u,l,f,h,p,g,x=e.constructor,b=x.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new x(e),lt?Ye(t,b):t;if(f=e.d,g=t.d,n=t.e,h=e.e,f=f.slice(),u=h-n,u){for(p=u<0,p?(r=f,u=-u,l=g.length):(r=g,n=h,l=f.length),a=Math.max(Math.ceil(b/ot),l)+2,u>a&&(u=a,r.length=1),r.reverse(),a=u;a--;)r.push(0);r.reverse()}else{for(a=f.length,l=g.length,p=a0;--a)f[l++]=0;for(a=g.length;a>u;){if(f[--a]0?o=o.charAt(0)+"."+o.slice(1)+qi(n):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(a<0?"e":"e+")+a):a<0?(o="0."+qi(-a-1)+o,r&&(n=r-u)>0&&(o+=qi(n))):a>=u?(o+=qi(a+1-u),r&&(n=r-a-1)>0&&(o=o+"."+qi(n))):((n=a+1)0&&(a+1===u&&(o+="."),o+=qi(n))),e.s<0?"-"+o:o}function dk(e,t){if(e.length>t)return e.length=t,!0}function WP(e){var t,r,n;function a(o){var u=this;if(!(u instanceof a))return new a(o);if(u.constructor=a,o instanceof a){u.s=o.s,u.e=o.e,u.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(to+o);if(o>0)u.s=1;else if(o<0)o=-o,u.s=-1;else{u.s=0,u.e=0,u.d=[0];return}if(o===~~o&&o<1e7){u.e=0,u.d=[o];return}return ck(u,o.toString())}else if(typeof o!="string")throw Error(to+o);if(o.charCodeAt(0)===45?(o=o.slice(1),u.s=-1):u.s=1,mF.test(o))ck(u,o);else throw Error(to+o)}if(a.prototype=be,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=WP,a.config=a.set=gF,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(to+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(to+r+": "+n);return this}var By=WP(pF);Ar=new By(1);const We=By;function HP(e){var t;return e===0?t=1:t=Math.floor(new We(e).abs().log(10).toNumber())+1,t}function KP(e,t,r){for(var n=new We(e),a=0,o=[];n.lt(t)&&a<1e5;)o.push(n.toNumber()),n=n.add(r),a++;return o}function Tu(e,t){return bF(e)||xF(e,t)||yF(e,t)||vF()}function vF(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yF(e,t){if(e){if(typeof e=="string")return fk(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fk(e,t):void 0}}function fk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Tu(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Uy=(e,t,r)=>{if(e.lte(0))return new We(0);var n=HP(e.toNumber()),a=new We(10).pow(n),o=e.div(a),u=n!==1?.05:.1,l=new We(Math.ceil(o.div(u).toNumber())).add(r).mul(u),f=l.mul(a);return t?new We(f.toNumber()):new We(Math.ceil(f.toNumber()))},VP=(e,t,r)=>{var n;if(e.lte(0))return new We(0);var a=[1,2,2.5,5],o=e.toNumber(),u=Math.floor(new We(o).abs().log(10).toNumber()),l=new We(10).pow(u),f=e.div(l).toNumber(),h=a.findIndex(b=>b>=f-1e-10);if(h===-1&&(l=l.mul(10),h=0),h+=r,h>=a.length){var p=Math.floor(h/a.length);h%=a.length,l=l.mul(new We(10).pow(p))}var g=(n=a[h])!==null&&n!==void 0?n:1,x=new We(g).mul(l);return t?x:new We(Math.ceil(x.toNumber()))},wF=(e,t,r)=>{var n=new We(1),a=new We(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new We(10).pow(HP(e)-1),a=new We(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new We(Math.floor(e)))}else e===0?a=new We(Math.floor((t-1)/2)):r||(a=new We(Math.floor(e)));for(var u=Math.floor((t-1)/2),l=[],f=0;f4&&arguments[4]!==void 0?arguments[4]:0,u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Uy;if(!Number.isFinite((r-t)/(n-1)))return{step:new We(0),tickMin:new We(0),tickMax:new We(0)};var l=u(new We(r).sub(t).div(n-1),a,o),f;t<=0&&r>=0?f=new We(0):(f=new We(t).add(r).div(2),f=f.sub(new We(f).mod(l)));var h=Math.ceil(f.sub(t).div(l).toNumber()),p=Math.ceil(new We(r).sub(f).div(l).toNumber()),g=h+p+1;return g>n?qP(t,r,n,a,o+1,u):(g0?p+(n-g):p,h=r>0?h:h+(n-g)),{step:l,tickMin:f.sub(new We(h).mul(l)),tickMax:f.add(new We(p).mul(l))})},hk=function(t){var r=Tu(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=Math.max(o,2),h=GP([n,a]),p=Tu(h,2),g=p[0],x=p[1];if(g===-1/0||x===1/0){var b=x===1/0?[g,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),x];return n>a?b.reverse():b}if(g===x)return wF(g,o,u);var j=l==="snap125"?VP:Uy,k=qP(g,x,f,u,0,j),S=k.step,N=k.tickMin,P=k.tickMax,O=KP(N,P.add(new We(.1).mul(S)),S);return n>a?O.reverse():O},pk=function(t,r){var n=Tu(t,2),a=n[0],o=n[1],u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",f=GP([a,o]),h=Tu(f,2),p=h[0],g=h[1];if(p===-1/0||g===1/0)return[a,o];if(p===g)return[p];var x=l==="snap125"?VP:Uy,b=Math.max(r,2),j=x(new We(g).sub(p).div(b-1),u,0),k=[...KP(new We(p),new We(g),j),g];return u===!1&&(k=k.map(S=>Math.round(S))),a>o?k.reverse():k},jF=e=>e.rootProps.barCategoryGap,Ih=e=>e.rootProps.stackOffset,QP=e=>e.rootProps.reverseStackOrder,Wy=e=>e.options.chartName,Hy=e=>e.rootProps.syncId,YP=e=>e.rootProps.syncMethod,Ky=e=>e.options.eventEmitter,kF=e=>e.rootProps.baseValue,or={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},_a={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},kn={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},Th=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Dh(e,t,r){if(r!=="auto")return r;if(e!=null)return zn(e,t)?"category":"number"}function mk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Mf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Gy=G([PF,bP],(e,t)=>{var r;if(e!=null)return e;var n=(r=Dh(t,"angleAxis",gk.type))!==null&&r!==void 0?r:"category";return Mf(Mf({},gk),{},{type:n})}),CF=(e,t)=>e.polarAxis.radiusAxis[t],Vy=G([CF,bP],(e,t)=>{var r;if(e!=null)return e;var n=(r=Dh(t,"radiusAxis",vk.type))!==null&&r!==void 0?r:"category";return Mf(Mf({},vk),{},{type:n})}),Rh=e=>e.polarOptions,qy=G([pi,mi,Vt],q6),XP=G([Rh,qy],(e,t)=>{if(e!=null)return da(e.innerRadius,t,0)}),ZP=G([Rh,qy],(e,t)=>{if(e!=null)return da(e.outerRadius,t,t*.8)}),AF=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},JP=G([Rh],AF);G([Gy,JP],Th);var eC=G([qy,XP,ZP],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]});G([Vy,eC],Th);var tC=G([ut,Rh,XP,ZP,pi,mi],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var u=t.cx,l=t.cy,f=t.startAngle,h=t.endAngle;return{cx:da(u,a,a/2),cy:da(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:f,endAngle:h,clockWise:!1}}}),Dt=(e,t)=>t,$h=(e,t,r)=>r;function Qy(e){return e==null?void 0:e.id}function rC(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,u=r.dataKey,l=new Map;return e.forEach(f=>{var h,p=(h=f.data)!==null&&h!==void 0?h:a;if(!(p==null||p.length===0)){var g=Qy(f);p.forEach((x,b)=>{var j=u==null||o?b:String(Tt(x,u,null)),k=Tt(x,f.dataKey,0),S;l.has(j)?S=l.get(j):S={},Object.assign(S,{[g]:k}),l.set(j,S)})}}),Array.from(l.values())}function Yy(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Lh=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function zh(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function OF(e,t){if(e.length===t.length){for(var r=0;r{var t=ut(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Gs=e=>e.tooltip.settings.axisId;function Xy(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),a=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function u(){return o.apply(this,arguments)}return u.toString=function(){return o.toString()},u})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var u=a[0],l=a[1];return u<=l?o>=u&&o<=l:o>=l&&o<=u},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,u)=>{var l=e(o);if(l!=null){if(e.bandwidth&&u!==null&&u!==void 0&&u.position){var f=e.bandwidth();switch(u.position){case"middle":l+=f/2;break;case"end":l+=f;break}}return l}}}}}var _F=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Mn(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};function la(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function MF(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Zy(e){let t,r,n;e.length!==2?(t=la,r=(l,f)=>la(e(l),f),n=(l,f)=>e(l)-f):(t=e===la||e===MF?e:IF,r=e,n=e);function a(l,f,h=0,p=l.length){if(h>>1;r(l[g],f)<0?h=g+1:p=g}while(h>>1;r(l[g],f)<=0?h=g+1:p=g}while(hh&&n(l[g-1],f)>-n(l[g],f)?g-1:g}return{left:a,center:u,right:o}}function IF(){return 0}function nC(e){return e===null?NaN:+e}function*TF(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const DF=Zy(la),rc=DF.right;Zy(nC).center;class yk extends Map{constructor(t,r=LF){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(xk(this,t))}has(t){return super.has(xk(this,t))}set(t,r){return super.set(RF(this,t),r)}delete(t){return super.delete($F(this,t))}}function xk({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function RF({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function $F({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function LF(e){return e!==null&&typeof e=="object"?e.valueOf():e}function zF(e=la){if(e===la)return iC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function iC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const FF=Math.sqrt(50),BF=Math.sqrt(10),UF=Math.sqrt(2);function If(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),u=o>=FF?10:o>=BF?5:o>=UF?2:1;let l,f,h;return a<0?(h=Math.pow(10,-a)/u,l=Math.round(e*h),f=Math.round(t*h),l/ht&&--f,h=-h):(h=Math.pow(10,a)*u,l=Math.round(e/h),f=Math.round(t/h),l*ht&&--f),f0))return[];if(e===t)return[e];const n=t=a))return[];const l=o-a+1,f=new Array(l);if(n)if(u<0)for(let h=0;h=n)&&(r=n);return r}function wk(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function aC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?iC:zF(a);n>r;){if(n-r>600){const f=n-r+1,h=t-r+1,p=Math.log(f),g=.5*Math.exp(2*p/3),x=.5*Math.sqrt(p*g*(f-g)/f)*(h-f/2<0?-1:1),b=Math.max(r,Math.floor(t-h*g/f+x)),j=Math.min(n,Math.floor(t+(f-h)*g/f+x));aC(e,t,b,j,a)}const o=e[t];let u=r,l=n;for(eu(e,r,t),a(e[n],o)>0&&eu(e,r,n);u0;)--l}a(e[r],o)===0?eu(e,r,l):(++l,eu(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function eu(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function WF(e,t,r){if(e=Float64Array.from(TF(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return wk(e);if(t>=1)return bk(e);var n,a=(n-1)*t,o=Math.floor(a),u=bk(aC(e,o).subarray(0,o+1)),l=wk(e.subarray(o+1));return u+(l-u)*(a-o)}}function HF(e,t,r=nC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,o=Math.floor(a),u=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return u+(l-u)*(a-o)}}function KF(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Fd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Fd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=qF.exec(e))?new br(t[1],t[2],t[3],1):(t=QF.exec(e))?new br(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=YF.exec(e))?Fd(t[1],t[2],t[3],t[4]):(t=XF.exec(e))?Fd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ZF.exec(e))?Ck(t[1],t[2]/100,t[3]/100,1):(t=JF.exec(e))?Ck(t[1],t[2]/100,t[3]/100,t[4]):jk.hasOwnProperty(e)?Nk(jk[e]):e==="transparent"?new br(NaN,NaN,NaN,0):null}function Nk(e){return new br(e>>16&255,e>>8&255,e&255,1)}function Fd(e,t,r,n){return n<=0&&(e=t=r=NaN),new br(e,t,r,n)}function r8(e){return e instanceof nc||(e=$u(e)),e?(e=e.rgb(),new br(e.r,e.g,e.b,e.opacity)):new br}function Uv(e,t,r,n){return arguments.length===1?r8(e):new br(e,t,r,n??1)}function br(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}tx(br,Uv,sC(nc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Du:Math.pow(Du,e),new br(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new br(ro(this.r),ro(this.g),ro(this.b),Df(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ek,formatHex:Ek,formatHex8:n8,formatRgb:Pk,toString:Pk}));function Ek(){return`#${Ua(this.r)}${Ua(this.g)}${Ua(this.b)}`}function n8(){return`#${Ua(this.r)}${Ua(this.g)}${Ua(this.b)}${Ua((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pk(){const e=Df(this.opacity);return`${e===1?"rgb(":"rgba("}${ro(this.r)}, ${ro(this.g)}, ${ro(this.b)}${e===1?")":`, ${e})`}`}function Df(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ro(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ua(e){return e=ro(e),(e<16?"0":"")+e.toString(16)}function Ck(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new dn(e,t,r,n)}function lC(e){if(e instanceof dn)return new dn(e.h,e.s,e.l,e.opacity);if(e instanceof nc||(e=$u(e)),!e)return new dn;if(e instanceof dn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),u=NaN,l=o-a,f=(o+a)/2;return l?(t===o?u=(r-n)/l+(r0&&f<1?0:u,new dn(u,l,f,e.opacity)}function i8(e,t,r,n){return arguments.length===1?lC(e):new dn(e,t,r,n??1)}function dn(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}tx(dn,i8,sC(nc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new dn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Du:Math.pow(Du,e),new dn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new br(gg(e>=240?e-240:e+120,a,n),gg(e,a,n),gg(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new dn(Ak(this.h),Bd(this.s),Bd(this.l),Df(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Df(this.opacity);return`${e===1?"hsl(":"hsla("}${Ak(this.h)}, ${Bd(this.s)*100}%, ${Bd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ak(e){return e=(e||0)%360,e<0?e+360:e}function Bd(e){return Math.max(0,Math.min(1,e||0))}function gg(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const rx=e=>()=>e;function a8(e,t){return function(r){return e+r*t}}function o8(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function s8(e){return(e=+e)==1?uC:function(t,r){return r-t?o8(t,r,e):rx(isNaN(t)?r:t)}}function uC(e,t){var r=t-e;return r?a8(e,r):rx(isNaN(e)?t:e)}const Ok=(function e(t){var r=s8(t);function n(a,o){var u=r((a=Uv(a)).r,(o=Uv(o)).r),l=r(a.g,o.g),f=r(a.b,o.b),h=uC(a.opacity,o.opacity);return function(p){return a.r=u(p),a.g=l(p),a.b=f(p),a.opacity=h(p),a+""}}return n.gamma=e,n})(1);function l8(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(o){for(a=0;ar&&(o=t.slice(r,o),l[u]?l[u]+=o:l[++u]=o),(n=n[0])===(a=a[0])?l[u]?l[u]+=a:l[++u]=a:(l[++u]=null,f.push({i:u,x:Rf(n,a)})),r=vg.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function x8(e,t,r){var n=e[0],a=e[1],o=t[0],u=t[1];return a2?b8:x8,f=h=null,g}function g(x){return x==null||isNaN(x=+x)?o:(f||(f=l(e.map(n),t,r)))(n(u(x)))}return g.invert=function(x){return u(a((h||(h=l(t,e.map(n),Rf)))(x)))},g.domain=function(x){return arguments.length?(e=Array.from(x,$f),p()):e.slice()},g.range=function(x){return arguments.length?(t=Array.from(x),p()):t.slice()},g.rangeRound=function(x){return t=Array.from(x),r=nx,p()},g.clamp=function(x){return arguments.length?(u=x?!0:sr,p()):u!==sr},g.interpolate=function(x){return arguments.length?(r=x,p()):r},g.unknown=function(x){return arguments.length?(o=x,g):o},function(x,b){return n=x,a=b,p()}}function ix(){return Fh()(sr,sr)}function w8(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Lf(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Ts(e){return e=Lf(Math.abs(e)),e?e[1]:NaN}function j8(e,t){return function(r,n){for(var a=r.length,o=[],u=0,l=e[0],f=0;a>0&&l>0&&(f+l+1>n&&(l=Math.max(1,n-f)),o.push(r.substring(a-=l,a+l)),!((f+=l+1)>n));)l=e[u=(u+1)%e.length];return o.reverse().join(t)}}function k8(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var S8=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Lu(e){if(!(t=S8.exec(e)))throw new Error("invalid format: "+e);var t;return new ax({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Lu.prototype=ax.prototype;function ax(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}ax.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function N8(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var zf;function E8(e,t){var r=Lf(e,t);if(!r)return zf=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(zf=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,u=n.length;return o===u?n:o>u?n+new Array(o-u+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+Lf(e,Math.max(0,t+o-1))[0]}function Mk(e,t){var r=Lf(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const Ik={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:w8,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Mk(e*100,t),r:Mk,s:E8,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Tk(e){return e}var Dk=Array.prototype.map,Rk=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function P8(e){var t=e.grouping===void 0||e.thousands===void 0?Tk:j8(Dk.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?Tk:k8(Dk.call(e.numerals,String)),u=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",f=e.nan===void 0?"NaN":e.nan+"";function h(g,x){g=Lu(g);var b=g.fill,j=g.align,k=g.sign,S=g.symbol,N=g.zero,P=g.width,O=g.comma,C=g.precision,_=g.trim,A=g.type;A==="n"?(O=!0,A="g"):Ik[A]||(C===void 0&&(C=12),_=!0,A="g"),(N||b==="0"&&j==="=")&&(N=!0,b="0",j="=");var I=(x&&x.prefix!==void 0?x.prefix:"")+(S==="$"?r:S==="#"&&/[boxX]/.test(A)?"0"+A.toLowerCase():""),U=(S==="$"?n:/[%p]/.test(A)?u:"")+(x&&x.suffix!==void 0?x.suffix:""),B=Ik[A],K=/[defgprs%]/.test(A);C=C===void 0?6:/[gprs]/.test(A)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function X($){var ue=I,J=U,ge,we,pe;if(A==="c")J=B($)+J,$="";else{$=+$;var Y=$<0||1/$<0;if($=isNaN($)?f:B(Math.abs($),C),_&&($=N8($)),Y&&+$==0&&k!=="+"&&(Y=!1),ue=(Y?k==="("?k:l:k==="-"||k==="("?"":k)+ue,J=(A==="s"&&!isNaN($)&&zf!==void 0?Rk[8+zf/3]:"")+J+(Y&&k==="("?")":""),K){for(ge=-1,we=$.length;++gepe||pe>57){J=(pe===46?a+$.slice(ge+1):$.slice(ge))+J,$=$.slice(0,ge);break}}}O&&!N&&($=t($,1/0));var V=ue.length+$.length+J.length,Q=V>1)+ue+$+J+Q.slice(V);break;default:$=Q+ue+$+J;break}return o($)}return X.toString=function(){return g+""},X}function p(g,x){var b=Math.max(-8,Math.min(8,Math.floor(Ts(x)/3)))*3,j=Math.pow(10,-b),k=h((g=Lu(g),g.type="f",g),{suffix:Rk[8+b/3]});return function(S){return k(j*S)}}return{format:h,formatPrefix:p}}var Ud,ox,cC;C8({thousands:",",grouping:[3],currency:["$",""]});function C8(e){return Ud=P8(e),ox=Ud.format,cC=Ud.formatPrefix,Ud}function A8(e){return Math.max(0,-Ts(Math.abs(e)))}function O8(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ts(t)/3)))*3-Ts(Math.abs(e)))}function _8(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ts(t)-Ts(e))+1}function dC(e,t,r,n){var a=Fv(e,t,r),o;switch(n=Lu(n??",f"),n.type){case"s":{var u=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=O8(a,u))&&(n.precision=o),cC(n,u)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=_8(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=A8(a))&&(n.precision=o-(n.type==="%")*2);break}}return ox(n)}function fa(e){var t=e.domain;return e.ticks=function(r){var n=t();return Lv(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return dC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,u=n[a],l=n[o],f,h,p=10;for(l0;){if(h=zv(u,l,r),h===f)return n[a]=u,n[o]=l,t(n);if(h>0)u=Math.floor(u/h)*h,l=Math.ceil(l/h)*h;else if(h<0)u=Math.ceil(u*h)/h,l=Math.floor(l*h)/h;else break;f=h}return e},e}function fC(){var e=ix();return e.copy=function(){return ic(e,fC())},Xr.apply(e,arguments),fa(e)}function hC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,$f),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return hC(e).unknown(t)},e=arguments.length?Array.from(e,$f):[0,1],fa(r)}function pC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],u;return oMath.pow(e,t)}function R8(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function zk(e){return(t,r)=>-e(-t,r)}function sx(e){const t=e($k,Lk),r=t.domain;let n=10,a,o;function u(){return a=R8(n),o=D8(n),r()[0]<0?(a=zk(a),o=zk(o),e(M8,I8)):e($k,Lk),t}return t.base=function(l){return arguments.length?(n=+l,u()):n},t.domain=function(l){return arguments.length?(r(l),u()):r()},t.ticks=l=>{const f=r();let h=f[0],p=f[f.length-1];const g=p0){for(;x<=b;++x)for(j=1;jp)break;N.push(k)}}else for(;x<=b;++x)for(j=n-1;j>=1;--j)if(k=x>0?j/o(-x):j*o(x),!(kp)break;N.push(k)}N.length*2{if(l==null&&(l=10),f==null&&(f=n===10?"s":","),typeof f!="function"&&(!(n%1)&&(f=Lu(f)).precision==null&&(f.trim=!0),f=ox(f)),l===1/0)return f;const h=Math.max(1,n*l/t.ticks().length);return p=>{let g=p/o(Math.round(a(p)));return g*nr(pC(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function mC(){const e=sx(Fh()).domain([1,10]);return e.copy=()=>ic(e,mC()).base(e.base()),Xr.apply(e,arguments),e}function Fk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Bk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function lx(e){var t=1,r=e(Fk(t),Bk(t));return r.constant=function(n){return arguments.length?e(Fk(t=+n),Bk(t)):t},fa(r)}function gC(){var e=lx(Fh());return e.copy=function(){return ic(e,gC()).constant(e.constant())},Xr.apply(e,arguments)}function Uk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function $8(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function L8(e){return e<0?-e*e:e*e}function ux(e){var t=e(sr,sr),r=1;function n(){return r===1?e(sr,sr):r===.5?e($8,L8):e(Uk(r),Uk(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},fa(t)}function cx(){var e=ux(Fh());return e.copy=function(){return ic(e,cx()).exponent(e.exponent())},Xr.apply(e,arguments),e}function z8(){return cx.apply(null,arguments).exponent(.5)}function Wk(e){return Math.sign(e)*e*e}function F8(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function vC(){var e=ix(),t=[0,1],r=!1,n;function a(o){var u=F8(e(o));return isNaN(u)?n:r?Math.round(u):u}return a.invert=function(o){return e.invert(Wk(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,$f)).map(Wk)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return vC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Xr.apply(a,arguments),fa(a)}function yC(){var e=[],t=[],r=[],n;function a(){var u=0,l=Math.max(1,t.length);for(r=new Array(l-1);++u0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[h-1],n[h]]},u.unknown=function(f){return arguments.length&&(o=f),u},u.thresholds=function(){return n.slice()},u.copy=function(){return xC().domain([e,t]).range(a).unknown(o)},Xr.apply(fa(u),arguments)}function bC(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[rc(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var u=t.indexOf(o);return[e[u-1],e[u]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return bC().domain(e).range(t).unknown(r)},Xr.apply(a,arguments)}const yg=new Date,xg=new Date;function Pt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{const u=a(o),l=a.ceil(o);return o-u(t(o=new Date(+o),u==null?1:Math.floor(u)),o),a.range=(o,u,l)=>{const f=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return f;let h;do f.push(h=new Date(+o)),t(o,l),e(o);while(hPt(u=>{if(u>=u)for(;e(u),!o(u);)u.setTime(u-1)},(u,l)=>{if(u>=u)if(l<0)for(;++l<=0;)for(;t(u,-1),!o(u););else for(;--l>=0;)for(;t(u,1),!o(u););}),r&&(a.count=(o,u)=>(yg.setTime(+o),xg.setTime(+u),e(yg),e(xg),Math.floor(r(yg,xg))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?u=>n(u)%o===0:u=>a.count(0,u)%o===0):a)),a}const Ff=Pt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ff.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Pt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ff);Ff.range;const ii=1e3,Gr=ii*60,ai=Gr*60,di=ai*24,dx=di*7,Hk=di*30,bg=di*365,Wa=Pt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ii)},(e,t)=>(t-e)/ii,e=>e.getUTCSeconds());Wa.range;const fx=Pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ii)},(e,t)=>{e.setTime(+e+t*Gr)},(e,t)=>(t-e)/Gr,e=>e.getMinutes());fx.range;const hx=Pt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Gr)},(e,t)=>(t-e)/Gr,e=>e.getUTCMinutes());hx.range;const px=Pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ii-e.getMinutes()*Gr)},(e,t)=>{e.setTime(+e+t*ai)},(e,t)=>(t-e)/ai,e=>e.getHours());px.range;const mx=Pt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ai)},(e,t)=>(t-e)/ai,e=>e.getUTCHours());mx.range;const ac=Pt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gr)/di,e=>e.getDate()-1);ac.range;const Bh=Pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/di,e=>e.getUTCDate()-1);Bh.range;const wC=Pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/di,e=>Math.floor(e/di));wC.range;function yo(e){return Pt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Gr)/dx)}const Uh=yo(0),Bf=yo(1),B8=yo(2),U8=yo(3),Ds=yo(4),W8=yo(5),H8=yo(6);Uh.range;Bf.range;B8.range;U8.range;Ds.range;W8.range;H8.range;function xo(e){return Pt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/dx)}const Wh=xo(0),Uf=xo(1),K8=xo(2),G8=xo(3),Rs=xo(4),V8=xo(5),q8=xo(6);Wh.range;Uf.range;K8.range;G8.range;Rs.range;V8.range;q8.range;const gx=Pt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());gx.range;const vx=Pt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());vx.range;const fi=Pt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());fi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});fi.range;const hi=Pt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());hi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});hi.range;function jC(e,t,r,n,a,o){const u=[[Wa,1,ii],[Wa,5,5*ii],[Wa,15,15*ii],[Wa,30,30*ii],[o,1,Gr],[o,5,5*Gr],[o,15,15*Gr],[o,30,30*Gr],[a,1,ai],[a,3,3*ai],[a,6,6*ai],[a,12,12*ai],[n,1,di],[n,2,2*di],[r,1,dx],[t,1,Hk],[t,3,3*Hk],[e,1,bg]];function l(h,p,g){const x=pS).right(u,x);if(b===u.length)return e.every(Fv(h/bg,p/bg,g));if(b===0)return Ff.every(Math.max(Fv(h,p,g),1));const[j,k]=u[x/u[b-1][2]53)return null;"w"in oe||(oe.w=1),"Z"in oe?(Z=jg(tu(oe.y,0,1)),de=Z.getUTCDay(),Z=de>4||de===0?Uf.ceil(Z):Uf(Z),Z=Bh.offset(Z,(oe.V-1)*7),oe.y=Z.getUTCFullYear(),oe.m=Z.getUTCMonth(),oe.d=Z.getUTCDate()+(oe.w+6)%7):(Z=wg(tu(oe.y,0,1)),de=Z.getDay(),Z=de>4||de===0?Bf.ceil(Z):Bf(Z),Z=ac.offset(Z,(oe.V-1)*7),oe.y=Z.getFullYear(),oe.m=Z.getMonth(),oe.d=Z.getDate()+(oe.w+6)%7)}else("W"in oe||"U"in oe)&&("w"in oe||(oe.w="u"in oe?oe.u%7:"W"in oe?1:0),de="Z"in oe?jg(tu(oe.y,0,1)).getUTCDay():wg(tu(oe.y,0,1)).getDay(),oe.m=0,oe.d="W"in oe?(oe.w+6)%7+oe.W*7-(de+5)%7:oe.w+oe.U*7-(de+6)%7);return"Z"in oe?(oe.H+=oe.Z/100|0,oe.M+=oe.Z%100,jg(oe)):wg(oe)}}function U(te,ke,_e,oe){for(var Xe=0,Z=ke.length,de=_e.length,tt,jr;Xe=de)return-1;if(tt=ke.charCodeAt(Xe++),tt===37){if(tt=ke.charAt(Xe++),jr=_[tt in Kk?ke.charAt(Xe++):tt],!jr||(oe=jr(te,_e,oe))<0)return-1}else if(tt!=_e.charCodeAt(oe++))return-1}return oe}function B(te,ke,_e){var oe=h.exec(ke.slice(_e));return oe?(te.p=p.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function K(te,ke,_e){var oe=b.exec(ke.slice(_e));return oe?(te.w=j.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function X(te,ke,_e){var oe=g.exec(ke.slice(_e));return oe?(te.w=x.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function $(te,ke,_e){var oe=N.exec(ke.slice(_e));return oe?(te.m=P.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function ue(te,ke,_e){var oe=k.exec(ke.slice(_e));return oe?(te.m=S.get(oe[0].toLowerCase()),_e+oe[0].length):-1}function J(te,ke,_e){return U(te,t,ke,_e)}function ge(te,ke,_e){return U(te,r,ke,_e)}function we(te,ke,_e){return U(te,n,ke,_e)}function pe(te){return u[te.getDay()]}function Y(te){return o[te.getDay()]}function V(te){return f[te.getMonth()]}function Q(te){return l[te.getMonth()]}function D(te){return a[+(te.getHours()>=12)]}function T(te){return 1+~~(te.getMonth()/3)}function ee(te){return u[te.getUTCDay()]}function ie(te){return o[te.getUTCDay()]}function re(te){return f[te.getUTCMonth()]}function ce(te){return l[te.getUTCMonth()]}function me(te){return a[+(te.getUTCHours()>=12)]}function Oe(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ke=A(te+="",O);return ke.toString=function(){return te},ke},parse:function(te){var ke=I(te+="",!1);return ke.toString=function(){return te},ke},utcFormat:function(te){var ke=A(te+="",C);return ke.toString=function(){return te},ke},utcParse:function(te){var ke=I(te+="",!0);return ke.toString=function(){return te},ke}}}var Kk={"-":"",_:" ",0:"0"},$t=/^\s*\d+/,eB=/^%/,tB=/[\\^$*+?|[\]().{}]/g;function Ge(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function nB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function iB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function aB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function oB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function sB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Gk(e,t,r){var n=$t.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Vk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function lB(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function uB(e,t,r){var n=$t.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function cB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function qk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function dB(e,t,r){var n=$t.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Qk(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function fB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function hB(e,t,r){var n=$t.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function pB(e,t,r){var n=$t.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function mB(e,t,r){var n=$t.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function gB(e,t,r){var n=eB.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function vB(e,t,r){var n=$t.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function yB(e,t,r){var n=$t.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Yk(e,t){return Ge(e.getDate(),t,2)}function xB(e,t){return Ge(e.getHours(),t,2)}function bB(e,t){return Ge(e.getHours()%12||12,t,2)}function wB(e,t){return Ge(1+ac.count(fi(e),e),t,3)}function kC(e,t){return Ge(e.getMilliseconds(),t,3)}function jB(e,t){return kC(e,t)+"000"}function kB(e,t){return Ge(e.getMonth()+1,t,2)}function SB(e,t){return Ge(e.getMinutes(),t,2)}function NB(e,t){return Ge(e.getSeconds(),t,2)}function EB(e){var t=e.getDay();return t===0?7:t}function PB(e,t){return Ge(Uh.count(fi(e)-1,e),t,2)}function SC(e){var t=e.getDay();return t>=4||t===0?Ds(e):Ds.ceil(e)}function CB(e,t){return e=SC(e),Ge(Ds.count(fi(e),e)+(fi(e).getDay()===4),t,2)}function AB(e){return e.getDay()}function OB(e,t){return Ge(Bf.count(fi(e)-1,e),t,2)}function _B(e,t){return Ge(e.getFullYear()%100,t,2)}function MB(e,t){return e=SC(e),Ge(e.getFullYear()%100,t,2)}function IB(e,t){return Ge(e.getFullYear()%1e4,t,4)}function TB(e,t){var r=e.getDay();return e=r>=4||r===0?Ds(e):Ds.ceil(e),Ge(e.getFullYear()%1e4,t,4)}function DB(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ge(t/60|0,"0",2)+Ge(t%60,"0",2)}function Xk(e,t){return Ge(e.getUTCDate(),t,2)}function RB(e,t){return Ge(e.getUTCHours(),t,2)}function $B(e,t){return Ge(e.getUTCHours()%12||12,t,2)}function LB(e,t){return Ge(1+Bh.count(hi(e),e),t,3)}function NC(e,t){return Ge(e.getUTCMilliseconds(),t,3)}function zB(e,t){return NC(e,t)+"000"}function FB(e,t){return Ge(e.getUTCMonth()+1,t,2)}function BB(e,t){return Ge(e.getUTCMinutes(),t,2)}function UB(e,t){return Ge(e.getUTCSeconds(),t,2)}function WB(e){var t=e.getUTCDay();return t===0?7:t}function HB(e,t){return Ge(Wh.count(hi(e)-1,e),t,2)}function EC(e){var t=e.getUTCDay();return t>=4||t===0?Rs(e):Rs.ceil(e)}function KB(e,t){return e=EC(e),Ge(Rs.count(hi(e),e)+(hi(e).getUTCDay()===4),t,2)}function GB(e){return e.getUTCDay()}function VB(e,t){return Ge(Uf.count(hi(e)-1,e),t,2)}function qB(e,t){return Ge(e.getUTCFullYear()%100,t,2)}function QB(e,t){return e=EC(e),Ge(e.getUTCFullYear()%100,t,2)}function YB(e,t){return Ge(e.getUTCFullYear()%1e4,t,4)}function XB(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Rs(e):Rs.ceil(e),Ge(e.getUTCFullYear()%1e4,t,4)}function ZB(){return"+0000"}function Zk(){return"%"}function Jk(e){return+e}function eS(e){return Math.floor(+e/1e3)}var Zo,PC,CC;JB({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function JB(e){return Zo=J8(e),PC=Zo.format,Zo.parse,CC=Zo.utcFormat,Zo.utcParse,Zo}function e9(e){return new Date(e)}function t9(e){return e instanceof Date?+e:+new Date(+e)}function yx(e,t,r,n,a,o,u,l,f,h){var p=ix(),g=p.invert,x=p.domain,b=h(".%L"),j=h(":%S"),k=h("%I:%M"),S=h("%I %p"),N=h("%a %d"),P=h("%b %d"),O=h("%B"),C=h("%Y");function _(A){return(f(A)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>WF(e,o/n))},r.copy=function(){return MC(t).domain(e)},gi.apply(r,arguments)}function Kh(){var e=0,t=.5,r=1,n=1,a,o,u,l,f,h=sr,p,g=!1,x;function b(k){return isNaN(k=+k)?x:(k=.5+((k=+p(k))-o)*(n*k{if(e!=null){var n=e.scale,a=e.type;if(n==="auto")return a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":a==="category"?"band":"linear";if(typeof n=="string")return l9(n)?n:"point"}};function u9(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function LC(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var u;return(u=e(o))!==null&&u!==void 0?u:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var u,l,f=u9(n,o);if(f<=0)return r[0];if(f>=r.length)return r[r.length-1];var h=(u=n[f-1])!==null&&u!==void 0?u:0,p=(l=n[f])!==null&&l!==void 0?l:0;return Math.abs(o-h)<=Math.abs(o-p)?r[f-1]:r[f]}}}function c9(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):LC(e,void 0)}function rS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Wf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],vi=(e,t)=>{var r=FC(e,t);return r??Nt},Et={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:Kv,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:Xu},BC=(e,t)=>e.cartesianAxis.yAxis[t],yi=(e,t)=>{var r=BC(e,t);return r??Et},y9={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},jx=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??y9},cr=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);case"zAxis":return jx(e,r);case"angleAxis":return Gy(e,r);case"radiusAxis":return Vy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},x9=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},oc=(e,t,r)=>{switch(t){case"xAxis":return vi(e,r);case"yAxis":return yi(e,r);case"angleAxis":return Gy(e,r);case"radiusAxis":return Vy(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},UC=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function WC(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var HC=e=>e.graphicalItems.cartesianItems,b9=G([Dt,$h],WC),KC=(e,t,r)=>e.filter(r).filter(n=>(t==null?void 0:t.includeHidden)===!0?!0:!n.hide),qs=G([HC,cr,b9],KC,{memoizeOptions:{resultEqualityCheck:zh}}),GC=G([qs],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Yy)),VC=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),w9=G([qs],VC),qC=e=>e.map(t=>t.data).filter(Boolean).flat(1),j9=G([qs],e=>e.some(t=>!t.data)),QC=G([qs],qC,{memoizeOptions:{resultEqualityCheck:zh}}),YC=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},kx=G([QC,Mh],YC),k9=(e,t,r)=>(t==null?void 0:t.dataKey)!=null?e.map(n=>({value:Tt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Tt(a,n)}))):e.map(n=>({value:n})),XC=(e,t,r,n,a,o)=>{var u=n.chartData,l=u===void 0?[]:u,f=n.dataStartIndex,h=n.dataEndIndex,p=k9(e,t,r);if(a&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var g=l.slice(f,h+1),x=g.map(b=>({value:Tt(b,t.dataKey)})).filter(b=>b.value!=null);return[...x,...p]}return p},sc=G([kx,cr,qs,Mh,j9,QC],XC);function hs(e){if(Dn(e)||e instanceof Date){var t=Number(e);if(Be(t))return t}}function iS(e){if(Array.isArray(e)){var t=[hs(e[0]),hs(e[1])];return Mn(t)?t:void 0}var r=hs(e);if(r!=null)return[r,r]}function Ln(e){return e.map(hs).filter(xr)}function S9(e,t){var r=hs(e),n=hs(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var N9=G([sc],e=>e==null?void 0:e.map(t=>t.value).sort(S9));function ZC(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function E9(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Tn(t))n=t;else if(Array.isArray(t)){var a=Ln(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ln(r.flatMap(o=>{var u=Tt(e,o.dataKey),l,f;if(Array.isArray(u)){var h=zC(u,2);l=h[0],f=h[1]}else l=f=u;if(!(!Be(l)||!Be(f)))return[n-l,n+f]}))}var Ct=e=>{var t=Rt(e),r=Gs(e);return oc(e,t,r)},$s=G([Ct],e=>e==null?void 0:e.dataKey),P9=G([GC,Mh,Ct],rC),JC=(e,t,r,n)=>{var a={},o=t.reduce((u,l)=>{if(l.stackId==null)return u;var f=u[l.stackId];return f==null&&(f=[]),f.push(l),u[l.stackId]=f,u},a);return Object.fromEntries(Object.entries(o).map(u=>{var l=zC(u,2),f=l[0],h=l[1],p=n?[...h].reverse():h,g=p.map(Qy);return[f,{stackedData:K$(e,g,r),graphicalItems:p}]}))},eA=G([P9,GC,Ih,QP],JC),tA=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return Q$(e,a,o)},C9=G([cr],e=>e.allowDataOverflow),Sx=e=>{var t;if(e==null||!("domain"in e))return Kv;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ln(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:Kv},rA=G([cr],Sx),nA=G([rA,C9],LP),A9=G([eA,mn,Dt,nA],tA,{memoizeOptions:{resultEqualityCheck:Lh}}),Nx=e=>e.errorBars,O9=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>ZC(r,n)),Hf=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,f;if(n.length>0&&n.forEach(h=>{var p,g=h.data!=null?[...h.data]:u,x=(p=a[h.id])===null||p===void 0?void 0:p.filter(b=>ZC(o,b));g.forEach(b=>{var j,k=Tt(b,(j=r.dataKey)!==null&&j!==void 0?j:h.dataKey),S=E9(b,k,x);if(S.length>=2){var N=Math.min(...S),P=Math.max(...S);(l==null||Nf)&&(f=P)}var O=iS(k);O!=null&&(l=l==null?O[0]:Math.min(l,O[0]),f=f==null?O[1]:Math.max(f,O[1]))})}),(r==null?void 0:r.dataKey)!=null&&n.length===0&&t.forEach(h=>{var p=iS(Tt(h,r.dataKey));p!=null&&(l=l==null?p[0]:Math.min(l,p[0]),f=f==null?p[1]:Math.max(f,p[1]))}),Be(l)&&Be(f))return[l,f]},_9=G([kx,cr,w9,Nx,Dt,sF],iA,{memoizeOptions:{resultEqualityCheck:Lh}});function M9(e){var t=e.value;if(Dn(t)||t instanceof Date)return t}var I9=(e,t,r)=>{var n=e.map(M9).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&mE(n))?$P(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},aA=e=>e.referenceElements.dots,Qs=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),T9=G([aA,Dt,$h],Qs),oA=e=>e.referenceElements.areas,D9=G([oA,Dt,$h],Qs),sA=e=>e.referenceElements.lines,R9=G([sA,Dt,$h],Qs),lA=(e,t)=>{if(e!=null){var r=Ln(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},$9=G(T9,Dt,lA),uA=(e,t)=>{if(e!=null){var r=Ln(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},L9=G([D9,Dt],uA);function z9(e){var t;if(e.x!=null)return Ln([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ln(r)}function F9(e){var t;if(e.y!=null)return Ln([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ln(r)}var cA=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?z9(n):F9(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},B9=G([R9,Dt],cA),U9=G($9,B9,L9,(e,t,r)=>Hf(e,r,t)),dA=(e,t,r,n,a,o,u,l)=>{if(r!=null)return r;var f=u==="vertical"&&l==="xAxis"||u==="horizontal"&&l==="yAxis",h=f?Hf(n,o,a):Hf(o,a);return hF(t,h,e.allowDataOverflow)},W9=G([cr,rA,nA,A9,_9,U9,ut,Dt],dA,{memoizeOptions:{resultEqualityCheck:Lh}}),H9=[0,1],fA=(e,t,r,n,a,o,u)=>{if(!((e==null||r==null||r.length===0)&&u===void 0)){var l=e.dataKey,f=e.type,h=zn(t,o);if(h&&l==null){var p;return $P(0,(p=r==null?void 0:r.length)!==null&&p!==void 0?p:0)}return f==="category"?I9(n,e,h):a==="expand"&&!h?H9:u}},Ex=G([cr,ut,kx,sc,Ih,Dt,W9],fA),Ys=G([cr,UC,Wy],$C),hA=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Sx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Mn(e)){if(o)return hk(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return pk(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Mn(e))return hk(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Mn(e))return pk(e,t.tickCount,t.allowDecimals,"adaptive")}}},Px=G([Ex,oc,Ys],hA),pA=(e,t,r,n)=>{if(n!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Mn(t)&&Array.isArray(r)&&r.length>0){var a,o,u=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,f=t[1],h=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(u,l),Math.max(f,h)]}return t},K9=G([cr,Ex,Px,Dt],pA),G9=G(sc,cr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ln(e.map(g=>g.value))).sort((g,x)=>g-x),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var u=o-a;if(u===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!Be(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var u=da(r,e*o),l=e*o/2;return l-u-(l-u)/o*u}return 0}),V9=(e,t,r)=>{var n=vi(e,t);return n==null||typeof n.padding!="string"?0:mA(e,"xAxis",t,r,n.padding)},q9=(e,t,r)=>{var n=yi(e,t);return n==null||typeof n.padding!="string"?0:mA(e,"yAxis",t,r,n.padding)},Q9=G(vi,V9,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var a=e.padding;return typeof a=="string"?{left:t,right:t}:{left:((r=a.left)!==null&&r!==void 0?r:0)+t,right:((n=a.right)!==null&&n!==void 0?n:0)+t}}),Y9=G(yi,q9,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var a=e.padding;return typeof a=="string"?{top:t,bottom:t}:{top:((r=a.top)!==null&&r!==void 0?r:0)+t,bottom:((n=a.bottom)!==null&&n!==void 0?n:0)+t}}),gA=G([Vt,Q9,Eh,Nh,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),vA=G([Vt,ut,Y9,Eh,Nh,(e,t,r)=>r],(e,t,r,n,a,o)=>{var u=a.padding;return o?[n.height-u.bottom,u.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lc=(e,t,r,n)=>{var a;switch(t){case"xAxis":return gA(e,r,n);case"yAxis":return vA(e,r,n);case"zAxis":return(a=jx(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return JP(e);case"radiusAxis":return eC(e,r);default:return}},yA=G([cr,lc],Th),X9=G([Ys,K9],_F),Cx=G([cr,Ys,X9,yA],wx),xA=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,u=zn(e,n);if(u&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},Ax=G([ut,sc,oc,Dt],xA),Gh=G([Cx],Xy);G([Cx],c9);G([Cx,N9],LC);G([qs,Nx,Dt],O9);function bA(e,t){return e.idt.id?1:0}var Vh=(e,t)=>t,qh=(e,t,r)=>r,Z9=G(kh,Vh,qh,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(bA)),J9=G(Sh,Vh,qh,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(bA)),wA=(e,t)=>({width:e.width,height:t.height}),eU=(e,t)=>{var r=typeof t.width=="number"?t.width:Xu;return{width:r,height:e.height}},tU=G(Vt,vi,wA),rU=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},nU=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},iU=G(mi,Vt,Z9,Vh,qh,(e,t,r,n,a)=>{var o={},u;return r.forEach(l=>{var f=wA(t,l);u==null&&(u=rU(t,n,e));var h=n==="top"&&!a||n==="bottom"&&a;o[l.id]=u-Number(h)*f.height,u+=(h?-1:1)*f.height}),o}),aU=G(pi,Vt,J9,Vh,qh,(e,t,r,n,a)=>{var o={},u;return r.forEach(l=>{var f=eU(t,l);u==null&&(u=nU(t,n,e));var h=n==="left"&&!a||n==="right"&&a;o[l.id]=u-Number(h)*f.width,u+=(h?-1:1)*f.width}),o}),oU=(e,t)=>{var r=vi(e,t);if(r!=null)return iU(e,r.orientation,r.mirror)},sU=G([Vt,vi,oU,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r==null?void 0:r[n];return a==null?{x:e.left,y:0}:{x:e.left,y:a}}}),lU=(e,t)=>{var r=yi(e,t);if(r!=null)return aU(e,r.orientation,r.mirror)},uU=G([Vt,yi,lU,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r==null?void 0:r[n];return a==null?{x:0,y:e.top}:{x:a,y:e.top}}}),cU=G(Vt,yi,(e,t)=>{var r=typeof t.width=="number"?t.width:Xu;return{width:r,height:e.height}}),jA=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,u=r.dataKey,l=zn(e,n),f=t.map(p=>p.value),h=f.filter(p=>p!=null);if(u&&l&&o==="category"&&a&&mE(h))return f}},Ox=G([ut,sc,cr,Dt],jA),aS=G([ut,x9,Ys,Gh,Ox,Ax,lc,Px,Dt],(e,t,r,n,a,o,u,l,f)=>{if(t!=null){var h=zn(e,f);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:f,categoricalDomain:o,duplicateDomain:a,isCategorical:h,niceTicks:l,range:u,realScaleType:r,scale:n}}}),dU=(e,t,r,n,a,o,u,l,f)=>{if(!(t==null||n==null)){var h=zn(e,f),p=t.type,g=t.ticks,x=t.tickCount,b=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,j=p==="category"&&n.bandwidth?n.bandwidth()/b:0;j=f==="angleAxis"&&o!=null&&o.length>=2?Hr(o[0]-o[1])*2*j:j;var k=g||a;return k?k.map((S,N)=>{var P=u?u.indexOf(S):S,O=n.map(P);return Be(O)?{index:N,coordinate:O+j,value:S,offset:j}:null}).filter(xr):h&&l?l.map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:S,index:N,offset:j}:null}).filter(xr):n.ticks?n.ticks(x).map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:S,index:N,offset:j}:null}).filter(xr):n.domain().map((S,N)=>{var P=n.map(S);return Be(P)?{coordinate:P+j,value:u?u[S]:S,index:N,offset:j}:null}).filter(xr)}},kA=G([ut,oc,Ys,Gh,Px,lc,Ox,Ax,Dt],dU),fU=(e,t,r,n,a,o,u)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=zn(e,u),f=t.tickCount,h=0;return h=u==="angleAxis"&&(n==null?void 0:n.length)>=2?Hr(n[0]-n[1])*2*h:h,l&&o?o.map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:p,index:g,offset:h}:null}).filter(xr):r.ticks?r.ticks(f).map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:p,index:g,offset:h}:null}).filter(xr):r.domain().map((p,g)=>{var x=r.map(p);return Be(x)?{coordinate:x+h,value:a?a[p]:p,index:g,offset:h}:null}).filter(xr)}},SA=G([ut,oc,Gh,lc,Ox,Ax,Dt],fU),NA=G(cr,Gh,(e,t)=>{if(!(e==null||t==null))return Wf(Wf({},e),{},{scale:t})}),hU=G([cr,Ys,Ex,yA],wx),pU=G([hU],Xy);G((e,t,r)=>jx(e,r),pU,(e,t)=>{if(!(e==null||t==null))return Wf(Wf({},e),{},{scale:t})});var mU=G([ut,kh,Sh],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),gU=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]};G([gU],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var u=Math.abs(o.coordinate-t);ue.options.defaultTooltipEventType,PA=e=>e.options.validateTooltipEventTypes;function CA(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function uc(e,t){var r=EA(e),n=PA(e);return CA(t,r,n)}function vU(e){return Ae(t=>uc(t,e))}var AA=(e,t)=>{var r,n=Number(t);if(!(Tn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0},yU=e=>e.tooltip.settings,Yi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},xU={itemInteraction:{click:Yi,hover:Yi},axisInteraction:{click:Yi,hover:Yi},keyboardInteraction:Yi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},OA=rr({name:"tooltip",initialState:xU,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:at()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).tooltipItemPayloads.indexOf(n);o>-1&&(e.tooltipItemPayloads[o]=a)},prepare:at()},removeTooltipEntrySettings:{reducer(e,t){var r=Kr(e).tooltipItemPayloads.indexOf(t.payload);r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:at()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Zr=OA.actions,bU=Zr.addTooltipEntrySettings,wU=Zr.replaceTooltipEntrySettings,jU=Zr.removeTooltipEntrySettings,kU=Zr.setTooltipSettingsState,SU=Zr.setActiveMouseOverItemIndex;Zr.mouseLeaveItem;var _A=Zr.mouseLeaveChart;Zr.setActiveClickItemIndex;var MA=Zr.setMouseOverAxisIndex,NU=Zr.setMouseClickAxisIndex,lu=Zr.setSyncInteraction,Kf=Zr.setKeyboardInteraction,EU=OA.reducer;function oS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Wd(e){for(var t=1;t{if(t==null)return Yi;var a=OU(e,t,r);if(a==null)return Yi;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(_U(a)){if(o)return Wd(Wd({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Wd(Wd({},Yi),{},{coordinate:a.coordinate})};function MU(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function IU(e,t){var r=MU(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),u=Math.max(n,a);return r>=o&&r<=u}function TU(e,t,r){if(r==null||t==null)return!0;var n=Tt(e,t);return n==null||!Mn(r)?!0:IU(n,r)}var du=(e,t,r,n)=>{var a=e==null?void 0:e.index;if(a==null)return null;var o=Number(a);if(!Be(o))return a;var u=0,l=1/0;t.length>0&&(l=t.length-1);var f=Math.max(u,Math.min(o,l)),h=t[f];return h==null||TU(h,r,n)?String(f):null},TA=(e,t,r,n,a,o,u)=>{if(o!=null){var l=u[0],f=l==null?void 0:l.getPosition(o);if(f!=null)return f;var h=a==null?void 0:a[Number(o)];if(h)switch(r){case"horizontal":return{x:h.coordinate,y:(n.top+t)/2};default:return{x:(n.left+e)/2,y:h.coordinate}}}},DA=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var a;if(r==="hover"?a=e.itemInteraction.hover.graphicalItemId:a=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&a==null)return e.tooltipItemPayloads;if(a==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(u=>{var l;return((l=u.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})},RA=e=>e.options.tooltipPayloadSearcher,Xs=e=>e.tooltip;function sS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lS(e){for(var t=1;te(t)}function uS(e){if(typeof e=="string")return e}function BU(e){if(!(e==null||typeof e!="object")){var t="name"in e?LU(e.name):void 0,r="unit"in e?zU(e.unit):void 0,n="dataKey"in e?FU(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?uS(e.color):void 0,u="fill"in e?uS(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:u}}}function UU(e,t){return e??t}var $A=(e,t,r,n,a,o,u)=>{if(!(t==null||o==null)){var l=r.chartData,f=r.computedData,h=r.dataStartIndex,p=r.dataEndIndex,g=[];return e.reduce((x,b)=>{var j,k=b.dataDefinedOnItem,S=b.settings,N=UU(k,l),P=Array.isArray(N)?lP(N,h,p):N,O=(j=S==null?void 0:S.dataKey)!==null&&j!==void 0?j:n,C=S==null?void 0:S.nameKey,_;if(n&&Array.isArray(P)&&!Array.isArray(P[0])&&u==="axis"?_=gE(P,n,a):_=o(P,t,f,C),Array.isArray(_))_.forEach(I=>{var U,B,K=BU(I),X=K==null?void 0:K.name,$=K==null?void 0:K.dataKey,ue=K==null?void 0:K.payload,J=lS(lS({},S),{},{name:X,unit:K==null?void 0:K.unit,color:(U=K==null?void 0:K.color)!==null&&U!==void 0?U:S==null?void 0:S.color,fill:(B=K==null?void 0:K.fill)!==null&&B!==void 0?B:S==null?void 0:S.fill});x.push(nj({tooltipEntrySettings:J,dataKey:$,payload:ue,value:Tt(ue,$),name:X==null?void 0:String(X)}))});else{var A;x.push(nj({tooltipEntrySettings:S,dataKey:O,payload:_,value:Tt(_,O),name:(A=Tt(_,C))!==null&&A!==void 0?A:S==null?void 0:S.name}))}return x},g)}},_x=G([Ct,UC,Wy],$C),WU=G([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),HU=G([Rt,Gs],WC),bo=G([WU,Ct,HU],KC,{memoizeOptions:{resultEqualityCheck:zh}}),KU=G([bo],e=>e.filter(Yy)),LA=G([bo],qC,{memoizeOptions:{resultEqualityCheck:zh}}),GU=G([bo],e=>e.some(t=>!t.data)),fo=G([LA,mn],YC),VU=G([KU,mn,Ct],rC),Mx=G([fo,Ct,bo,mn,GU,LA],XC),zA=G([Ct],Sx),qU=G([Ct],e=>e.allowDataOverflow),FA=G([zA,qU],LP),QU=G([bo],e=>e.filter(Yy)),YU=G([VU,QU,Ih,QP],JC),XU=G([YU,mn,Rt,FA],tA),ZU=G([bo],VC),JU=G([fo,Ct,ZU,Nx,Rt,lF],iA,{memoizeOptions:{resultEqualityCheck:Lh}}),e7=G([aA,Rt,Gs],Qs),t7=G([e7,Rt],lA),r7=G([oA,Rt,Gs],Qs),n7=G([r7,Rt],uA),i7=G([sA,Rt,Gs],Qs),a7=G([i7,Rt],cA),o7=G([t7,a7,n7],Hf),s7=G([Ct,zA,FA,XU,JU,o7,ut,Rt],dA),Ls=G([Ct,ut,fo,Mx,Ih,Rt,s7],fA),l7=G([Ls,Ct,_x],hA),u7=G([Ct,Ls,l7,Rt],pA),BA=e=>{var t=Rt(e),r=Gs(e),n=!1;return lc(e,t,r,n)},UA=G([Ct,BA],Th),c7=G([Ct,_x,u7,UA],wx),WA=G([c7],Xy),d7=G([ut,Mx,Ct,Rt],jA),f7=G([ut,Mx,Ct,Rt],xA),h7=(e,t,r,n,a,o,u,l)=>{if(t){var f=t.type,h=zn(e,l);if(n){var p=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,g=f==="category"&&n.bandwidth?n.bandwidth()/p:0;return g=l==="angleAxis"&&a!=null&&(a==null?void 0:a.length)>=2?Hr(a[0]-a[1])*2*g:g,h&&u?u.map((x,b)=>{var j=n.map(x);return Be(j)?{coordinate:j+g,value:x,index:b,offset:g}:null}).filter(xr):n.domain().map((x,b)=>{var j=n.map(x);return Be(j)?{coordinate:j+g,value:o?o[x]:x,index:b,offset:g}:null}).filter(xr)}}},xi=G([ut,Ct,_x,WA,BA,d7,f7,Rt],h7),Ix=G([EA,PA,yU],(e,t,r)=>CA(r.shared,e,t)),HA=e=>e.tooltip.settings.trigger,Tx=e=>e.tooltip.settings.defaultIndex,cc=G([Xs,Ix,HA,Tx],IA),zu=G([cc,fo,$s,Ls],du),KA=G([xi,zu],AA),p7=G([cc],e=>{if(e)return e.dataKey}),m7=G([cc],e=>{if(e)return e.graphicalItemId}),GA=G([Xs,Ix,HA,Tx],DA),g7=G([pi,mi,ut,Vt,xi,Tx,GA],TA),v7=G([cc,g7],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),y7=G([cc],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),x7=G([GA,zu,mn,$s,KA,RA,Ix],$A),b7=G([x7],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function cS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function dS(e){for(var t=1;tAe(Ct),N7=()=>{var e=S7(),t=Ae(xi),r=Ae(WA);return wf(!e||!r?void 0:dS(dS({},e),{},{scale:r}),t)};function fS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Jo(e){for(var t=1;t{var a=t.find(o=>o&&o.index===r);if(a){if(e==="horizontal")return{x:a.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:a.coordinate}}return{x:0,y:0}},O7=(e,t,r,n)=>{var a=t.find(h=>h&&h.index===r);if(a){if(e==="centric"){var o=a.coordinate,u=n.radius;return Jo(Jo(Jo({},n),Ht(n.cx,n.cy,u,o)),{},{angle:o,radius:u})}var l=a.coordinate,f=n.angle;return Jo(Jo(Jo({},n),Ht(n.cx,n.cy,l,f)),{},{angle:f,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function _7(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var VA=(e,t,r,n,a)=>{var o,u=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(u<=1||e==null)return 0;if(n==="angleAxis"&&a!=null&&Math.abs(Math.abs(a[1]-a[0])-360)<=1e-6)for(var l=0;l0?(f=r[l-1])===null||f===void 0?void 0:f.coordinate:(h=r[u-1])===null||h===void 0?void 0:h.coordinate,j=(p=r[l])===null||p===void 0?void 0:p.coordinate,k=l>=u-1?(g=r[0])===null||g===void 0?void 0:g.coordinate:(x=r[l+1])===null||x===void 0?void 0:x.coordinate,S=void 0;if(!(b==null||j==null||k==null))if(Hr(j-b)!==Hr(k-j)){var N=[];if(Hr(k-j)===Hr(a[1]-a[0])){S=k;var P=j+a[1]-a[0];N[0]=Math.min(P,(P+b)/2),N[1]=Math.max(P,(P+b)/2)}else{S=b;var O=k+a[1]-a[0];N[0]=Math.min(j,(O+j)/2),N[1]=Math.max(j,(O+j)/2)}var C=[Math.min(j,(S+j)/2),Math.max(j,(S+j)/2)];if(e>C[0]&&e<=C[1]||e>=N[0]&&e<=N[1]){var _;return(_=r[l])===null||_===void 0?void 0:_.index}}else{var A=Math.min(b,k),I=Math.max(b,k);if(e>(A+j)/2&&e<=(I+j)/2){var U;return(U=r[l])===null||U===void 0?void 0:U.index}}}else if(t)for(var B=0;B(K.coordinate+$.coordinate)/2||B>0&&B(K.coordinate+$.coordinate)/2&&e<=(K.coordinate+X.coordinate)/2)return K.index}}return-1},qA=()=>Ae(Wy),Dx=(e,t)=>t,QA=(e,t,r)=>r,Rx=(e,t,r,n)=>n,M7=G(xi,e=>fh(e,t=>t.coordinate)),$x=G([Xs,Dx,QA,Rx],IA),Lx=G([$x,fo,$s,Ls],du),I7=(e,t,r)=>{if(t!=null){var n=Xs(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},YA=G([Xs,Dx,QA,Rx],DA),Gf=G([pi,mi,ut,Vt,xi,Rx,YA],TA),T7=G([$x,Gf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),XA=G([xi,Lx],AA),D7=G([YA,Lx,mn,$s,XA,RA,Dx],$A),R7=G([$x,Lx],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),$7=(e,t,r,n,a,o,u)=>{if(!(!e||!r||!n||!a)&&_7(e,u)){var l=Y$(e,t),f=VA(l,o,a,r,n),h=A7(t,a,f,e);return{activeIndex:String(f),activeCoordinate:h}}},L7=(e,t,r,n,a,o,u)=>{if(!(!e||!n||!a||!o||!r)){var l=J6(e,r);if(l){var f=X$(l,t),h=VA(f,u,o,n,a),p=O7(t,o,h,l);return{activeIndex:String(h),activeCoordinate:p}}}},z7=(e,t,r,n,a,o,u,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?$7(e,t,n,a,o,u,l):L7(e,t,r,n,a,o,u)},F7=G(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),B7=G(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(or)),r=Array.from(new Set(t));return r.sort((n,a)=>n-a)},{memoizeOptions:{resultEqualityCheck:OF}});function hS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pS(e){for(var t=1;tpS(pS({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),K7)},V7=new Set(Object.values(or));function q7(e){return V7.has(e)}var ZA=rr({name:"zIndex",initialState:G7,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:at()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!q7(r)&&delete e.zIndexMap[r])},prepare:at()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=a:e.zIndexMap[n].element=a:e.zIndexMap[n]={consumers:0,element:o?void 0:a,panoramaElement:o?a:void 0}},prepare:at()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:at()}}}),Qh=ZA.actions,Q7=Qh.registerZIndexPortal,kg=Qh.unregisterZIndexPortal,Y7=Qh.registerZIndexPortalElement,X7=Qh.unregisterZIndexPortalElement,Z7=ZA.reducer;function bi(e){var t=e.zIndex,r=e.children,n=DL(),a=n&&t!==void 0&&t!==0,o=wr(),u=v.useRef(void 0),l=v.useRef(new Set),f=jt(),h=Ae(g=>F7(g,t,o));if(v.useLayoutEffect(()=>{if(!a){var g=l.current;g.forEach(b=>{f(kg({zIndex:b}))}),g.clear(),u.current=void 0;return}if(l.current.has(t)||(f(Q7({zIndex:t})),l.current.add(t)),h){u.current=h;var x=l.current;x.forEach(b=>{b!==t&&(f(kg({zIndex:b})),x.delete(b))})}},[f,t,a,h]),v.useLayoutEffect(()=>{var g=l.current;return()=>{g.forEach(x=>{f(kg({zIndex:x}))}),g.clear()}},[f]),!a)return r;var p=h??u.current;return p?nh.createPortal(r,p):null}function Gv(){return Gv=Object.assign?Object.assign.bind():function(e){for(var t=1;tv.useContext(JA),Sg={exports:{}},gS;function oW(){return gS||(gS=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function a(f,h,p){this.fn=f,this.context=h,this.once=p||!1}function o(f,h,p,g,x){if(typeof p!="function")throw new TypeError("The listener must be a function");var b=new a(p,g||f,x),j=r?r+h:h;return f._events[j]?f._events[j].fn?f._events[j]=[f._events[j],b]:f._events[j].push(b):(f._events[j]=b,f._eventsCount++),f}function u(f,h){--f._eventsCount===0?f._events=new n:delete f._events[h]}function l(){this._events=new n,this._eventsCount=0}l.prototype.eventNames=function(){var h=[],p,g;if(this._eventsCount===0)return h;for(g in p=this._events)t.call(p,g)&&h.push(r?g.slice(1):g);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(p)):h},l.prototype.listeners=function(h){var p=r?r+h:h,g=this._events[p];if(!g)return[];if(g.fn)return[g.fn];for(var x=0,b=g.length,j=new Array(b);x{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Tn(r))return e[r]}},cW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},eO=rr({name:"options",initialState:cW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),dW=eO.reducer,fW=eO.actions.createEventEmitter;function hW(e){return e.tooltip.syncInteraction}var pW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},tO=rr({name:"chartData",initialState:pW,reducers:{setChartData(e,t){if(e.chartData=t.payload,t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,a=r.endIndex;n!=null&&(e.dataStartIndex=n),a!=null&&(e.dataEndIndex=a)}}}),zx=tO.actions,yS=zx.setChartData,mW=zx.setDataStartEndIndexes;zx.setComputedData;var gW=tO.reducer,vW=["x","y"];function xS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function es(e){for(var t=1;tf.rootProps.className);v.useEffect(()=>{if(e==null)return Us;var f=(h,p,g)=>{if(t!==g&&e===h){if(p.payload.active===!1){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var x;if(u&&p!==null&&p!==void 0&&(x=p.payload)!==null&&x!==void 0&&x.coordinate&&p.payload.sourceViewBox){var b=p.payload.coordinate,j=b.x,k=b.y,S=wW(b,vW),N=p.payload.sourceViewBox,P=N.x,O=N.y,C=N.width,_=N.height,A=es(es({},S),{},{x:u.x+(C?(j-P)/C:0)*u.width,y:u.y+(_?(k-O)/_:0)*u.height});r(es(es({},p),{},{payload:es(es({},p.payload),{},{coordinate:A})}))}else r(p);return}if(a!=null){var I;if(typeof n=="function"){var U={activeTooltipIndex:p.payload.index==null?void 0:Number(p.payload.index),isTooltipActive:p.payload.active,activeIndex:p.payload.index==null?void 0:Number(p.payload.index),activeLabel:p.payload.label,activeDataKey:p.payload.dataKey,activeCoordinate:p.payload.coordinate},B=n(a,U);I=a[B]}else n==="value"&&(I=a.find(pe=>String(pe.value)===p.payload.label));var K=p.payload.coordinate;if(K==null||u==null){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(I==null){r(lu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:void 0}));return}var X=K.x,$=K.y,ue=Math.min(X,u.x+u.width),J=Math.min($,u.y+u.height),ge={x:o==="horizontal"?I.coordinate:ue,y:o==="horizontal"?J:I.coordinate},we=lu({active:p.payload.active,coordinate:ge,dataKey:p.payload.dataKey,index:String(I.index),label:p.payload.label,sourceViewBox:p.payload.sourceViewBox,graphicalItemId:p.payload.graphicalItemId});r(we)}}};return Fu.on(Vv,f),()=>{Fu.off(Vv,f)}},[l,r,t,e,n,a,o,u])}function SW(){var e=Ae(Hy),t=Ae(Ky),r=jt();v.useEffect(()=>{if(e==null)return Us;var n=(a,o,u)=>{t!==u&&e===a&&r(mW(o))};return Fu.on(vS,n),()=>{Fu.off(vS,n)}},[r,t,e])}function NW(){var e=jt();v.useEffect(()=>{e(fW())},[e]),kW(),SW()}function EW(e,t,r,n,a,o){var u=Ae(j=>I7(j,e,t)),l=Ae(m7),f=Ae(Ky),h=Ae(Hy),p=Ae(YP),g=Ae(hW),x=(g==null?void 0:g.sourceViewBox)!=null,b=Ph();v.useEffect(()=>{if(!x&&h!=null&&f!=null){var j=lu({active:o,coordinate:r,dataKey:u,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:b,graphicalItemId:l});Fu.emit(Vv,h,j,f)}},[x,r,u,l,a,n,f,h,p,o,b])}function bS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function wS(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{I(kU({shared:P,trigger:O,axisId:A,active:a,defaultIndex:U}))},[I,P,O,A,a,U]);var B=Ph(),K=AP(),X=vU(P),$=(t=Ae(_e=>R7(_e,X,O,U)))!==null&&t!==void 0?t:{},ue=$.activeIndex,J=$.isActive,ge=Ae(_e=>D7(_e,X,O,U)),we=Ae(_e=>XA(_e,X,O,U)),pe=Ae(_e=>T7(_e,X,O,U)),Y=ge,V=aW(),Q=(r=a??J)!==null&&r!==void 0?r:!1,D=RR([Y,Q]),T=OW(D,2),ee=T[0],ie=T[1],re=X==="axis"?we:void 0;EW(X,O,pe,re,ue,Q);var ce=_??V;if(ce==null||B==null||X==null)return null;var me=Y??kS;Q||(me=kS),h&&me.length&&(me=aR(me.filter(_e=>_e.value!=null&&(_e.hide!==!0||n.includeHidden)),x,DW));var Oe=me.length>0,te=wS(wS({},n),{},{payload:me,label:re,active:Q,activeIndex:ue,coordinate:pe,accessibilityLayer:K}),ke=v.createElement(Vz,{allowEscapeViewBox:o,animationDuration:u,animationEasing:l,isAnimationActive:p,active:Q,coordinate:pe,hasPayload:Oe,offset:g,position:b,reverseDirection:j,useTranslate3d:k,viewBox:B,wrapperStyle:S,lastBoundingBox:ee,innerRef:ie,hasPortalFromProps:!!_},RW(f,te));return v.createElement(v.Fragment,null,nh.createPortal(ke,ce),Q&&v.createElement(iW,{cursor:N,tooltipEventType:X,coordinate:pe,payload:me,index:ue}))}function zW(e,t,r){return(t=FW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function FW(e){var t=BW(e,"string");return typeof t=="symbol"?t:t+""}function BW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class UW{constructor(t){zW(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}}function SS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function WW(e){for(var t=1;t{try{var r=document.getElementById(ES);r||(r=document.createElement("span"),r.setAttribute("id",ES),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,qW,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},fu=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||tc.isSsr)return{width:0,height:0};if(!rO.enableCache)return PS(t,r);var n=QW(t,r),a=NS.get(n);if(a)return a;var o=PS(t,r);return NS.set(n,o),o},nO;function Vf(e,t){return JW(e)||ZW(e,t)||XW(e,t)||YW()}function YW(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function XW(e,t){if(e){if(typeof e=="string")return CS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?CS(e,t):void 0}}function CS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var a=[];Kt(t)||(r?a=t.toString().split(""):a=t.toString().split(aO));var o=a.map(l=>({word:l,width:fu(l,n).width})),u=r?0:fu(" ",n).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}};function sO(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function xH(e){return Kt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var lO=(e,t,r,n)=>e.reduce((a,o)=>{var u=o.word,l=o.width,f=a[a.length-1];if(f&&l!=null&&(t==null||n||f.width+l+re.reduce((t,r)=>t.width>r.width?t:r),bH="…",DS=(e,t,r,n,a,o,u,l)=>{var f=e.slice(0,t),h=oO({breakAll:r,style:n,children:f+bH});if(!h)return[!1,[]];var p=lO(h.wordsWithComputedWidth,o,u,l),g=p.length>a||uO(p).width>Number(o);return[g,p]},wH=(e,t,r,n,a)=>{var o=e.maxLines,u=e.children,l=e.style,f=e.breakAll,h=Ne(o),p=String(u),g=lO(t,n,r,a);if(!h||a)return g;var x=g.length>o||uO(g).width>Number(n);if(!x)return g;for(var b=0,j=p.length-1,k=0,S;b<=j&&k<=p.length-1;){var N=Math.floor((b+j)/2),P=N-1,O=DS(p,P,f,l,o,n,r,a),C=IS(O,2),_=C[0],A=C[1],I=DS(p,N,f,l,o,n,r,a),U=IS(I,1),B=U[0];if(!_&&!B&&(b=N+1),_&&B&&(j=N-1),!_&&B){S=A;break}k++}return S||g},RS=e=>{var t=Kt(e)?[]:e.toString().split(aO);return[{words:t,width:void 0}]},jH=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,u=e.maxLines;if((t||r)&&!tc.isSsr){var l,f,h=oO({breakAll:o,children:n,style:a});if(h){var p=h.wordsWithComputedWidth,g=h.spaceWidth;l=p,f=g}else return RS(n);return wH({breakAll:o,children:n,maxLines:u,style:a},l,f,t,!!r)}return RS(n)},cO="#808080",kH={angle:0,breakAll:!1,capHeight:"0.71em",fill:cO,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Fx=v.forwardRef((e,t)=>{var r=Yr(e,kH),n=r.x,a=r.y,o=r.lineHeight,u=r.capHeight,l=r.fill,f=r.scaleToFit,h=r.textAnchor,p=r.verticalAnchor,g=MS(r,fH),x=v.useMemo(()=>jH({breakAll:g.breakAll,children:g.children,maxLines:g.maxLines,scaleToFit:f,style:g.style,width:g.width}),[g.breakAll,g.children,g.maxLines,f,g.style,g.width]),b=g.dx,j=g.dy,k=g.angle,S=g.className,N=g.breakAll,P=MS(g,hH);if(!Dn(n)||!Dn(a)||x.length===0)return null;var O=Number(n)+(Ne(b)?b:0),C=Number(a)+(Ne(j)?j:0);if(!Be(O)||!Be(C))return null;var _;switch(p){case"start":_=Ng("calc(".concat(u,")"));break;case"middle":_=Ng("calc(".concat((x.length-1)/2," * -").concat(o," + (").concat(u," / 2))"));break;default:_=Ng("calc(".concat(x.length-1," * -").concat(o,")"));break}var A=[],I=x[0];if(f&&I!=null){var U=I.width,B=g.width;A.push("scale(".concat(Ne(B)&&Ne(U)?B/U:1,")"))}return k&&A.push("rotate(".concat(k,", ").concat(O,", ").concat(C,")")),A.length&&(P.transform=A.join(" ")),v.createElement("text",qv({},Vr(P),{ref:t,x:O,y:C,className:et("recharts-text",S),textAnchor:h,fill:l.includes("url")?cO:l}),x.map((K,X)=>{var $=K.words.join(N?"":" ");return v.createElement("tspan",{x:O,dy:X===0?_:o,key:"".concat($,"-").concat(X)},$)}))});Fx.displayName="Text";function $S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Sn(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,u=Ty(t),l=u.x,f=u.y,h=u.height,p=u.upperWidth,g=u.lowerWidth,x=l,b=l+(p-g)/2,j=(x+b)/2,k=(p+g)/2,S=x+p/2,N=h>=0?1:-1,P=N*a,O=N>0?"end":"start",C=N>0?"start":"end",_=p>=0?1:-1,A=_*a,I=_>0?"end":"start",U=_>0?"start":"end",B=o;if(r==="top"){var K={x:x+p/2,y:f-P,horizontalAnchor:"middle",verticalAnchor:O};return B&&(K.height=Math.max(f-B.y,0),K.width=p),K}if(r==="bottom"){var X={x:b+g/2,y:f+h+P,horizontalAnchor:"middle",verticalAnchor:C};return B&&(X.height=Math.max(B.y+B.height-(f+h),0),X.width=g),X}if(r==="left"){var $={x:j-A,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"};return B&&($.width=Math.max($.x-B.x,0),$.height=h),$}if(r==="right"){var ue={x:j+k+A,y:f+h/2,horizontalAnchor:U,verticalAnchor:"middle"};return B&&(ue.width=Math.max(B.x+B.width-ue.x,0),ue.height=h),ue}var J=B?{width:k,height:h}:{};return r==="insideLeft"?Sn({x:j+A,y:f+h/2,horizontalAnchor:U,verticalAnchor:"middle"},J):r==="insideRight"?Sn({x:j+k-A,y:f+h/2,horizontalAnchor:I,verticalAnchor:"middle"},J):r==="insideTop"?Sn({x:x+p/2,y:f+P,horizontalAnchor:"middle",verticalAnchor:C},J):r==="insideBottom"?Sn({x:b+g/2,y:f+h-P,horizontalAnchor:"middle",verticalAnchor:O},J):r==="insideTopLeft"?Sn({x:x+A,y:f+P,horizontalAnchor:U,verticalAnchor:C},J):r==="insideTopRight"?Sn({x:x+p-A,y:f+P,horizontalAnchor:I,verticalAnchor:C},J):r==="insideBottomLeft"?Sn({x:b+A,y:f+h-P,horizontalAnchor:U,verticalAnchor:O},J):r==="insideBottomRight"?Sn({x:b+g-A,y:f+h-P,horizontalAnchor:I,verticalAnchor:O},J):r&&typeof r=="object"&&(Ne(r.x)||oo(r.x))&&(Ne(r.y)||oo(r.y))?Sn({x:l+da(r.x,k),y:f+da(r.y,h),horizontalAnchor:"end",verticalAnchor:"end"},J):Sn({x:S,y:f+h/2,horizontalAnchor:"middle",verticalAnchor:"middle"},J)},CH=["labelRef"],AH=["content"];function LS(e,t){if(e==null)return{};var r,n,a=OH(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,u=e.height,l=e.children,f=v.useMemo(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:u}),[t,r,n,a,o,u]);return v.createElement(dO.Provider,{value:f},l)},fO=()=>{var e=v.useContext(dO),t=Ph();return e||(t?Ty(t):void 0)},DH=v.createContext(null),RH=()=>{var e=v.useContext(DH),t=Ae(tC);return e||t},$H=e=>{var t=e.value,r=e.formatter,n=Kt(e.children)?t:e.children;return typeof r=="function"?r(n):n},Bx=e=>e!=null&&typeof e=="function",LH=(e,t)=>{var r=Hr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},zH=(e,t,r,n,a)=>{var o=e.offset,u=e.className,l=a.cx,f=a.cy,h=a.innerRadius,p=a.outerRadius,g=a.startAngle,x=a.endAngle,b=a.clockWise,j=(h+p)/2,k=LH(g,x),S=k>=0?1:-1,N,P;switch(t){case"insideStart":N=g+S*o,P=b;break;case"insideEnd":N=x-S*o,P=!b;break;case"end":N=x+S*o,P=b;break;default:throw new Error("Unsupported position ".concat(t))}P=k<=0?P:!P;var O=Ht(l,f,j,N),C=Ht(l,f,j,N+(P?1:-1)*359),_="M".concat(O.x,",").concat(O.y,` A`).concat(j,",").concat(j,",0,1,").concat(P?0:1,`, - `).concat(C.x,",").concat(C.y),A=Kt(e.id)?Eu("recharts-radial-line-"):e.id;return v.createElement("text",ri({},n,{dominantBaseline:"central",className:et("recharts-radial-bar-label",u)}),v.createElement("defs",null,v.createElement("path",{id:A,d:_})),v.createElement("textPath",{xlinkHref:"#".concat(A)},r))},BH=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,u=e.outerRadius,l=e.startAngle,f=e.endAngle,h=(l+f)/2;if(r==="outside"){var p=Ht(n,a,u+t,h),g=p.x,x=p.y;return{x:g,y:x,textAnchor:g>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"end"};var b=(o+u)/2,j=Ht(n,a,b,h),k=j.x,S=j.y;return{x:k,y:S,textAnchor:"middle",verticalAnchor:"middle"}},rf=e=>e!=null&&"cx"in e&&Ne(e.cx),UH={angle:0,offset:5,zIndex:or.label,position:"middle",textBreakAll:!1};function WH(e){if(!rf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,a=n*2;return{x:t-n,y:r-n,width:a,upperWidth:a,lowerWidth:a,height:a}}function Qi(e){var t=Yr(e,UH),r=t.viewBox,n=t.parentViewBox,a=t.position,o=t.value,u=t.children,l=t.content,f=t.className,h=f===void 0?"":f,p=t.textBreakAll,g=t.labelRef,x=$H(),b=fO(),j=a==="center"?b:x??b,k,S,N;r==null?k=j:rf(r)?k=r:k=Ty(r);var P=WH(k);if(!k||Kt(o)&&Kt(u)&&!v.isValidElement(l)&&typeof l!="function")return null;var O=uu(uu({},t),{},{viewBox:k});if(v.isValidElement(l)){O.labelRef;var C=LS(O,AH);return v.cloneElement(l,C)}if(typeof l=="function"){O.content;var _=LS(O,OH);if(S=v.createElement(l,_),v.isValidElement(S))return S}else S=LH(t);var A=Vr(t);if(rf(k)){if(a==="insideStart"||a==="insideEnd"||a==="end")return FH(t,a,S,A,k);N=BH(k,t.offset,t.position)}else{if(!P)return null;var I=CH({viewBox:P,position:a,offset:t.offset,parentViewBox:rf(n)?void 0:n});N=uu(uu({x:I.x,y:I.y,textAnchor:I.horizontalAnchor,verticalAnchor:I.verticalAnchor},I.width!==void 0?{width:I.width}:{}),I.height!==void 0?{height:I.height}:{})}return v.createElement(bi,{zIndex:t.zIndex},v.createElement(F0,ri({ref:g,className:et("recharts-label",h)},A,N,{textAnchor:sO(A.textAnchor)?A.textAnchor:N.textAnchor,breakAll:p}),S))}Qi.displayName="Label";var HH=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?v.createElement(Qi,ri({key:"label-implicit"},n)):Dn(e)?v.createElement(Qi,ri({key:"label-implicit",value:e},n)):v.isValidElement(e)?e.type===Qi?v.cloneElement(e,uu({key:"label-implicit"},n)):v.createElement(Qi,ri({key:"label-implicit",content:e},n)):B0(e)?v.createElement(Qi,ri({key:"label-implicit",content:e},n)):e&&typeof e=="object"?v.createElement(Qi,ri({},e,{key:"label-implicit"},n)):null};function KH(e){var t=e.label,r=e.labelRef,n=fO();return HH(t,n,r)||null}var GH=["valueAccessor"],VH=["dataKey","clockWise","id","textBreakAll","zIndex"];function qf(){return qf=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(bH(t))return t},hO=v.createContext(void 0),YH=hO.Provider,pO=v.createContext(void 0);pO.Provider;function XH(){return v.useContext(hO)}function ZH(){return v.useContext(pO)}function nf(e){var t=e.valueAccessor,r=t===void 0?QH:t,n=FS(e,GH),a=n.dataKey;n.clockWise;var o=n.id,u=n.textBreakAll,l=n.zIndex,f=FS(n,VH),h=XH(),p=ZH(),g=h||p;return!g||!g.length?null:v.createElement(bi,{zIndex:l??or.label},v.createElement(qr,{className:"recharts-label-list"},g.map((x,b)=>{var j,k=Kt(a)?r(x,b):Tt(x.payload,a),S=Kt(o)?{}:{id:"".concat(o,"-").concat(b)};return v.createElement(Qi,qf({key:"label-".concat(b)},Vr(x),f,S,{fill:(j=n.fill)!==null&&j!==void 0?j:x.fill,parentViewBox:x.parentViewBox,value:k,textBreakAll:u,viewBox:x.viewBox,index:b,zIndex:0}))})))}nf.displayName="LabelList";function JH(e){var t=e.label;return t?t===!0?v.createElement(nf,{key:"labelList-implicit"}):v.isValidElement(t)||B0(t)?v.createElement(nf,{key:"labelList-implicit",content:t}):typeof t=="object"?v.createElement(nf,qf({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,a=e.className,o=et("recharts-dot",a);return Ne(t)&&Ne(r)&&Ne(n)?v.createElement("circle",Qv({},fn(e),Sy(e),{className:o,cx:t,cy:r,r:n})):null},eK={radiusAxis:{},angleAxis:{}},gO=rr({name:"polarAxis",initialState:eK,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Yh=gO.actions;Yh.addRadiusAxis;Yh.removeRadiusAxis;Yh.addAngleAxis;Yh.removeAngleAxis;var tK=gO.reducer;function rK(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var vO=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function BS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function US(e){for(var t=1;t{n||(a.current===null?r(wU(t)):a.current!==t&&r(jU({prev:a.current,next:t})),a.current=t)},[t,r,n]),v.useLayoutEffect(()=>()=>{a.current&&(r(kU(a.current)),a.current=null)},[r]),null}function fK(e){var t=e.legendPayload,r=jt(),n=wr(),a=v.useRef(null);return v.useLayoutEffect(()=>{n||(a.current===null?r(QL(t)):a.current!==t&&r(YL({prev:a.current,next:t})),a.current=t)},[r,n,t]),v.useLayoutEffect(()=>()=>{a.current&&(r(XL(a.current)),a.current=null)},[r]),null}function hK(e,t){return vK(e)||gK(e,t)||mK(e,t)||pK()}function pK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mK(e,t){if(e){if(typeof e=="string")return WS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?WS(e,t):void 0}}function WS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var a of r)n.push({status:"removed",prev:a});for(var o=0;oe[Math.floor(o*r)]);return W0(n,t)}function bK(e,t){var r=t.map((n,a)=>e[a]);return W0(r,t)}function wK(e,t){for(var r=new Map,n=0;n{var b=r(g,x);if(b!=null){var j=n.get(b);if(j!==void 0)return a.add(b),j}}),u=[];for(var l of n){var f=hK(l,2),h=f[0],p=f[1];a.has(h)||u.push(p)}return W0(o,t,u)}function Yv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===U0?xK(e,t):r===yK?bK(e,t):jK(e,t,r)}function xO(e,t){var r=v.useRef(e),n=v.useRef(t.current),a=v.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=v.useCallback(function(u,l){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=u),l>0&&a.current&&f&&(t.current=u)},[t]);return{startValue:n.current,syncStepValue:o}}function kK(e,t){return PK(e)||EK(e,t)||NK(e,t)||SK()}function SK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function NK(e,t){if(e){if(typeof e=="string")return HS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?HS(e,t):void 0}}function HS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=v.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:u,handleAnimationEnd:l}}function AK(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,u=e.isAnimationActive,l=e.animationBegin,f=e.animationDuration,h=e.animationEasing,p=e.onAnimationStart,g=e.onAnimationEnd,x=e.animationInterpolateFn,b=e.animationMatchBy,j=e.shouldUpdatePreviousRef,k=e.children,S=e.layout,N=TP(r,n),P=xO(N,o),O=(t=P.startValue)!==null&&t!==void 0?t:null,C=Yv(O,a,b??U0);return v.createElement(IP,{animationId:N,begin:l,duration:f,isActive:u,easing:h,onAnimationEnd:g,onAnimationStart:p,key:N},_=>{var A=O==null,I=a==null?a:x(C,_,S),U=j?j(_):_>0;return P.syncStepValue(I,_,U),I==null?null:k(I,_,A)})}var Eg;function OK(e,t){return TK(e)||IK(e,t)||MK(e,t)||_K()}function _K(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MK(e,t){if(e){if(typeof e=="string")return KS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?KS(e,t):void 0}}function KS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=v.useState(()=>Eu("uid-")),t=OK(e,1),r=t[0];return r},bO=(Eg=rh.useId)!==null&&Eg!==void 0?Eg:DK;function RK(e,t){var r=bO();return t||(e?"".concat(e,"-").concat(r):r)}var $K=v.createContext(void 0),LK=e=>{var t=e.id,r=e.type,n=e.children,a=RK("recharts-".concat(r),t);return v.createElement($K.Provider,{value:a},n(a))},zK={cartesianItems:[],polarItems:[]},wO=rr({name:"graphicalItems",initialState:zK,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:at()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=a)},prepare:at()},removeCartesianGraphicalItem:{reducer(e,t){var r=Kr(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:at()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:at()},removePolarGraphicalItem:{reducer(e,t){var r=Kr(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:at()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=a)},prepare:at()}}}),Zs=wO.actions,FK=Zs.addCartesianGraphicalItem,BK=Zs.replaceCartesianGraphicalItem,UK=Zs.removeCartesianGraphicalItem;Zs.addPolarGraphicalItem;Zs.removePolarGraphicalItem;Zs.replacePolarGraphicalItem;var WK=wO.reducer,HK=e=>{var t=jt(),r=v.useRef(null);return v.useLayoutEffect(()=>{r.current===null?t(FK(e)):r.current!==e&&t(BK({prev:r.current,next:e})),r.current=e},[t,e]),v.useLayoutEffect(()=>()=>{r.current&&(t(UK(r.current)),r.current=null)},[t]),null},KK=v.memo(HK),GK=["points"];function GS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Pg(e){for(var t=1;t{var N,P,O=Pg(Pg(Pg({r:3},u),x),{},{index:S,cx:(N=k.x)!==null&&N!==void 0?N:void 0,cy:(P=k.y)!==null&&P!==void 0?P:void 0,dataKey:o,value:k.value,payload:k.payload,points:t});return v.createElement(ZK,{key:"dot-".concat(S),option:r,dotProps:O,className:a})}),j={};return l&&f!=null&&(j.clipPath="url(#clipPath-".concat(g?"":"dots-").concat(f,")")),v.createElement(bi,{zIndex:p},v.createElement(qr,Qf({className:n},j),b))}function VS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qS(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),pG=G([hG,pi,mi],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),H0=()=>Ae(pG),mG=()=>Ae(w7);function QS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Cg(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,u=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=Cg(Cg(Cg({},l),uh(a)),Sy(a)),h;return v.isValidElement(a)?h=v.cloneElement(a,f):typeof a=="function"?h=a(f):h=v.createElement(mO,f),v.createElement(qr,{className:"recharts-active-dot",clipPath:u},h)};function YS(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,u=e.zIndex,l=u===void 0?or.activeDot:u,f=Ae(zu),h=mG();if(t==null||h==null)return null;var p=t.find(g=>h.includes(g.payload));return Kt(p)?null:v.createElement(bi,{zIndex:l},v.createElement(xG,{point:p,childIndex:Number(f),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}var bG=e=>{var t=e.chartData,r=jt(),n=wr();return v.useEffect(()=>n?()=>{}:(r(yS(t)),()=>{r(yS(void 0))}),[t,r,n]),null},XS={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},SO=rr({name:"brush",initialState:XS,reducers:{setBrushSettings(e,t){return t.payload==null?XS:t.payload}}});SO.actions.setBrushSettings;var wG=SO.reducer;function jG(e){return(e%180+180)%180}var kG=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=jG(a),u=o*Math.PI/180,l=Math.atan(n/r),f=u>l&&u{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Kr(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Kr(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=Kr(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Js=NO.actions;Js.addDot;Js.removeDot;Js.addArea;Js.removeArea;Js.addLine;Js.removeLine;var NG=NO.reducer;function EG(e,t){return OG(e)||AG(e,t)||CG(e,t)||PG()}function PG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CG(e,t){if(e){if(typeof e=="string")return ZS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ZS(e,t):void 0}}function ZS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=v.useState("".concat(Eu("recharts"),"-clip")),n=EG(r,1),a=n[0],o=H0();if(o==null)return null;var u=o.x,l=o.y,f=o.width,h=o.height;return v.createElement(_G.Provider,{value:a},v.createElement("defs",null,v.createElement("clipPath",{id:a},v.createElement("rect",{x:u,y:l,height:h,width:f}))),t)};function EO(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function DG(e,t){return EO(e,t+1)}function RG(e,t,r,n,a){for(var o=(n||[]).slice(),u=t.start,l=t.end,f=0,h=1,p=u,g=function(){var j=n==null?void 0:n[f];if(j===void 0)return{v:EO(n,h)};var k=f,S,N=()=>(S===void 0&&(S=r(j,k)),S),P=j.coordinate,O=f===0||Bu(e,P,N,p,l);O||(f=0,p=u,h+=1),O&&(p=P+e*(N()/2+a),f+=h)},x;h<=o.length;)if(x=g(),x)return x.v;return[]}function $G(e,t,r,n,a){var o=(n||[]).slice(),u=o.length;if(u===0)return[];for(var l=t.start,f=t.end,h=1;h<=u;h++){for(var p=(u-1)%h,g=l,x=!0,b=function(){var C=n[k];if(C==null)return 0;var _=k,A,I=()=>(A===void 0&&(A=r(C,_)),A),U=C.coordinate,B=k===p||Bu(e,U,I,g,f);if(!B)return x=!1,1;B&&(g=U+e*(I()/2+a))},j,k=p;k(k===void 0&&(k=r(b,x)),k);if(x===u-1){var N=e*(j.coordinate+e*S()/2-f);o[x]=j=er(er({},j),{},{tickCoord:N>0?j.coordinate-N*e:j.coordinate})}else o[x]=j=er(er({},j),{},{tickCoord:j.coordinate});if(j.tickCoord!=null){var P=Bu(e,j.tickCoord,S,l,f);P&&(f=j.tickCoord-e*(S()/2+a),o[x]=er(er({},j),{},{isShow:!0}))}},p=u-1;p>=0;p--)h(p);return o}function UG(e,t,r,n,a,o){var u=(n||[]).slice(),l=u.length,f=t.start,h=t.end;if(o){var p=n[l-1];if(p!=null){var g=r(p,l-1),x=e*(p.coordinate+e*g/2-h);if(u[l-1]=p=er(er({},p),{},{tickCoord:x>0?p.coordinate-x*e:p.coordinate}),p.tickCoord!=null){var b=Bu(e,p.tickCoord,()=>g,f,h);b&&(h=p.tickCoord-e*(g/2+a),u[l-1]=er(er({},p),{},{isShow:!0}))}}}for(var j=o?l-1:l,k=function(P){var O=u[P];if(O==null)return 1;var C=O,_,A=()=>(_===void 0&&(_=r(O,P)),_);if(P===0){var I=e*(C.coordinate-e*A()/2-f);u[P]=C=er(er({},C),{},{tickCoord:I<0?C.coordinate-I*e:C.coordinate})}else u[P]=C=er(er({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var U=Bu(e,C.tickCoord,A,f,h);U&&(f=C.tickCoord+e*(A()/2+a),u[P]=er(er({},C),{},{isShow:!0}))}},S=0;S{var I=typeof h=="function"?h(_.value,A):_.value;return j==="width"?IG(fu(I,{fontSize:t,letterSpacing:r}),k,g):fu(I,{fontSize:t,letterSpacing:r})[j]},N=a[0],P=a[1],O=a.length>=2&&N!=null&&P!=null?Hr(P.coordinate-N.coordinate):1,C=TG(o,O,j);return f==="equidistantPreserveStart"?RG(O,C,S,a,u):f==="equidistantPreserveEnd"?$G(O,C,S,a,u):(f==="preserveStart"||f==="preserveStartEnd"?b=UG(O,C,S,a,u,f==="preserveStartEnd"):b=BG(O,C,S,a,u),b.filter(_=>_.isShow))}var WG=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n,o=e.tickSize,u=o===void 0?0:o,l=e.tickMargin,f=l===void 0?0:l,h=0;if(t){Array.from(t).forEach(b=>{if(b){var j=b.getBoundingClientRect();j.width>h&&(h=j.width)}});var p=r?r.getBoundingClientRect().width:0,g=u+f,x=h+g+p+(r?a:0);return Math.round(x)}return 0},HG={xAxis:{},yAxis:{}},PO=rr({name:"renderedTicks",initialState:HG,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),CO=PO.actions,KG=CO.setRenderedTicks,GG=CO.removeRenderedTicks,VG=PO.reducer,qG=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function eN(e,t){return ZG(e)||XG(e,t)||YG(e,t)||QG()}function QG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YG(e,t){if(e){if(typeof e=="string")return tN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tN(e,t):void 0}}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Us;var o=t.map(u=>({value:u.value,coordinate:u.coordinate,offset:u.offset,index:u.index}));return a(KG({ticks:o,axisId:n,axisType:r})),()=>{a(GG({axisId:n,axisType:r}))}},[a,t,n,r]),null}var cV=v.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,u=e.stroke,l=e.tickFormatter,f=e.unit,h=e.padding,p=e.tickTextProps,g=e.orientation,x=e.mirror,b=e.x,j=e.y,k=e.width,S=e.height,N=e.tickSize,P=e.tickMargin,O=e.fontSize,C=e.letterSpacing,_=e.getTicksConfig,A=e.events,I=e.axisType,U=e.axisId,B=K0(mt(mt({},_),{},{ticks:n}),O,C),K=fn(_),X=uh(a),$=sO(K.textAnchor)?K.textAnchor:oV(g,x),ue=sV(g,x),J={};typeof o=="object"&&(J=o);var ge=mt(mt({},K),{},{fill:"none"},J),we=B.map(V=>mt({entry:V},aV(V,b,j,k,S,g,N,x,P))),pe=we.map(V=>{var Q=V.entry,D=V.line;return v.createElement(qr,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Q.value,"-").concat(Q.coordinate,"-").concat(Q.tickCoord)},o&&v.createElement("line",ho({},ge,D,{className:et("recharts-cartesian-axis-tick-line",vo(o,"className"))})))}),Y=we.map((V,Q)=>{var D,T,ee=V.entry,ie=V.tick,re=mt(mt(mt(mt({verticalAnchor:ue},K),{},{textAnchor:$,stroke:"none",fill:u},ie),{},{index:Q,payload:ee,visibleTicksCount:B.length,tickFormatter:l,padding:h},p),{},{angle:(D=(T=p==null?void 0:p.angle)!==null&&T!==void 0?T:K.angle)!==null&&D!==void 0?D:0}),ce=mt(mt({},re),X);return v.createElement(qr,ho({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ee.value,"-").concat(ee.coordinate,"-").concat(ee.tickCoord)},pD(A,ee,Q)),a&&v.createElement(lV,{option:a,tickProps:ce,value:"".concat(typeof l=="function"?l(ee.value,Q):ee.value).concat(f||"")}))});return v.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(I,"-ticks")},v.createElement(uV,{ticks:B,axisId:U,axisType:I}),Y.length>0&&v.createElement(bi,{zIndex:or.label},v.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(I,"-tick-labels"),ref:t},Y)),pe.length>0&&v.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(I,"-tick-lines")},pe))}),dV=v.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,u=e.hide,l=e.ticks,f=e.axisType,h=e.axisId,p=JG(e,qG),g=v.useState(""),x=eN(g,2),b=x[0],j=x[1],k=v.useState(""),S=eN(k,2),N=S[0],P=S[1],O=v.useRef(null);v.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var _;return WG({ticks:O.current,label:(_=e.labelRef)===null||_===void 0?void 0:_.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var C=v.useCallback(_=>{if(_){var A=_.getElementsByClassName("recharts-cartesian-axis-tick-value");O.current=A;var I=A[0];if(I){var U=window.getComputedStyle(I),B=U.fontSize,K=U.letterSpacing;(B!==b||K!==N)&&(j(B),P(K))}}},[b,N]);return u||n!=null&&n<=0||a!=null&&a<=0?null:v.createElement(bi,{zIndex:e.zIndex},v.createElement(qr,{className:et("recharts-cartesian-axis",o)},v.createElement(iV,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:fn(e)}),v.createElement(cV,{ref:C,axisType:f,events:p,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:N,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),v.createElement(DH,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},v.createElement(KH,{label:e.label,labelRef:e.labelRef}),e.children)))}),G0=v.forwardRef((e,t)=>{var r=Yr(e,ui);return v.createElement(dV,ho({},r,{ref:t}))});G0.displayName="CartesianAxis";var fV=["x1","y1","x2","y2","key"],hV=["offset"],pV=["xAxisId","yAxisId"],mV=["xAxisId","yAxisId"];function nN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function tr(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,a=e.y,o=e.width,u=e.height,l=e.ry;return v.createElement("rect",{x:n,y:a,ry:l,width:o,height:u,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function AO(e){var t=e.option,r=e.lineItemProps,n;if(v.isValidElement(t))n=v.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,u=r.y1,l=r.x2,f=r.y2,h=r.key,p=Yf(r,fV),g=(a=fn(p))!==null&&a!==void 0?a:{};g.offset;var x=Yf(g,hV);n=v.createElement("line",Ha({},x,{x1:o,y1:u,x2:l,y2:f,fill:"none",key:h}))}return n}function wV(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Yf(e,pV),l=o.map((f,h)=>{var p=tr(tr({},u),{},{x1:t,y1:f,x2:t+r,y2:f,key:"line-".concat(h),index:h});return v.createElement(AO,{key:"line-".concat(h),option:a,lineItemProps:p})});return v.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function jV(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Yf(e,mV),l=o.map((f,h)=>{var p=tr(tr({},u),{},{x1:f,y1:t,x2:f,y2:t+r,key:"line-".concat(h),index:h});return v.createElement(AO,{option:a,lineItemProps:p,key:"line-".concat(h)})});return v.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function kV(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,u=e.height,l=e.horizontalPoints,f=e.horizontal,h=f===void 0?!0:f;if(!h||!t||!t.length||l==null)return null;var p=l.map(x=>Math.round(x+a-a)).sort((x,b)=>x-b);a!==p[0]&&p.unshift(0);var g=p.map((x,b)=>{var j=p[b+1],k=j==null,S=k?a+u-x:j-x;if(S<=0)return null;var N=b%t.length;return v.createElement("rect",{key:"react-".concat(b),y:x,x:n,height:S,width:o,stroke:"none",fill:t[N],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return v.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},g)}function SV(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,u=e.y,l=e.width,f=e.height,h=e.verticalPoints;if(!r||!n||!n.length)return null;var p=h.map(x=>Math.round(x+o-o)).sort((x,b)=>x-b);o!==p[0]&&p.unshift(0);var g=p.map((x,b)=>{var j=p[b+1],k=j==null,S=k?o+l-x:j-x;if(S<=0)return null;var N=b%n.length;return v.createElement("rect",{key:"react-".concat(b),x,y:u,width:S,height:f,stroke:"none",fill:n[N],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return v.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},g)}var NV=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return uP(K0(tr(tr(tr({},ui),r),{},{ticks:cP(r),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},EV=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return uP(K0(tr(tr(tr({},ui),r),{},{ticks:cP(r),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},PV={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:or.grid};function OO(e){var t=yP(),r=xP(),n=vP(),a=tr(tr({},Yr(e,PV)),{},{x:Ne(e.x)?e.x:n.left,y:Ne(e.y)?e.y:n.top,width:Ne(e.width)?e.width:n.width,height:Ne(e.height)?e.height:n.height}),o=a.xAxisId,u=a.yAxisId,l=a.x,f=a.y,h=a.width,p=a.height,g=a.syncWithTicks,x=a.horizontalValues,b=a.verticalValues,j=wr(),k=Ae(B=>aS(B,"xAxis",o,j)),S=Ae(B=>aS(B,"yAxis",u,j));if(!Rn(h)||!Rn(p)||!Ne(l)||!Ne(f))return null;var N=a.verticalCoordinatesGenerator||NV,P=a.horizontalCoordinatesGenerator||EV,O=a.horizontalPoints,C=a.verticalPoints;if((!O||!O.length)&&typeof P=="function"){var _=x&&x.length,A=P({yAxis:S?tr(tr({},S),{},{ticks:_?x:S.ticks}):void 0,width:t??h,height:r??p,offset:n},_?!0:g);jf(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof A,"]")),Array.isArray(A)&&(O=A)}if((!C||!C.length)&&typeof N=="function"){var I=b&&b.length,U=N({xAxis:k?tr(tr({},k),{},{ticks:I?b:k.ticks}):void 0,width:t??h,height:r??p,offset:n},I?!0:g);jf(Array.isArray(U),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof U,"]")),Array.isArray(U)&&(C=U)}return v.createElement(bi,{zIndex:a.zIndex},v.createElement("g",{className:"recharts-cartesian-grid"},v.createElement(bV,{fill:a.fill,fillOpacity:a.fillOpacity,x:a.x,y:a.y,width:a.width,height:a.height,ry:a.ry}),v.createElement(kV,Ha({},a,{horizontalPoints:O})),v.createElement(SV,Ha({},a,{verticalPoints:C})),v.createElement(wV,Ha({},a,{offset:n,horizontalPoints:O,xAxis:k,yAxis:S})),v.createElement(jV,Ha({},a,{offset:n,verticalPoints:C,xAxis:k,yAxis:S}))))}OO.displayName="CartesianGrid";var CV={},_O=rr({name:"errorBars",initialState:CV,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]||(e[n]=[]),e[n].push(a)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(u=>u.dataKey===a.dataKey&&u.direction===a.direction?o:u))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),V0=_O.actions;V0.addErrorBar;V0.replaceErrorBar;V0.removeErrorBar;var AV=_O.reducer;function MO(e,t){var r,n,a=Ae(h=>vi(h,e)),o=Ae(h=>yi(h,t)),u=(r=a==null?void 0:a.allowDataOverflow)!==null&&r!==void 0?r:Nt.allowDataOverflow,l=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:Et.allowDataOverflow,f=u||l;return{needClip:f,needClipX:u,needClipY:l}}function OV(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=H0(),o=MO(t,r),u=o.needClipX,l=o.needClipY,f=o.needClip,h=Ae(O=>gA(O,t,!1)),p=Ae(O=>vA(O,r,!1));if(!f||!a)return null;var g=a.x,x=a.y,b=a.width,j=a.height,k=u&&h?Math.min(h[0],h[1]):g-b/2,S=l&&p?Math.min(p[0],p[1]):x-j/2,N=u&&h?Math.abs(h[1]-h[0]):b*2,P=l&&p?Math.abs(p[1]-p[0]):j*2;return v.createElement("clipPath",{id:"clipPath-".concat(n)},v.createElement("rect",{x:k,y:S,width:N,height:P}))}function _V(e){var t=uh(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,u=Number(a),l=Number(o);return(Number.isNaN(u)||u<0)&&(u=r),(Number.isNaN(l)||l<0)&&(l=n),{r:u,strokeWidth:l}}return{r,strokeWidth:n}}function q0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:jO}function Q0(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:jO}var IO=(e,t,r)=>NA(e,"xAxis",q0(e,t),r),TO=(e,t,r)=>SA(e,"xAxis",q0(e,t),r),DO=(e,t,r)=>NA(e,"yAxis",Q0(e,t),r),RO=(e,t,r)=>SA(e,"yAxis",Q0(e,t),r),MV=G([ut,IO,DO,TO,RO],(e,t,r,n,a)=>zn(e,"xAxis")?wf(t,n,!1):wf(r,a,!1)),IV=(e,t)=>t,$O=G([HC,IV],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),LO=e=>{var t=ut(e),r=zn(t,"xAxis");return r?"yAxis":"xAxis"},TV=(e,t)=>{var r=LO(e);return r==="yAxis"?Q0(e,t):q0(e,t)},DV=(e,t,r)=>eA(e,LO(e),TV(e,t),r),RV=G([$O,DV],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Qy(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,u=o==null?void 0:o.find(l=>l.key===a);if(u!=null)return u.map(l=>[l[0],l[1]])}}}),$V=G([ut,IO,DO,TO,RO,RV,sF,MV,$O,SF],(e,t,r,n,a,o,u,l,f,h)=>{var p=u.chartData,g=u.dataStartIndex,x=u.dataEndIndex;if(!(f==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var b=f.data,j;if(b&&b.length>0?j=b:j=p==null?void 0:p.slice(g,x+1),j!=null)return uq({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:g,areaSettings:f,stackedData:o,displayedData:j,chartBaseValue:h,bandSize:l})}}),LV=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],zV=["id","baseLine"];function hu(){return hu=Object.assign?Object.assign.bind():function(e){for(var t=1;tg.y||0));return Ne(a)?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(...a.map(g=>g.y||0),p)),Ne(p)?v.createElement("rect",{x:lg.x||0));return Ne(a)?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(...a.map(g=>g.x||0),p)),Ne(p)?v.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[zs(zs({},r.next),{},{x:ni(r.prev.x,r.next.x,t),y:ni(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),FO={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:U0,animationInterpolateFn:XV,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:HV,xAxisId:0,yAxisId:0,zIndex:or.area};function Zf(e,t){return e&&e!=="none"?e:t}var ZV=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,u=e.hide;return[{inactive:u,dataKey:t,type:o,color:Zf(n,a),value:dP(r,t),payload:e}]},JV=v.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,u=e.name,l=e.hide,f=e.unit,h=e.tooltipType,p=e.id,g={dataDefinedOnItem:r,getPosition:Us,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:dP(u,t),hide:l,type:h,color:Zf(n,o),unit:f,graphicalItemId:p}};return v.createElement(dK,{tooltipEntrySettings:g})});function eq(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,u=n.dataKey,l=fn(n);return v.createElement(eG,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:u,baseProps:l,needClip:a,clipPathId:t})}function tq(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var u,l,f={x:(u=o.x)!==null&&u!==void 0?u:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return zs(zs({},f),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:f,fill:void 0})});return v.createElement(YH,{value:t?a:void 0},r)}function rq(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,u=e.animationElapsedTime,l=e.isAnimating,f=e.isEntrance,h=o.layout,p=o.type,g=o.stroke,x=o.connectNulls,b=o.isRange,j=o.shape,k=o.id,S=zO(o,KV),N=Vr(S),P=zs(zs({},N),{},{id:k,points:t,connectNulls:x,type:p,baseLine:r,layout:h,stroke:g,isRange:b,animationElapsedTime:u,isAnimating:l,isEntrance:f});return v.createElement(v.Fragment,null,(t==null?void 0:t.length)>1&&v.createElement(qr,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},v.createElement(cK,{option:j,DefaultShape:FO.shape,shapeProps:P})),v.createElement(eq,{points:t,props:S,clipPathId:a}))}function nq(e,t,r){if(Ne(e)){var n=Ne(t)?t:void 0;return ni(n,e,r)}if(Kt(e)||Tn(e)){var a=Ne(t)?t:void 0;return ni(a,0,r)}return e}function iq(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,u=n.points,l=n.baseLine,f=n.isAnimationActive,h=n.animationBegin,p=n.animationDuration,g=n.animationEasing,x=n.animationMatchBy,b=n.animationInterpolateFn,j=v.useMemo(()=>({points:u,baseLine:l}),[u,l]),k=xO(j,o),S=Dy(),N=CK(n.onAnimationStart,n.onAnimationEnd),P=N.isAnimating,O=N.handleAnimationStart,C=N.handleAnimationEnd,_=k.startValue;if(S==null)return null;var A;return Array.isArray(l)&&Array.isArray(_)?A=Yv(_,l,x):Array.isArray(l)?A=Yv(null,l,x):A=null,v.createElement(AK,{animationInput:j,animationIdPrefix:"recharts-area-",items:u,previousItemsRef:a,isAnimationActive:f,animationBegin:h,animationDuration:p,animationEasing:g,onAnimationStart:O,onAnimationEnd:C,animationInterpolateFn:b,animationMatchBy:x,layout:S},(I,U,B)=>{var K;return U===1?K=l:Array.isArray(l)?K=b(A,U,S):K=B?l:nq(l,_,U),k.syncStepValue(K,U),v.createElement(tq,{showLabels:!P,points:u},n.children,v.createElement(rq,{points:I,baseLine:K,needClip:t,clipPathId:r,props:n,animationElapsedTime:U,isAnimating:P||U<1,isEntrance:B}),v.createElement(JH,{label:n.label}))})}function aq(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=v.useRef(null),o=v.useRef();return v.createElement(iq,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}class oq extends v.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,u=t.top,l=t.left,f=t.needClip,h=t.xAxisId,p=t.yAxisId,g=t.width,x=t.height,b=t.id,j=t.baseLine,k=t.zIndex;if(r)return null;var S=et("recharts-area",o),N=b,P=_V(n),O=P.r,C=P.strokeWidth,_=vO(n),A=O*2+C,I=f?"url(#clipPath-".concat(_?"":"dots-").concat(N,")"):void 0;return v.createElement(bi,{zIndex:k},v.createElement(qr,{className:S},f&&v.createElement("defs",null,v.createElement(OV,{clipPathId:N,xAxisId:h,yAxisId:p}),!_&&v.createElement("clipPath",{id:"clipPath-dots-".concat(N)},v.createElement("rect",{x:l-A/2,y:u-A/2,width:g+A,height:x+A}))),v.createElement(aq,{needClip:f,clipPathId:N,props:this.props})),v.createElement(YS,{points:a,mainColor:Zf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(j)&&v.createElement(YS,{points:j,mainColor:Zf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}function sq(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,u=e.connectNulls,l=e.dot,f=e.fill,h=e.fillOpacity,p=e.hide,g=e.isAnimationActive,x=e.legendType,b=e.stroke,j=e.xAxisId,k=e.yAxisId,S=zO(e,GV),N=Ws(),P=qA(),O=MO(j,k),C=O.needClip,_=wr(),A=(t=Ae(ge=>$V(ge,e.id,_)))!==null&&t!==void 0?t:{},I=A.points,U=A.isRange,B=A.baseLine,K=H0();if(N!=="horizontal"&&N!=="vertical"||K==null||P!=="AreaChart"&&P!=="ComposedChart")return null;var X=K.height,$=K.width,ue=K.x,J=K.y;return!I||!I.length?null:v.createElement(oq,Xf({},S,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:B,connectNulls:u,dot:l,fill:f,fillOpacity:h,height:X,hide:p,layout:N,isAnimationActive:g,isRange:U,legendType:x,needClip:C,points:I,stroke:b,width:$,left:ue,top:J,xAxisId:j,yAxisId:k}))}var lq=(e,t,r,n,a)=>{var o=r??t;if(Ne(o))return o;var u=e==="horizontal"?a:n,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),h=Math.min(l[0],l[1]);return o==="dataMin"?h:o==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function uq(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,u=e.layout,l=e.chartBaseValue,f=e.xAxis,h=e.yAxis,p=e.displayedData,g=e.dataStartIndex,x=e.xAxisTicks,b=e.yAxisTicks,j=e.bandSize,k=o&&o.length,S=lq(u,l,n,f,h),N=u==="horizontal",P=!1,O=p.map((_,A)=>{var I,U,B,K;if(k)K=o[g+A];else{var X=Tt(_,a);Array.isArray(X)?(K=X,P=!0):K=[S,X]}var $=(I=(U=K)===null||U===void 0?void 0:U[1])!==null&&I!==void 0?I:null,ue=$==null||k&&!r&&Tt(_,a)==null;if(N){var J;return{x:ej({axis:f,ticks:x,bandSize:j,entry:_,index:A}),y:ue?null:(J=h.scale.map($))!==null&&J!==void 0?J:null,value:K,payload:_}}return{x:ue?null:(B=f.scale.map($))!==null&&B!==void 0?B:null,y:ej({axis:h,ticks:b,bandSize:j,entry:_,index:A}),value:K,payload:_}}),C;return k||P?C=O.map(_=>{var A,I=Array.isArray(_.value)?_.value[0]:null;if(N){var U;return{x:_.x,y:I!=null&&_.y!=null&&(U=h.scale.map(I))!==null&&U!==void 0?U:null,payload:_.payload}}return{x:I!=null&&(A=f.scale.map(I))!==null&&A!==void 0?A:null,y:_.y,payload:_.payload}}):C=N?h.scale.map(S):f.scale.map(S),{points:O,baseLine:C??0,isRange:P}}function cq(e){var t=Yr(e,FO),r=wr();return v.createElement(LK,{id:t.id,type:"area"},n=>v.createElement(v.Fragment,null,v.createElement(fK,{legendPayload:ZV(t)}),v.createElement(JV,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),v.createElement(KK,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:V$(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),v.createElement(sq,Xf({},t,{id:n}))))}var BO=v.memo(cq,_h);BO.displayName="Area";var dq=["domain","range"],fq=["domain","range"];function oN(e,t){if(e==null)return{};var r,n,a=hq(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(u!=null)return uN(uN({},o),{},{type:u})},[o,u]);return v.useLayoutEffect(()=>{l!=null&&(r.current===null?t(aG(l)):r.current!==l&&t(oG({prev:r.current,next:l})),r.current=l)},[l,t]),v.useLayoutEffect(()=>()=>{r.current&&(t(sG(r.current)),r.current=null)},[t]),null}var jq=e=>{var t=e.xAxisId,r=e.className,n=Ae(hP),a=wr(),o="xAxis",u=Ae(x=>kA(x,o,t,a)),l=Ae(x=>rU(x,t)),f=Ae(x=>lU(x,t)),h=Ae(x=>FC(x,t));if(l==null||f==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var p=Zv(e,mq);h.id,h.scale;var g=Zv(h,gq);return v.createElement(G0,Xv({},p,g,{x:f.x,y:f.y,width:l.width,height:l.height,className:et("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:u,axisType:o,axisId:t}))},kq={allowDataOverflow:Nt.allowDataOverflow,allowDecimals:Nt.allowDecimals,allowDuplicatedCategory:Nt.allowDuplicatedCategory,angle:Nt.angle,axisLine:ui.axisLine,height:Nt.height,hide:!1,includeHidden:Nt.includeHidden,interval:Nt.interval,label:!1,minTickGap:Nt.minTickGap,mirror:Nt.mirror,orientation:Nt.orientation,padding:Nt.padding,reversed:Nt.reversed,scale:Nt.scale,tick:Nt.tick,tickCount:Nt.tickCount,tickLine:ui.tickLine,tickSize:ui.tickSize,type:Nt.type,niceTicks:Nt.niceTicks,xAxisId:0},Sq=e=>{var t=Yr(e,kq);return v.createElement(v.Fragment,null,v.createElement(wq,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),v.createElement(jq,t))},WO=v.memo(Sq,UO);WO.displayName="XAxis";var Nq=["type"],Eq=["dangerouslySetInnerHTML","ticks","scale"],Pq=["id","scale"];function Jv(){return Jv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(u!=null)return dN(dN({},o),{},{type:u})},[u,o]);return v.useLayoutEffect(()=>{l!=null&&(r.current===null?t(lG(l)):r.current!==l&&t(uG({prev:r.current,next:l})),r.current=l)},[l,t]),v.useLayoutEffect(()=>()=>{r.current&&(t(cG(r.current)),r.current=null)},[t]),null}function Iq(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=v.useRef(null),u=v.useRef(null),l=Ae(hP),f=wr(),h=jt(),p="yAxis",g=Ae(N=>dU(N,t)),x=Ae(N=>cU(N,t)),b=Ae(N=>kA(N,p,t,f)),j=Ae(N=>BC(N,t));if(v.useLayoutEffect(()=>{if(!(n!=="auto"||!g||B0(a)||v.isValidElement(a)||j==null)){var N=o.current;if(N){var P=N.getCalculatedWidth();Math.round(g.width)!==Math.round(P)&&h(dG({id:t,width:P}))}}},[b,g,h,a,t,n,j]),g==null||x==null||j==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var k=ey(e,Eq);j.id,j.scale;var S=ey(j,Pq);return v.createElement(G0,Jv({},k,S,{ref:o,labelRef:u,x:x.x,y:x.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:g.width,height:g.height,className:et("recharts-".concat(p," ").concat(p),r),viewBox:l,ticks:b,axisType:p,axisId:t}))}var Tq={allowDataOverflow:Et.allowDataOverflow,allowDecimals:Et.allowDecimals,allowDuplicatedCategory:Et.allowDuplicatedCategory,angle:Et.angle,axisLine:ui.axisLine,hide:!1,includeHidden:Et.includeHidden,interval:Et.interval,label:!1,minTickGap:Et.minTickGap,mirror:Et.mirror,orientation:Et.orientation,padding:Et.padding,reversed:Et.reversed,scale:Et.scale,tick:Et.tick,tickCount:Et.tickCount,tickLine:ui.tickLine,tickSize:ui.tickSize,type:Et.type,niceTicks:Et.niceTicks,width:Et.width,yAxisId:0},Dq=e=>{var t=Yr(e,Tq);return v.createElement(v.Fragment,null,v.createElement(Mq,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),v.createElement(Iq,t))},HO=v.memo(Dq,UO);HO.displayName="YAxis";var Rq=(e,t)=>t,Y0=G([Rq,ut,tC,Rt,UA,xi,I7,Vt],F7);function $q(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function X0(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if($q(e)){var a=e.currentTarget.getBBox();r=a.width>0?t.width/a.width:1,n=a.height>0?t.height/a.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var u=(l,f)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>u(l.clientX,l.clientY)):u(e.clientX,e.clientY)}var KO=Mr("mouseClick"),GO=Yu();GO.startListening({actionCreator:KO,effect:(e,t)=>{var r=e.payload,n=Y0(t.getState(),X0(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(EU({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var ty=Mr("mouseMove"),VO=Yu(),ts=null,Ma=null,Ag=null;VO.startListening({actionCreator:ty,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,u=a.throttledEvents,l=u==="all"||(u==null?void 0:u.includes("mousemove"));ts!==null&&(cancelAnimationFrame(ts),ts=null),Ma!==null&&(typeof o!="number"||!l)&&(clearTimeout(Ma),Ma=null),Ag=X0(r);var f=()=>{var h=t.getState(),p=uc(h,h.tooltip.settings.shared);if(!Ag){ts=null,Ma=null;return}if(p==="axis"){var g=Y0(h,Ag);(g==null?void 0:g.activeIndex)!=null?t.dispatch(MA({activeIndex:g.activeIndex,activeDataKey:void 0,activeCoordinate:g.activeCoordinate})):t.dispatch(_A())}ts=null,Ma=null};if(!l){f();return}o==="raf"?ts=requestAnimationFrame(f):typeof o=="number"&&Ma===null&&(Ma=setTimeout(f,o))}});function Lq(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var fN={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},qO=rr({name:"rootProps",initialState:fN,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:fN.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),zq=qO.reducer,Fq=qO.actions.updateOptions,Bq=null,Uq={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},QO=rr({name:"polarOptions",initialState:Bq,reducers:Uq});QO.actions.updatePolarOptions;var Wq=QO.reducer,YO=Mr("keyDown"),XO=Mr("focus"),ZO=Mr("blur"),Xh=Yu(),rs=null,Ia=null,Kd=null;Xh.startListening({actionCreator:YO,effect:(e,t)=>{Kd=e.payload,rs!==null&&(cancelAnimationFrame(rs),rs=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,u=o==="all"||o.includes("keydown");Ia!==null&&(typeof a!="number"||!u)&&(clearTimeout(Ia),Ia=null);var l=()=>{try{var f=t.getState(),h=f.rootProps.accessibilityLayer!==!1;if(!h)return;var p=f.tooltip.keyboardInteraction,g=Kd;if(g!=="ArrowRight"&&g!=="ArrowLeft"&&g!=="Enter")return;var x=du(p,fo(f),$s(f),Ls(f)),b=x==null?-1:Number(x),j=!Number.isFinite(b)||b<0,k=xi(f),S=fo(f),N=uc(f,f.tooltip.settings.shared);if(g==="Enter"){if(j)return;var P=Gf(f,N,"hover",String(p.index));t.dispatch(Kf({active:!p.active,activeIndex:p.index,activeCoordinate:P}));return}var O=gU(f),C=O==="left-to-right"?1:-1,_=g==="ArrowRight"?1:-1,A;if(j){var I=$s(f),U=Ls(f),B=_*C,K=ge=>({active:!1,index:String(ge),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(A=-1,B>0){for(var X=0;X=0;$--)if(du(K($),S,I,U)!=null){A=$;break}if(A<0)return}else{A=b+_*C;var ue=(k==null?void 0:k.length)||S.length;if(ue===0||A>=ue||A<0)return}var J=Gf(f,N,"hover",String(A));t.dispatch(Kf({active:!0,activeIndex:A.toString(),activeCoordinate:J}))}finally{rs=null,Ia=null}};if(!u){l();return}a==="raf"?rs=requestAnimationFrame(l):typeof a=="number"&&Ia===null&&(l(),Kd=null,Ia=setTimeout(()=>{Kd?l():(Ia=null,rs=null)},a))}});Xh.startListening({actionCreator:XO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;if(!a.active&&a.index==null){var o="0",u=uc(r,r.tooltip.settings.shared),l=Gf(r,u,"hover",String(o));t.dispatch(Kf({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Xh.startListening({actionCreator:ZO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(Kf({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function JO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var a=Reflect.get(r,n);return typeof a=="function"?a.bind(r):a}})}var Fr=Mr("externalEvent"),e_=Yu(),Gd=new Map,iu=new Map,Og=new Map;e_.startListening({actionCreator:Fr,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,u=JO(a);Og.set(o,{handler:n,reactEvent:u});var l=Gd.get(o);l!==void 0&&(cancelAnimationFrame(l),Gd.delete(o));var f=t.getState(),h=f.eventSettings,p=h.throttleDelay,g=h.throttledEvents,x=g,b=x==="all"||(x==null?void 0:x.includes(o)),j=iu.get(o);j!==void 0&&(typeof p!="number"||!b)&&(clearTimeout(j),iu.delete(o));var k=()=>{var P=Og.get(o);try{if(!P)return;var O=P.handler,C=P.reactEvent,_=t.getState(),A={activeCoordinate:y7(_),activeDataKey:m7(_),activeIndex:zu(_),activeLabel:KA(_),activeTooltipIndex:zu(_),isTooltipActive:x7(_)};O&&O(A,C)}finally{Gd.delete(o),iu.delete(o),Og.delete(o)}};if(!b){k();return}if(p==="raf"){var S=requestAnimationFrame(k);Gd.set(o,S)}else if(typeof p=="number"){if(!iu.has(o)){k();var N=setTimeout(k,p);iu.set(o,N)}}else k()}}});var Hq=G([Xs],e=>e.tooltipItemPayloads),Kq=G([Hq,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}}),t_=Mr("touchMove"),r_=Yu(),Ta=null,Ki=null,hN=null,au=null;r_.startListening({actionCreator:t_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){au=JO(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,u=a.throttledEvents,l=u==="all"||u.includes("touchmove");Ta!==null&&(cancelAnimationFrame(Ta),Ta=null),Ki!==null&&(typeof o!="number"||!l)&&(clearTimeout(Ki),Ki=null),hN=Array.from(r.touches).map(h=>X0({clientX:h.clientX,clientY:h.clientY,currentTarget:r.currentTarget}));var f=()=>{if(au!=null){var h=t.getState(),p=uc(h,h.tooltip.settings.shared);if(p==="axis"){var g,x=(g=hN)===null||g===void 0?void 0:g[0];if(x==null){Ta=null,Ki=null;return}var b=Y0(h,x);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(MA({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(p==="item"){var j,k=au.touches[0];if(document.elementFromPoint==null||k==null)return;var S=document.elementFromPoint(k.clientX,k.clientY);if(!S||!S.getAttribute)return;var N=S.getAttribute(eL),P=(j=S.getAttribute(tL))!==null&&j!==void 0?j:void 0,O=bo(h).find(A=>A.id===P);if(N==null||O==null||P==null)return;var C=O.dataKey,_=Kq(h,N,P);t.dispatch(NU({activeDataKey:C,activeIndex:N,activeCoordinate:_,activeGraphicalItemId:P}))}Ta=null,Ki=null}};if(!l){f();return}o==="raf"?Ta=requestAnimationFrame(f):typeof o=="number"&&Ki===null&&(f(),au=null,Ki=setTimeout(()=>{au?f():(Ki=null,Ta=null)},o))}}});var n_={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},i_=rr({name:"eventSettings",initialState:n_,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),Gq=i_.actions.setEventSettings,Vq=i_.reducer,qq=TE({brush:wG,cartesianAxis:fG,chartData:vW,errorBars:AV,eventSettings:Vq,graphicalItems:WK,layout:L$,legend:ZL,options:fW,polarAxis:tK,polarOptions:Wq,referenceElements:NG,renderedTicks:VG,rootProps:zq,tooltip:PU,zIndex:J7}),Qq=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return u$({reducer:qq,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([GO.middleware,VO.middleware,Xh.middleware,e_.middleware,r_.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(QE({type:"raf"}))},devTools:{serialize:{replacer:Lq},name:"recharts-".concat(r)}})};function Yq(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=wr(),o=v.useRef(null);if(a)return r;o.current==null&&(o.current=Qq(t,n));var u=Ey;return v.createElement(pz,{context:u,store:o.current},r)}function Xq(e){var t=e.layout,r=e.margin,n=jt(),a=wr();return v.useEffect(()=>{a||(n(D$(t)),n(T$(r)))},[n,a,t,r]),null}var Zq=v.memo(Xq,_h);function Jq(e){var t=jt();return v.useEffect(()=>{t(Fq(e))},[t,e]),null}var eQ=e=>{var t=jt();return v.useEffect(()=>{t(Gq(e))},[t,e]),null},tQ=v.memo(eQ,_h);function pN(e){var t=e.zIndex,r=e.isPanorama,n=v.useRef(null),a=jt();return v.useLayoutEffect(()=>(n.current&&a(X7({zIndex:t,element:n.current,isPanorama:r})),()=>{a(Z7({zIndex:t,isPanorama:r}))}),[a,t,r]),v.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function mN(e){var t=e.children,r=e.isPanorama,n=Ae(U7);if(!n||n.length===0)return t;var a=n.filter(u=>u<0),o=n.filter(u=>u>0);return v.createElement(v.Fragment,null,a.map(u=>v.createElement(pN,{key:u,zIndex:u,isPanorama:r})),t,o.map(u=>v.createElement(pN,{key:u,zIndex:u,isPanorama:r})))}var rQ=["children"];function nQ(e,t){if(e==null)return{};var r,n,a=iQ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=yP(),n=xP(),a=AP();if(!Rn(r)||!Rn(n))return null;var o=e.children,u=e.otherAttributes,l=e.title,f=e.desc,h,p;return u!=null&&(typeof u.tabIndex=="number"?h=u.tabIndex:h=a?0:void 0,typeof u.role=="string"?p=u.role:p=a?"application":void 0),v.createElement(Z2,Jf({},u,{title:l,desc:f,role:p,tabIndex:h,width:r,height:n,style:aQ,ref:t}),o)}),sQ=e=>{var t=e.children,r=Ae(Eh);if(!r)return null;var n=r.width,a=r.height,o=r.y,u=r.x;return v.createElement(Z2,{width:n,height:a,x:u,y:o},t)},gN=v.forwardRef((e,t)=>{var r=e.children,n=nQ(e,rQ),a=wr();return a?v.createElement(sQ,null,v.createElement(mN,{isPanorama:!0},r)):v.createElement(oQ,Jf({ref:t},n),v.createElement(mN,{isPanorama:!1},r))});function lQ(e,t){return fQ(e)||dQ(e,t)||cQ(e,t)||uQ()}function uQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cQ(e,t){if(e){if(typeof e=="string")return vN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vN(e,t):void 0}}function vN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var u=n.getBoundingClientRect(),l=u.width/n.offsetWidth;Be(l)&&l!==o&&e($$(l))}},[n,e,o]),a}function yN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pQ(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(EW(),null);function th(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var kQ=v.forwardRef((e,t)=>{var r,n,a=v.useRef(null),o=v.useState({containerWidth:th((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:th((n=e.style)===null||n===void 0?void 0:n.height)}),u=eh(o,2),l=u[0],f=u[1],h=v.useCallback((g,x)=>{f(b=>{var j=Math.round(g),k=Math.round(x);return b.containerWidth===j&&b.containerHeight===k?b:{containerWidth:j,containerHeight:k}})},[]),p=v.useCallback(g=>{if(typeof t=="function"&&t(g),a.current!=null&&(a.current.disconnect(),a.current=null),g!=null&&typeof ResizeObserver<"u"){var x=g.getBoundingClientRect(),b=x.width,j=x.height;h(b,j);var k=N=>{var P=N[0];if(P!=null){var O=P.contentRect,C=O.width,_=O.height;h(C,_)}},S=new ResizeObserver(k);S.observe(g),a.current=S}},[t,h]);return v.useEffect(()=>()=>{var g=a.current;g!=null&&g.disconnect()},[h]),v.createElement(v.Fragment,null,v.createElement(Zu,{width:l.containerWidth,height:l.containerHeight}),v.createElement("div",ua({ref:p},e)))}),SQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height,a=v.useState({containerWidth:th(r),containerHeight:th(n)}),o=eh(a,2),u=o[0],l=o[1],f=v.useCallback((p,g)=>{l(x=>{var b=Math.round(p),j=Math.round(g);return x.containerWidth===b&&x.containerHeight===j?x:{containerWidth:b,containerHeight:j}})},[]),h=v.useCallback(p=>{if(typeof t=="function"&&t(p),p!=null){var g=p.getBoundingClientRect(),x=g.width,b=g.height;f(x,b)}},[t,f]);return v.createElement(v.Fragment,null,v.createElement(Zu,{width:u.containerWidth,height:u.containerHeight}),v.createElement("div",ua({ref:h},e)))}),NQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height;return v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement("div",ua({ref:t},e)))}),EQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?v.createElement(SQ,ua({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?v.createElement(NQ,ua({},e,{width:r,height:n,ref:t})):v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement("div",ua({ref:t},e)))});function PQ(e){return e?kQ:EQ}var CQ=v.forwardRef((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,u=e.onContextMenu,l=e.onDoubleClick,f=e.onMouseDown,h=e.onMouseEnter,p=e.onMouseLeave,g=e.onMouseMove,x=e.onMouseUp,b=e.onTouchEnd,j=e.onTouchMove,k=e.onTouchStart,S=e.style,N=e.width,P=e.responsive,O=e.dispatchTouchEvents,C=O===void 0?!0:O,_=v.useRef(null),A=jt(),I=v.useState(null),U=eh(I,2),B=U[0],K=U[1],X=v.useState(null),$=eh(X,2),ue=$[0],J=$[1],ge=hQ(),we=Iy(),pe=(we==null?void 0:we.width)>0?we.width:N,Y=(we==null?void 0:we.height)>0?we.height:a,V=v.useCallback(de=>{ge(de),typeof t=="function"&&t(de),K(de),J(de),de!=null&&(_.current=de)},[ge,t,K,J]),Q=v.useCallback(de=>{A(KO(de)),A(Fr({handler:o,reactEvent:de}))},[A,o]),D=v.useCallback(de=>{A(ty(de)),A(Fr({handler:h,reactEvent:de}))},[A,h]),T=v.useCallback(de=>{A(_A()),A(Fr({handler:p,reactEvent:de}))},[A,p]),ee=v.useCallback(de=>{A(ty(de)),A(Fr({handler:g,reactEvent:de}))},[A,g]),ie=v.useCallback(()=>{A(XO())},[A]),re=v.useCallback(()=>{A(ZO())},[A]),ce=v.useCallback(de=>{A(YO(de.key))},[A]),me=v.useCallback(de=>{A(Fr({handler:u,reactEvent:de}))},[A,u]),Oe=v.useCallback(de=>{A(Fr({handler:l,reactEvent:de}))},[A,l]),te=v.useCallback(de=>{A(Fr({handler:f,reactEvent:de}))},[A,f]),ke=v.useCallback(de=>{A(Fr({handler:x,reactEvent:de}))},[A,x]),_e=v.useCallback(de=>{A(Fr({handler:k,reactEvent:de}))},[A,k]),oe=v.useCallback(de=>{C&&A(t_(de)),A(Fr({handler:j,reactEvent:de}))},[A,C,j]),Xe=v.useCallback(de=>{A(Fr({handler:b,reactEvent:de}))},[A,b]),Z=PQ(P);return v.createElement(JA.Provider,{value:B},v.createElement(U4.Provider,{value:ue},v.createElement(Z,{width:pe??(S==null?void 0:S.width),height:Y??(S==null?void 0:S.height),className:et("recharts-wrapper",n),style:pQ({position:"relative",cursor:"default",width:pe,height:Y},S),onClick:Q,onContextMenu:me,onDoubleClick:Oe,onFocus:ie,onBlur:re,onKeyDown:ce,onMouseDown:te,onMouseEnter:D,onMouseLeave:T,onMouseMove:ee,onMouseUp:ke,onTouchEnd:Xe,onTouchMove:oe,onTouchStart:_e,ref:V},v.createElement(jQ,null),r)))}),AQ=["width","height","responsive","children","className","style","compact","title","desc"];function OQ(e,t){if(e==null)return{};var r,n,a=_Q(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,u=e.className,l=e.style,f=e.compact,h=e.title,p=e.desc,g=OQ(e,AQ),x=fn(g);return f?v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement(gN,{otherAttributes:x,title:h,desc:p},o)):v.createElement(CQ,{className:u,style:l,width:r,height:n,responsive:a??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},v.createElement(gN,{otherAttributes:x,title:h,desc:p,ref:t},v.createElement(MG,null,o)))});function ry(){return ry=Object.assign?Object.assign.bind():function(e){for(var t=1;tv.createElement(zQ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:FQ,tooltipPayloadSearcher:cW,categoricalChartProps:e,ref:t}));const UQ="rgba(130,130,150,0.14)",wN="rgba(130,130,150,0.85)";function WQ(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function a_(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function HQ({active:e,payload:t,unit:r}){return!e||!(t!=null&&t.length)?null:c.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:c.jsx("div",{className:"space-y-1",children:t.map(n=>c.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[c.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:n.color}}),c.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:n.name}),c.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:a_(n.value,r)})]},n.dataKey))})})}function o_({data:e,series:t,unit:r="%",yMode:n="percent",height:a=176}){const o=e.reduce((l,f)=>t.reduce((h,p)=>Math.max(h,Number(f[p.key])||0),l),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(WQ(o*1.15),10);return c.jsx("div",{style:{height:a},className:"w-full",children:c.jsx(TL,{width:"100%",height:"100%",children:c.jsxs(BQ,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[c.jsx("defs",{children:t.map(l=>c.jsxs("linearGradient",{id:`grad-${l.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:l.color,stopOpacity:.22}),c.jsx("stop",{offset:"100%",stopColor:l.color,stopOpacity:0})]},l.key))}),c.jsx(OO,{vertical:!1,stroke:UQ}),c.jsx(WO,{dataKey:"t",hide:!0}),c.jsx(HO,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:l=>a_(l,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:wN}}),c.jsx(zW,{content:c.jsx(HQ,{unit:r}),cursor:{stroke:wN,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(l=>c.jsx(BO,{type:"monotone",dataKey:l.key,name:l.label,stroke:l.color,strokeWidth:2,fill:`url(#grad-${l.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},l.key))]})})})}const KQ=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function GQ(){var u,l,f,h;const{sys:e,hist:t}=_4(),r=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),n=KQ.filter(p=>p.key!=="gpu"||r),a={cpu:(u=e==null?void 0:e.cpu)==null?void 0:u.percent,ram:(l=e==null?void 0:e.ram)==null?void 0:l.percent,gpu:r?e.gpu.busy_percent:null,disk:(f=e==null?void 0:e.disk)==null?void 0:f.percent},o={cpu:(h=e==null?void 0:e.cpu)!=null&&h.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Qo(e.ram.used)}/${Qo(e.ram.total)} GB`:"",gpu:r?`${Qo(e.gpu.gtt_used)}/${Qo(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Qo(e.disk.used)}/${Qo(e.disk.total)} GB`:""};return c.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[c.jsx(_n,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),c.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:n.map(p=>c.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:p.color}}),c.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:p.label}),c.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(a[p.key]??0),"%"]}),o[p.key]&&c.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:o[p.key]})]},p.key))}),c.jsx(o_,{data:t,series:n,unit:"%",yMode:"percent",height:176})]}):c.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&c.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&c.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&c.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}function Vd({label:e,value:t,tone:r}){return c.jsxs("div",{className:fe("flex items-center justify-between rounded-lg border px-3 py-1.5 text-xs",r==="alert"?"border-amber-500/30 bg-amber-500/5 font-semibold text-amber-400":r==="accent"?"border-primary/30 bg-primary/5 font-semibold text-primary":"border-border/30 bg-background/25 text-muted-foreground"),children:[c.jsx("span",{className:"flex items-center gap-1.5",children:e}),c.jsx("span",{className:"font-mono text-[10px]",children:t})]})}function VQ(){var r;const{data:e}=gy(3e3),t=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}));return c.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-b border-border/20 pb-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(NI,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Updates & Pflege"})]}),(e==null?void 0:e.last_check)&&c.jsxs("span",{className:"font-mono text-[9px] text-muted-foreground/80",children:["Zuletzt gesucht: ",new Date(e.last_check*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),e?c.jsxs("div",{className:"space-y-1.5",children:[c.jsx(Vd,{label:"OS-Pakete",tone:e.os>0?"alert":"muted",value:e.os>0?`${e.os} verfügbar`:"aktuell"}),c.jsx(Vd,{label:"Engine (llama.cpp)",tone:e.engine>0?"alert":"muted",value:e.engine>0?"Update verfügbar":"aktuell"}),c.jsx(Vd,{label:"Modell-Upgrades",tone:e.models>0?"accent":"muted",value:e.models>0?`${e.models} verfügbar`:"aktuell"}),(r=e.components)==null?void 0:r.map(n=>c.jsx(Vd,{tone:n.update===!0?"alert":"muted",label:c.jsxs(c.Fragment,{children:[n.name,n.reachable===!1&&c.jsx("span",{className:"text-[8px] font-bold uppercase text-red-400/80",children:"offline"})]}),value:n.update===!0?`Update: ${n.latest}`:n.update===!1?"aktuell":n.latest?`neueste: ${n.latest}`:"—"},n.key))]}):c.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Updates..."})]}),c.jsxs("button",{onClick:t,className:"mt-4 flex h-9 w-full items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow-md shadow-primary/10 transition-all hover:opacity-90 cursor-pointer",children:["Updates verwalten & Pflege ",c.jsx(r2,{className:"h-3.5 w-3.5"})]})]})}function s_({type:e,title:t,message:r,defaultValue:n,autoValue:a,autoLabel:o,onConfirm:u,onCancel:l}){const f=v.useRef(null);return c.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),c.jsx("button",{onClick:l||(()=>u()),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:r}),e==="prompt"&&c.jsxs("div",{className:"flex gap-2",children:[c.jsx("input",{ref:f,type:"text",defaultValue:n,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var p;h.key==="Enter"&&u((p=f.current)==null?void 0:p.value)}}),a!==void 0&&c.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=a)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),c.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&c.jsx("button",{onClick:l,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),c.jsx("button",{onClick:()=>{var p;const h=e==="prompt"?(p=f.current)==null?void 0:p.value:void 0;u(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function el(){const[e,t]=v.useState(null),r=v.useCallback(()=>t(null),[]),n=v.useCallback((l,f,h)=>{t({type:"alert",title:l,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),a=v.useCallback((l,f,h,p)=>{t({type:"confirm",title:l,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),p==null||p()}})},[]),o=v.useCallback((l,f,h,p,g,x)=>{t({type:"prompt",title:l,message:f,defaultValue:h,autoValue:x==null?void 0:x.autoValue,autoLabel:x==null?void 0:x.autoLabel,onConfirm:b=>{t(null),p(b)},onCancel:()=>{t(null),g==null||g()}})},[]),u=e?c.jsx(s_,{...e}):null;return{showAlert:n,showConfirm:a,showPrompt:o,close:r,dialogElement:u}}function qQ(){const e=po(),{data:t}=my(3e3),{data:r}=go(),{showAlert:n,dialogElement:a}=el(),[o,u]=v.useState(!1),l=(r==null?void 0:r.models)??[];async function f(h){try{await Me("/api/agent/brain",{method:"POST",body:JSON.stringify({model:h})}),n("Erfolgreich",`Hermes-Gehirn wurde auf '${h}' geändert. Der Gateway-Dienst wurde neu gestartet.`),e.invalidateQueries({queryKey:wt.agentStatus}),u(!1)}catch(p){n("Fehler",`Fehler beim Wechseln des Gehirns: ${p.message}`)}}return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center justify-between mb-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ps,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Hermes Agent"})]}),(t==null?void 0:t.terminal_url)&&c.jsxs("a",{href:_s(t.terminal_url),target:"_blank",rel:"noopener",className:fe("flex items-center gap-1 px-3 py-1 rounded-lg text-xs font-medium transition-all",t.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/20":"border border-border text-muted-foreground"),children:[c.jsx(xu,{className:"h-3 w-3"})," Terminal öffnen"]})]}),t?c.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gateway"}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",t.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-medium",children:t.gateway_reachable?"Online":"Offline"})]})]}),c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Terminal"}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",t.terminal_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-medium",children:t.terminal_reachable?"Online":"Offline"})]})]}),c.jsxs("div",{onClick:()=>u(!0),className:"p-3 bg-background/20 rounded-xl border border-border/40 hover:border-primary/45 hover:bg-background/30 transition-all duration-300 cursor-pointer",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gehirn"}),c.jsx(_n,{className:"h-3 w-3 text-primary"})]}),c.jsxs("div",{className:"text-xs font-medium mt-1 font-mono text-primary truncate flex items-center gap-1",children:[c.jsx(bu,{className:"h-3 w-3 shrink-0"}),t.brain_model||"auto"]})]}),c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Verdrahtung"}),c.jsx(ku,{className:"h-3 w-3 text-primary"})]}),c.jsxs("div",{className:"text-[10px] font-mono mt-1 space-y-0.5 text-muted-foreground",children:[c.jsxs("div",{children:["Config: ",t.has_config?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),c.jsxs("div",{children:["Skills: ",t.has_skills?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),c.jsxs("div",{children:["Memory: ",t.has_memories?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]})]})]})]}):c.jsx("div",{className:"h-28 flex items-center justify-center text-xs text-muted-foreground",children:"Lade Agenten-Status…"})]}),t&&c.jsxs("div",{className:"mt-3 border-t border-border/30 pt-3 space-y-1.5",children:[c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"Telegram"}),c.jsx("span",{className:fe("font-semibold",t.telegram_enabled?"text-emerald-400":""),children:t.telegram_enabled?"aktiv":"nicht konfiguriert"})]}),c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"MCP-Server"}),c.jsxs("span",{className:"font-semibold text-foreground",children:[t.mcp_server_count??0," verbunden"]})]}),c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"PC Executor"}),c.jsx("span",{className:fe("font-semibold",t.pc_executor_reachable?"text-emerald-400":""),children:t.pc_executor_reachable?"erreichbar":"nicht verbunden"})]})]}),t&&o&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4"}),c.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),c.jsx("button",{onClick:()=>u(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',c.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),c.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:["auto","fast","heavy",...l.map(h=>{var p;return((p=h.name.split("/").pop())==null?void 0:p.replace(".gguf",""))||h.name})].map(h=>{const p=["auto","fast","heavy"].includes(h);return c.jsxs("button",{onClick:()=>f(h),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",t.brain_model===h||!t.brain_model&&h==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[c.jsxs("div",{className:"flex flex-col text-left",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:h}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:p?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(t.brain_model===h||!t.brain_model&&h==="auto")&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},h)})})]})}),a]})}function QQ(){const{data:e}=go(3e3),t=(e==null?void 0:e.models)??[],r=(e==null?void 0:e.running)??[];return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[c.jsx(bu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Rollen-Belegung"})]}),c.jsx("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1 scrollbar-thin",children:V2.map(n=>{var u;const a=t.find(l=>l.role===n),o=a?r.includes(a.name):!1;return c.jsxs("div",{className:fe("flex items-center justify-between p-2 rounded-xl border transition-all duration-300",o?"border-emerald-500/30 bg-emerald-500/5 shadow-sm shadow-emerald-500/5":a?"border-primary/20 bg-primary/5":"border-border/30 bg-background/10 opacity-60"),children:[c.jsx("div",{className:"min-w-0 flex-1 mr-2",children:c.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[c.jsx("span",{className:fe("text-[9px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",yy(n)),children:n}),c.jsxs("div",{className:"flex flex-col min-w-0",children:[c.jsx("span",{className:"text-xs font-semibold truncate font-mono text-foreground",children:a?(u=a.name.split("/").pop())==null?void 0:u.replace(/\.gguf$/i,""):"nicht zugewiesen"}),a&&c.jsxs("div",{className:"flex gap-1 items-center mt-0.5 flex-wrap",children:[a.prompt_cache&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-cyan-500/10 text-cyan-400 border border-cyan-500/20 px-1 py-0.5 rounded",title:"Prompt Caching aktiv",children:"PC"}),a.spec_active&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-1 py-0.5 rounded",title:`Speculative Decoding aktiv (Draft: ${a.spec_draft_model})`,children:"SPEC"}),a.parallel_slots>1&&c.jsxs("span",{className:"text-[7px] leading-none font-mono font-bold bg-violet-500/10 text-violet-400 border border-violet-500/20 px-1 py-0.5 rounded",title:`${a.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",a.parallel_slots]}),a.incomplete&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-amber-500/10 text-amber-400 border border-amber-500/20 px-1 py-0.5 rounded",title:"GGUF-Datei fehlt",children:"⚠ fehlt"})]})]})]})}),c.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:a?o?c.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]}):c.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground uppercase tracking-wider font-mono",children:"bereit"}):c.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground/60 uppercase tracking-wider font-mono",children:"—"})})]},n)})})]}),c.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Laden erfolgt automatisch per Auto-Swap."})]})}function YQ(){const e=po(),{data:t=[]}=nv({limit:3}),[r,n]=v.useState(""),[a,o]=v.useState("stable"),[u,l]=v.useState(!1);async function f(){if(!(!r.trim()||u)){l(!0);try{await Me("/api/memory",{method:"POST",body:JSON.stringify({content:r,category:a,source:"dashboard"})}),n(""),e.invalidateQueries({queryKey:["memory"]})}catch(h){console.error(h)}finally{l(!1)}}}return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[c.jsx(yu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Gedächtnis"})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsx("textarea",{value:r,onChange:h=>n(h.target.value),placeholder:"Fakt / Regel im Pool speichern...",rows:2,className:"w-full resize-none rounded-xl border border-border/50 bg-background/30 p-2 text-[10px] outline-none focus:ring-1 focus:ring-primary transition-all leading-normal"}),c.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[c.jsxs("select",{value:a,onChange:h=>o(h.target.value),className:"h-7 rounded-lg border border-border/50 bg-background/50 px-2 text-[10px] outline-none cursor-pointer",children:[c.jsx("option",{value:"stable",children:"🔵 Fakt"}),c.jsx("option",{value:"instruction",children:"📋 Regel"}),c.jsx("option",{value:"user",children:"👤 User"}),c.jsx("option",{value:"versioned",children:"🟡 Version"})]}),c.jsxs("button",{onClick:f,disabled:!r.trim()||u,className:"flex h-7 items-center gap-1 rounded-lg bg-primary px-3 text-[10px] font-semibold text-primary-foreground hover:opacity-90 disabled:opacity-50 transition-all cursor-pointer",children:[c.jsx(Yg,{className:"h-3.5 w-3.5"})," Speichern"]})]})]}),c.jsxs("div",{className:"mt-3.5 space-y-1.5",children:[c.jsx("div",{className:"text-[9px] text-muted-foreground uppercase font-bold tracking-wider",children:"Zuletzt gespeichert:"}),c.jsx("div",{className:"max-h-20 overflow-y-auto space-y-1 pr-1 scrollbar-thin",children:t.length===0?c.jsx("div",{className:"text-[10px] text-muted-foreground/75 py-1",children:"Keine Einträge vorhanden."}):t.map(h=>c.jsxs("div",{className:"text-[10px] bg-background/10 border border-border/30 rounded p-1.5 flex items-start gap-1.5",children:[c.jsx("span",{className:"shrink-0 text-[8px] font-mono text-muted-foreground/80 px-1 py-0.5 rounded bg-muted/20",children:h.category}),c.jsx("span",{className:"truncate flex-1 text-muted-foreground hover:text-foreground transition-colors",title:h.content,children:h.content})]},h.id))})]})]}),c.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Steht allen Clients per MCP zur Verfügung."})]})}const jN=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function XQ(){const{data:e}=py(3e3),t=A4(),r=t[t.length-1],n=r?Math.round(r.prompt+r.completion):0;return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(vu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),c.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e&&c.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[c.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:n.toLocaleString("de-DE")}),c.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),e&&c.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[c.jsxs("div",{children:[e.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",c.jsxs("span",{className:"text-emerald-400/90",children:[e.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),c.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",e.prompt_tokens.toLocaleString("de-DE")," · Output ",e.completion_tokens.toLocaleString("de-DE")]})]})]}),c.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:jN.map(a=>c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:a.color}}),c.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:a.label}),c.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((r==null?void 0:r[a.key])??0)})]},a.key))})]}),e?c.jsx(o_,{data:t,series:jN,unit:" tok/s",yMode:"auto",height:150}):c.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),c.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function ZQ(){const{data:e}=L3(3e3),{showAlert:t,dialogElement:r}=el(),[n,a]=v.useState({});async function o(u){a(l=>({...l,[u]:!0}));try{const l=await Me("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:u})});l.ok||t("Fehler",`Neustart fehlgeschlagen: ${l.err||"Unbekannt"}`)}catch(l){t("Fehler",`Fehler: ${l.message}`)}finally{a(l=>({...l,[u]:!1}))}}return c.jsxs("div",{className:"flex flex-col rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(n2,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Dienste"})]}),c.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"logs"}})),className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground transition-colors hover:text-primary cursor-pointer",children:"Logs / Pflege"})]}),e?c.jsxs("div",{className:"flex flex-1 flex-col",children:[c.jsx("div",{className:"space-y-1.5",children:e.services.map(u=>c.jsxs("div",{className:"group flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{className:fe("h-2.5 w-2.5 shrink-0 rounded-full ring-2 ring-black/40",u.ok?"bg-emerald-500":"bg-amber-500")}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"truncate text-xs font-bold text-foreground",children:u.name}),c.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground/60",children:u.url})]})]}),c.jsx("button",{onClick:()=>o(u.name),disabled:n[u.name],className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-primary/5 hover:text-primary group-hover:opacity-100",title:"Dienst neu starten",children:c.jsx(cu,{className:fe("h-3.5 w-3.5",n[u.name]&&"animate-spin")})})]},u.name))}),c.jsxs("div",{className:"mt-auto flex flex-wrap gap-3 border-t border-border/20 pt-2.5 text-[10px] font-semibold text-muted-foreground",children:[c.jsxs("a",{href:_s(e.links.engine_ui),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[c.jsx(xu,{className:"h-3 w-3"})," Engine"]}),c.jsxs("a",{href:_s(e.links.gateway),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[c.jsx(xu,{className:"h-3 w-3"})," Gateway"]})]})]}):c.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Dienste…"}),r]})}function kN({children:e}){return c.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function JQ(){return c.jsxs("div",{className:"space-y-7",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Zentrale"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Aktueller Status von System, Modellen und Agent."})]}),c.jsxs("div",{className:"grid items-stretch gap-6 lg:grid-cols-3",children:[c.jsx(GQ,{}),c.jsx(XQ,{}),c.jsx(N4,{})]}),c.jsxs("section",{children:[c.jsx(kN,{children:"Stack-Status"}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[c.jsx(QQ,{}),c.jsx(ZQ,{})]})]}),c.jsxs("section",{children:[c.jsx(kN,{children:"Betrieb & Wissen"}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-3",children:[c.jsx(VQ,{}),c.jsx(qQ,{}),c.jsx(YQ,{})]})]})]})}function eY(){const e=po(),{data:t=[]}=F3(2e3),{showAlert:r,dialogElement:n}=el();async function a(l){try{await Me(`/api/jobs/${l}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:wt.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(l=>l.state==="running"||l.state==="queued"),u=t.filter(l=>l.state!=="running"&&l.state!=="queued").slice(-3);return o.length===0&&u.length===0?null:c.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[c.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(l=>c.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[c.jsxs("div",{className:"flex justify-between items-center text-xs",children:[c.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:l.label}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"text-muted-foreground font-mono",children:[l.progress??0,"% • ",iv(l.done_bytes),"/",iv(l.total_bytes),l.eta_s?` • ETA ${H3(l.eta_s)}`:""]}),c.jsx("button",{onClick:()=>a(l.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),c.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:c.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${l.progress??0}%`}})})]},l.id)),u.map(l=>c.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[c.jsx("span",{className:"truncate",children:l.label}),c.jsx("span",{className:fe("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",l.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:l.state})]},l.id)),n]})}function Da({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return c.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function SN({caps:e}){return e?c.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&c.jsx(Da,{children:"💻 Code"}),e.vision&&c.jsx(Da,{children:"👁 Bild"}),e.reasoning&&c.jsx(Da,{children:"🧠 Reason"}),e.moe&&c.jsxs(Da,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&c.jsx(Da,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&c.jsx(Da,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&c.jsx(Da,{children:"🔢 Embed"})]}):null}function tY({model:e,onClose:t,onChanged:r}){var k,S;const{data:n,isLoading:a}=W3(e.gguf_path),[o,u]=v.useState(null),[l,f]=v.useState(""),h=n==null?void 0:n.target_vocab,p=(n==null?void 0:n.drafts)??[],g=p.filter(N=>N.compatible===!0),x=e.spec_draft_model;async function b(N){u(N??"__clear__"),f("");try{await Me(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:N})}),r(),t()}catch(P){f(String((P==null?void 0:P.message)||P)),u(null)}}const j=N=>{var P;return N?`${N.pre??"?"} · ${((P=N.n_vocab)==null?void 0:P.toLocaleString())??"?"} Tokens`:"—"};return c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[c.jsx(ls,{className:"h-4 w-4"})," Speculative Draft"]}),c.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',c.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),c.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[c.jsx("span",{className:"text-muted-foreground",children:(k=e.name.split("/").pop())==null?void 0:k.replace(/\.gguf$/i,"")}),c.jsxs("span",{className:"text-foreground",children:["Vocab: ",j(h)]})]}),e.spec_active&&x&&c.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[c.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[c.jsx(Wr,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",x]}),c.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&c.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[c.jsx(Cs,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),c.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:a?c.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):p.length===0?c.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",c.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):p.map(N=>{var C,_;const P=N.filename===x,O=N.compatible===!0;return c.jsxs("div",{className:fe("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",O?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",P&&"border-primary/40 bg-primary/10"),children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate",children:N.filename}),c.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[Br(N.size_bytes)," · Vocab: ",j(N.vocab)]})]}),O?P?c.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[c.jsx(Wr,{className:"h-3.5 w-3.5"})," Aktiv"]}):c.jsx("button",{onClick:()=>b(N.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):c.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:N.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(C=N.vocab)==null?void 0:C.pre}/${(_=N.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[c.jsx(Cs,{className:"h-3.5 w-3.5"})," ",N.compatible===!1?"Vocab ≠":"n/a"]})]},N.path)})}),!a&&(n==null?void 0:n.target_exists)&&p.length>0&&g.length===0&&c.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",c.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",c.jsx("span",{className:"font-mono",children:(S=h==null?void 0:h.n_vocab)==null?void 0:S.toLocaleString()}),")."]}),l&&c.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:l})]})})}function rY(){var jo,ga,il,ji,ki,dc,al,ol;const e=po(),{data:t,isLoading:r,error:n}=go(4e3),{data:a}=z3(4e3),{data:o}=F2(),{data:u}=gy(4e3),{data:l}=B3(),{data:f}=lh(),{showAlert:h,showConfirm:p,showPrompt:g,dialogElement:x}=el(),b=(t==null?void 0:t.models)??[],j=(t==null?void 0:t.running)??[],k=n?String(n):"",S=()=>{e.invalidateQueries({queryKey:wt.models}),e.invalidateQueries({queryKey:wt.routing})},[N,P]=v.useState(null),[O,C]=v.useState(null),[_,A]=v.useState(null),[I,U]=v.useState(null),[B,K]=v.useState(!1),[X,$]=v.useState(!1),[ue,J]=v.useState(null),[ge,we]=v.useState("grid"),[pe,Y]=v.useState("all"),V=b.filter(F=>pe==="in_use"?!!F.role||j.includes(F.name):!0),[Q,D]=v.useState({width:800,height:360}),T=v.useRef(null),ee=v.useCallback(F=>{if(T.current&&(T.current.disconnect(),T.current=null),F){const he=new ResizeObserver(Pe=>{if(!Pe||Pe.length===0)return;const ze=Pe[0].contentRect;D({width:ze.width,height:ze.height})});he.observe(F),T.current=he}},[]),ie=Q.width,re=Q.height,ce=F=>{const he=ie*.1,Pe=re*F,ze=ie*.5,Ve=re*.5,qt=ie*.3,Ze=Pe,gt=ie*.3;return`M ${he} ${Pe} C ${qt} ${Ze}, ${gt} ${Ve}, ${ze} ${Ve}`},me=F=>{const he=ie*.5,Pe=re*.5,ze=ie*.9,Ve=re*F,qt=ie*.7,Ze=Pe,gt=ie*.7;return`M ${he} ${Pe} C ${qt} ${Ze}, ${gt} ${Ve}, ${ze} ${Ve}`};async function Oe(F){try{await Me(`/api/models/${encodeURIComponent(F)}/load`,{method:"POST"}),S()}catch(he){h("Fehler",`Fehler beim Laden des Modells: ${he.message}`)}}async function te(F){try{await Me(`/api/models/${encodeURIComponent(F)}/unload`,{method:"POST"}),S()}catch(he){h("Fehler",`Fehler beim Entladen des Modells: ${he.message}`)}}async function ke(){try{await Me("/api/models/unload",{method:"POST"}),S()}catch(F){h("Fehler",`Fehler beim Entladen aller Modelle: ${F.message}`)}}async function _e(F,he){try{await Me(`/api/models/${encodeURIComponent(he)}/role`,{method:"POST",body:JSON.stringify({role:F||null})}),S()}catch(Pe){h("Fehler",`Fehler beim Zuweisen der Rolle: ${Pe.message||Pe}`)}}function oe(F){C(F),A(null),Me(`/api/roles/${encodeURIComponent(F)}/recommend`).then(he=>A(he)).catch(()=>{})}async function Xe(F,he){let Pe=null;try{Pe=await Me(`/api/models/${encodeURIComponent(F)}/ctx/auto`)}catch{}const ze=Pe?`Optimal für dein Setup: ${(Pe.ctx/1024).toFixed(0)}k (${Pe.ctx}) — GTT ${Pe.gtt_gb} GB − reserviert ${Pe.reserved_gb} GB (${Pe.mode}) → ${Pe.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";g("Kontextlänge anpassen",ze,String(he||32768),async Ve=>{if(Ve)try{await Me(`/api/models/${encodeURIComponent(F)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Ve,10)})}),S()}catch(qt){h("Fehler",`Fehler beim Setzen des Kontexts: ${qt.message||qt}`)}},void 0,Pe?{autoValue:String(Pe.ctx),autoLabel:`Auto (${(Pe.ctx/1024).toFixed(0)}k)`}:void 0)}async function Z(F){p("Modell löschen?",`Modell '${F}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await Me(`/api/models/${encodeURIComponent(F)}`,{method:"DELETE"}),S()}catch(he){h("Fehler",`Fehler beim Löschen: ${he.message||he}`)}})}async function de(F,he,Pe,ze){try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:F,role:he,quant:Pe,jinja:ze})}),h("Herunterladen gestartet",`Download für '${F}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(Ve){h("Fehler",`Fehler beim Starten des Upgrades: ${Ve.message||Ve}`)}}async function tt(F){const he=l==null?void 0:l.budget,Pe=he&&!he.fits?` + `).concat(C.x,",").concat(C.y),A=Kt(e.id)?Eu("recharts-radial-line-"):e.id;return v.createElement("text",ri({},n,{dominantBaseline:"central",className:et("recharts-radial-bar-label",u)}),v.createElement("defs",null,v.createElement("path",{id:A,d:_})),v.createElement("textPath",{xlinkHref:"#".concat(A)},r))},FH=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,u=e.outerRadius,l=e.startAngle,f=e.endAngle,h=(l+f)/2;if(r==="outside"){var p=Ht(n,a,u+t,h),g=p.x,x=p.y;return{x:g,y:x,textAnchor:g>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"end"};var b=(o+u)/2,j=Ht(n,a,b,h),k=j.x,S=j.y;return{x:k,y:S,textAnchor:"middle",verticalAnchor:"middle"}},rf=e=>e!=null&&"cx"in e&&Ne(e.cx),BH={angle:0,offset:5,zIndex:or.label,position:"middle",textBreakAll:!1};function UH(e){if(!rf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,a=n*2;return{x:t-n,y:r-n,width:a,upperWidth:a,lowerWidth:a,height:a}}function Qi(e){var t=Yr(e,BH),r=t.viewBox,n=t.parentViewBox,a=t.position,o=t.value,u=t.children,l=t.content,f=t.className,h=f===void 0?"":f,p=t.textBreakAll,g=t.labelRef,x=RH(),b=fO(),j=a==="center"?b:x??b,k,S,N;r==null?k=j:rf(r)?k=r:k=Ty(r);var P=UH(k);if(!k||Kt(o)&&Kt(u)&&!v.isValidElement(l)&&typeof l!="function")return null;var O=uu(uu({},t),{},{viewBox:k});if(v.isValidElement(l)){O.labelRef;var C=LS(O,CH);return v.cloneElement(l,C)}if(typeof l=="function"){O.content;var _=LS(O,AH);if(S=v.createElement(l,_),v.isValidElement(S))return S}else S=$H(t);var A=Vr(t);if(rf(k)){if(a==="insideStart"||a==="insideEnd"||a==="end")return zH(t,a,S,A,k);N=FH(k,t.offset,t.position)}else{if(!P)return null;var I=PH({viewBox:P,position:a,offset:t.offset,parentViewBox:rf(n)?void 0:n});N=uu(uu({x:I.x,y:I.y,textAnchor:I.horizontalAnchor,verticalAnchor:I.verticalAnchor},I.width!==void 0?{width:I.width}:{}),I.height!==void 0?{height:I.height}:{})}return v.createElement(bi,{zIndex:t.zIndex},v.createElement(Fx,ri({ref:g,className:et("recharts-label",h)},A,N,{textAnchor:sO(A.textAnchor)?A.textAnchor:N.textAnchor,breakAll:p}),S))}Qi.displayName="Label";var WH=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?v.createElement(Qi,ri({key:"label-implicit"},n)):Dn(e)?v.createElement(Qi,ri({key:"label-implicit",value:e},n)):v.isValidElement(e)?e.type===Qi?v.cloneElement(e,uu({key:"label-implicit"},n)):v.createElement(Qi,ri({key:"label-implicit",content:e},n)):Bx(e)?v.createElement(Qi,ri({key:"label-implicit",content:e},n)):e&&typeof e=="object"?v.createElement(Qi,ri({},e,{key:"label-implicit"},n)):null};function HH(e){var t=e.label,r=e.labelRef,n=fO();return WH(t,n,r)||null}var KH=["valueAccessor"],GH=["dataKey","clockWise","id","textBreakAll","zIndex"];function qf(){return qf=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(xH(t))return t},hO=v.createContext(void 0),QH=hO.Provider,pO=v.createContext(void 0);pO.Provider;function YH(){return v.useContext(hO)}function XH(){return v.useContext(pO)}function nf(e){var t=e.valueAccessor,r=t===void 0?qH:t,n=FS(e,KH),a=n.dataKey;n.clockWise;var o=n.id,u=n.textBreakAll,l=n.zIndex,f=FS(n,GH),h=YH(),p=XH(),g=h||p;return!g||!g.length?null:v.createElement(bi,{zIndex:l??or.label},v.createElement(qr,{className:"recharts-label-list"},g.map((x,b)=>{var j,k=Kt(a)?r(x,b):Tt(x.payload,a),S=Kt(o)?{}:{id:"".concat(o,"-").concat(b)};return v.createElement(Qi,qf({key:"label-".concat(b)},Vr(x),f,S,{fill:(j=n.fill)!==null&&j!==void 0?j:x.fill,parentViewBox:x.parentViewBox,value:k,textBreakAll:u,viewBox:x.viewBox,index:b,zIndex:0}))})))}nf.displayName="LabelList";function ZH(e){var t=e.label;return t?t===!0?v.createElement(nf,{key:"labelList-implicit"}):v.isValidElement(t)||Bx(t)?v.createElement(nf,{key:"labelList-implicit",content:t}):typeof t=="object"?v.createElement(nf,qf({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,a=e.className,o=et("recharts-dot",a);return Ne(t)&&Ne(r)&&Ne(n)?v.createElement("circle",Qv({},fn(e),Sy(e),{className:o,cx:t,cy:r,r:n})):null},JH={radiusAxis:{},angleAxis:{}},gO=rr({name:"polarAxis",initialState:JH,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Yh=gO.actions;Yh.addRadiusAxis;Yh.removeRadiusAxis;Yh.addAngleAxis;Yh.removeAngleAxis;var eK=gO.reducer;function tK(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var vO=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function BS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function US(e){for(var t=1;t{n||(a.current===null?r(bU(t)):a.current!==t&&r(wU({prev:a.current,next:t})),a.current=t)},[t,r,n]),v.useLayoutEffect(()=>()=>{a.current&&(r(jU(a.current)),a.current=null)},[r]),null}function dK(e){var t=e.legendPayload,r=jt(),n=wr(),a=v.useRef(null);return v.useLayoutEffect(()=>{n||(a.current===null?r(qL(t)):a.current!==t&&r(QL({prev:a.current,next:t})),a.current=t)},[r,n,t]),v.useLayoutEffect(()=>()=>{a.current&&(r(YL(a.current)),a.current=null)},[r]),null}function fK(e,t){return gK(e)||mK(e,t)||pK(e,t)||hK()}function hK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pK(e,t){if(e){if(typeof e=="string")return WS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?WS(e,t):void 0}}function WS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var a of r)n.push({status:"removed",prev:a});for(var o=0;oe[Math.floor(o*r)]);return Wx(n,t)}function xK(e,t){var r=t.map((n,a)=>e[a]);return Wx(r,t)}function bK(e,t){for(var r=new Map,n=0;n{var b=r(g,x);if(b!=null){var j=n.get(b);if(j!==void 0)return a.add(b),j}}),u=[];for(var l of n){var f=fK(l,2),h=f[0],p=f[1];a.has(h)||u.push(p)}return Wx(o,t,u)}function Yv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Ux?yK(e,t):r===vK?xK(e,t):wK(e,t,r)}function xO(e,t){var r=v.useRef(e),n=v.useRef(t.current),a=v.useRef(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=v.useCallback(function(u,l){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=u),l>0&&a.current&&f&&(t.current=u)},[t]);return{startValue:n.current,syncStepValue:o}}function jK(e,t){return EK(e)||NK(e,t)||SK(e,t)||kK()}function kK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SK(e,t){if(e){if(typeof e=="string")return HS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?HS(e,t):void 0}}function HS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=v.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:u,handleAnimationEnd:l}}function CK(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,u=e.isAnimationActive,l=e.animationBegin,f=e.animationDuration,h=e.animationEasing,p=e.onAnimationStart,g=e.onAnimationEnd,x=e.animationInterpolateFn,b=e.animationMatchBy,j=e.shouldUpdatePreviousRef,k=e.children,S=e.layout,N=TP(r,n),P=xO(N,o),O=(t=P.startValue)!==null&&t!==void 0?t:null,C=Yv(O,a,b??Ux);return v.createElement(IP,{animationId:N,begin:l,duration:f,isActive:u,easing:h,onAnimationEnd:g,onAnimationStart:p,key:N},_=>{var A=O==null,I=a==null?a:x(C,_,S),U=j?j(_):_>0;return P.syncStepValue(I,_,U),I==null?null:k(I,_,A)})}var Eg;function AK(e,t){return IK(e)||MK(e,t)||_K(e,t)||OK()}function OK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _K(e,t){if(e){if(typeof e=="string")return KS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?KS(e,t):void 0}}function KS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=v.useState(()=>Eu("uid-")),t=AK(e,1),r=t[0];return r},bO=(Eg=rh.useId)!==null&&Eg!==void 0?Eg:TK;function DK(e,t){var r=bO();return t||(e?"".concat(e,"-").concat(r):r)}var RK=v.createContext(void 0),$K=e=>{var t=e.id,r=e.type,n=e.children,a=DK("recharts-".concat(r),t);return v.createElement(RK.Provider,{value:a},n(a))},LK={cartesianItems:[],polarItems:[]},wO=rr({name:"graphicalItems",initialState:LK,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:at()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).cartesianItems.indexOf(n);o>-1&&(e.cartesianItems[o]=a)},prepare:at()},removeCartesianGraphicalItem:{reducer(e,t){var r=Kr(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:at()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:at()},removePolarGraphicalItem:{reducer(e,t){var r=Kr(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:at()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=Kr(e).polarItems.indexOf(n);o>-1&&(e.polarItems[o]=a)},prepare:at()}}}),Zs=wO.actions,zK=Zs.addCartesianGraphicalItem,FK=Zs.replaceCartesianGraphicalItem,BK=Zs.removeCartesianGraphicalItem;Zs.addPolarGraphicalItem;Zs.removePolarGraphicalItem;Zs.replacePolarGraphicalItem;var UK=wO.reducer,WK=e=>{var t=jt(),r=v.useRef(null);return v.useLayoutEffect(()=>{r.current===null?t(zK(e)):r.current!==e&&t(FK({prev:r.current,next:e})),r.current=e},[t,e]),v.useLayoutEffect(()=>()=>{r.current&&(t(BK(r.current)),r.current=null)},[t]),null},HK=v.memo(WK),KK=["points"];function GS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Pg(e){for(var t=1;t{var N,P,O=Pg(Pg(Pg({r:3},u),x),{},{index:S,cx:(N=k.x)!==null&&N!==void 0?N:void 0,cy:(P=k.y)!==null&&P!==void 0?P:void 0,dataKey:o,value:k.value,payload:k.payload,points:t});return v.createElement(XK,{key:"dot-".concat(S),option:r,dotProps:O,className:a})}),j={};return l&&f!=null&&(j.clipPath="url(#clipPath-".concat(g?"":"dots-").concat(f,")")),v.createElement(bi,{zIndex:p},v.createElement(qr,Qf({className:n},j),b))}function VS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qS(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),hG=G([fG,pi,mi],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),Hx=()=>Ae(hG),pG=()=>Ae(b7);function QS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Cg(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,u=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=Cg(Cg(Cg({},l),uh(a)),Sy(a)),h;return v.isValidElement(a)?h=v.cloneElement(a,f):typeof a=="function"?h=a(f):h=v.createElement(mO,f),v.createElement(qr,{className:"recharts-active-dot",clipPath:u},h)};function YS(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,u=e.zIndex,l=u===void 0?or.activeDot:u,f=Ae(zu),h=pG();if(t==null||h==null)return null;var p=t.find(g=>h.includes(g.payload));return Kt(p)?null:v.createElement(bi,{zIndex:l},v.createElement(yG,{point:p,childIndex:Number(f),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}var xG=e=>{var t=e.chartData,r=jt(),n=wr();return v.useEffect(()=>n?()=>{}:(r(yS(t)),()=>{r(yS(void 0))}),[t,r,n]),null},XS={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},SO=rr({name:"brush",initialState:XS,reducers:{setBrushSettings(e,t){return t.payload==null?XS:t.payload}}});SO.actions.setBrushSettings;var bG=SO.reducer;function wG(e){return(e%180+180)%180}var jG=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=wG(a),u=o*Math.PI/180,l=Math.atan(n/r),f=u>l&&u{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Kr(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Kr(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=Kr(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Js=NO.actions;Js.addDot;Js.removeDot;Js.addArea;Js.removeArea;Js.addLine;Js.removeLine;var SG=NO.reducer;function NG(e,t){return AG(e)||CG(e,t)||PG(e,t)||EG()}function EG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PG(e,t){if(e){if(typeof e=="string")return ZS(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ZS(e,t):void 0}}function ZS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=v.useState("".concat(Eu("recharts"),"-clip")),n=NG(r,1),a=n[0],o=Hx();if(o==null)return null;var u=o.x,l=o.y,f=o.width,h=o.height;return v.createElement(OG.Provider,{value:a},v.createElement("defs",null,v.createElement("clipPath",{id:a},v.createElement("rect",{x:u,y:l,height:h,width:f}))),t)};function EO(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;ne*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function TG(e,t){return EO(e,t+1)}function DG(e,t,r,n,a){for(var o=(n||[]).slice(),u=t.start,l=t.end,f=0,h=1,p=u,g=function(){var j=n==null?void 0:n[f];if(j===void 0)return{v:EO(n,h)};var k=f,S,N=()=>(S===void 0&&(S=r(j,k)),S),P=j.coordinate,O=f===0||Bu(e,P,N,p,l);O||(f=0,p=u,h+=1),O&&(p=P+e*(N()/2+a),f+=h)},x;h<=o.length;)if(x=g(),x)return x.v;return[]}function RG(e,t,r,n,a){var o=(n||[]).slice(),u=o.length;if(u===0)return[];for(var l=t.start,f=t.end,h=1;h<=u;h++){for(var p=(u-1)%h,g=l,x=!0,b=function(){var C=n[k];if(C==null)return 0;var _=k,A,I=()=>(A===void 0&&(A=r(C,_)),A),U=C.coordinate,B=k===p||Bu(e,U,I,g,f);if(!B)return x=!1,1;B&&(g=U+e*(I()/2+a))},j,k=p;k(k===void 0&&(k=r(b,x)),k);if(x===u-1){var N=e*(j.coordinate+e*S()/2-f);o[x]=j=er(er({},j),{},{tickCoord:N>0?j.coordinate-N*e:j.coordinate})}else o[x]=j=er(er({},j),{},{tickCoord:j.coordinate});if(j.tickCoord!=null){var P=Bu(e,j.tickCoord,S,l,f);P&&(f=j.tickCoord-e*(S()/2+a),o[x]=er(er({},j),{},{isShow:!0}))}},p=u-1;p>=0;p--)h(p);return o}function BG(e,t,r,n,a,o){var u=(n||[]).slice(),l=u.length,f=t.start,h=t.end;if(o){var p=n[l-1];if(p!=null){var g=r(p,l-1),x=e*(p.coordinate+e*g/2-h);if(u[l-1]=p=er(er({},p),{},{tickCoord:x>0?p.coordinate-x*e:p.coordinate}),p.tickCoord!=null){var b=Bu(e,p.tickCoord,()=>g,f,h);b&&(h=p.tickCoord-e*(g/2+a),u[l-1]=er(er({},p),{},{isShow:!0}))}}}for(var j=o?l-1:l,k=function(P){var O=u[P];if(O==null)return 1;var C=O,_,A=()=>(_===void 0&&(_=r(O,P)),_);if(P===0){var I=e*(C.coordinate-e*A()/2-f);u[P]=C=er(er({},C),{},{tickCoord:I<0?C.coordinate-I*e:C.coordinate})}else u[P]=C=er(er({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var U=Bu(e,C.tickCoord,A,f,h);U&&(f=C.tickCoord+e*(A()/2+a),u[P]=er(er({},C),{},{isShow:!0}))}},S=0;S{var I=typeof h=="function"?h(_.value,A):_.value;return j==="width"?MG(fu(I,{fontSize:t,letterSpacing:r}),k,g):fu(I,{fontSize:t,letterSpacing:r})[j]},N=a[0],P=a[1],O=a.length>=2&&N!=null&&P!=null?Hr(P.coordinate-N.coordinate):1,C=IG(o,O,j);return f==="equidistantPreserveStart"?DG(O,C,S,a,u):f==="equidistantPreserveEnd"?RG(O,C,S,a,u):(f==="preserveStart"||f==="preserveStartEnd"?b=BG(O,C,S,a,u,f==="preserveStartEnd"):b=FG(O,C,S,a,u),b.filter(_=>_.isShow))}var UG=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n,o=e.tickSize,u=o===void 0?0:o,l=e.tickMargin,f=l===void 0?0:l,h=0;if(t){Array.from(t).forEach(b=>{if(b){var j=b.getBoundingClientRect();j.width>h&&(h=j.width)}});var p=r?r.getBoundingClientRect().width:0,g=u+f,x=h+g+p+(r?a:0);return Math.round(x)}return 0},WG={xAxis:{},yAxis:{}},PO=rr({name:"renderedTicks",initialState:WG,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=o},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),CO=PO.actions,HG=CO.setRenderedTicks,KG=CO.removeRenderedTicks,GG=PO.reducer,VG=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function eN(e,t){return XG(e)||YG(e,t)||QG(e,t)||qG()}function qG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QG(e,t){if(e){if(typeof e=="string")return tN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tN(e,t):void 0}}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n==null||r==null)return Us;var o=t.map(u=>({value:u.value,coordinate:u.coordinate,offset:u.offset,index:u.index}));return a(HG({ticks:o,axisId:n,axisType:r})),()=>{a(KG({axisId:n,axisType:r}))}},[a,t,n,r]),null}var uV=v.forwardRef((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,u=e.stroke,l=e.tickFormatter,f=e.unit,h=e.padding,p=e.tickTextProps,g=e.orientation,x=e.mirror,b=e.x,j=e.y,k=e.width,S=e.height,N=e.tickSize,P=e.tickMargin,O=e.fontSize,C=e.letterSpacing,_=e.getTicksConfig,A=e.events,I=e.axisType,U=e.axisId,B=Kx(mt(mt({},_),{},{ticks:n}),O,C),K=fn(_),X=uh(a),$=sO(K.textAnchor)?K.textAnchor:aV(g,x),ue=oV(g,x),J={};typeof o=="object"&&(J=o);var ge=mt(mt({},K),{},{fill:"none"},J),we=B.map(V=>mt({entry:V},iV(V,b,j,k,S,g,N,x,P))),pe=we.map(V=>{var Q=V.entry,D=V.line;return v.createElement(qr,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Q.value,"-").concat(Q.coordinate,"-").concat(Q.tickCoord)},o&&v.createElement("line",ho({},ge,D,{className:et("recharts-cartesian-axis-tick-line",vo(o,"className"))})))}),Y=we.map((V,Q)=>{var D,T,ee=V.entry,ie=V.tick,re=mt(mt(mt(mt({verticalAnchor:ue},K),{},{textAnchor:$,stroke:"none",fill:u},ie),{},{index:Q,payload:ee,visibleTicksCount:B.length,tickFormatter:l,padding:h},p),{},{angle:(D=(T=p==null?void 0:p.angle)!==null&&T!==void 0?T:K.angle)!==null&&D!==void 0?D:0}),ce=mt(mt({},re),X);return v.createElement(qr,ho({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ee.value,"-").concat(ee.coordinate,"-").concat(ee.tickCoord)},hD(A,ee,Q)),a&&v.createElement(sV,{option:a,tickProps:ce,value:"".concat(typeof l=="function"?l(ee.value,Q):ee.value).concat(f||"")}))});return v.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(I,"-ticks")},v.createElement(lV,{ticks:B,axisId:U,axisType:I}),Y.length>0&&v.createElement(bi,{zIndex:or.label},v.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(I,"-tick-labels"),ref:t},Y)),pe.length>0&&v.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(I,"-tick-lines")},pe))}),cV=v.forwardRef((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,u=e.hide,l=e.ticks,f=e.axisType,h=e.axisId,p=ZG(e,VG),g=v.useState(""),x=eN(g,2),b=x[0],j=x[1],k=v.useState(""),S=eN(k,2),N=S[0],P=S[1],O=v.useRef(null);v.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var _;return UG({ticks:O.current,label:(_=e.labelRef)===null||_===void 0?void 0:_.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var C=v.useCallback(_=>{if(_){var A=_.getElementsByClassName("recharts-cartesian-axis-tick-value");O.current=A;var I=A[0];if(I){var U=window.getComputedStyle(I),B=U.fontSize,K=U.letterSpacing;(B!==b||K!==N)&&(j(B),P(K))}}},[b,N]);return u||n!=null&&n<=0||a!=null&&a<=0?null:v.createElement(bi,{zIndex:e.zIndex},v.createElement(qr,{className:et("recharts-cartesian-axis",o)},v.createElement(nV,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:fn(e)}),v.createElement(uV,{ref:C,axisType:f,events:p,fontSize:b,getTicksConfig:e,height:e.height,letterSpacing:N,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),v.createElement(TH,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},v.createElement(HH,{label:e.label,labelRef:e.labelRef}),e.children)))}),Gx=v.forwardRef((e,t)=>{var r=Yr(e,ui);return v.createElement(cV,ho({},r,{ref:t}))});Gx.displayName="CartesianAxis";var dV=["x1","y1","x2","y2","key"],fV=["offset"],hV=["xAxisId","yAxisId"],pV=["xAxisId","yAxisId"];function nN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function tr(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,a=e.y,o=e.width,u=e.height,l=e.ry;return v.createElement("rect",{x:n,y:a,ry:l,width:o,height:u,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function AO(e){var t=e.option,r=e.lineItemProps,n;if(v.isValidElement(t))n=v.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,u=r.y1,l=r.x2,f=r.y2,h=r.key,p=Yf(r,dV),g=(a=fn(p))!==null&&a!==void 0?a:{};g.offset;var x=Yf(g,fV);n=v.createElement("line",Ha({},x,{x1:o,y1:u,x2:l,y2:f,fill:"none",key:h}))}return n}function bV(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Yf(e,hV),l=o.map((f,h)=>{var p=tr(tr({},u),{},{x1:t,y1:f,x2:t+r,y2:f,key:"line-".concat(h),index:h});return v.createElement(AO,{key:"line-".concat(h),option:a,lineItemProps:p})});return v.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function wV(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Yf(e,pV),l=o.map((f,h)=>{var p=tr(tr({},u),{},{x1:f,y1:t,x2:f,y2:t+r,key:"line-".concat(h),index:h});return v.createElement(AO,{option:a,lineItemProps:p,key:"line-".concat(h)})});return v.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function jV(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,u=e.height,l=e.horizontalPoints,f=e.horizontal,h=f===void 0?!0:f;if(!h||!t||!t.length||l==null)return null;var p=l.map(x=>Math.round(x+a-a)).sort((x,b)=>x-b);a!==p[0]&&p.unshift(0);var g=p.map((x,b)=>{var j=p[b+1],k=j==null,S=k?a+u-x:j-x;if(S<=0)return null;var N=b%t.length;return v.createElement("rect",{key:"react-".concat(b),y:x,x:n,height:S,width:o,stroke:"none",fill:t[N],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return v.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},g)}function kV(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,u=e.y,l=e.width,f=e.height,h=e.verticalPoints;if(!r||!n||!n.length)return null;var p=h.map(x=>Math.round(x+o-o)).sort((x,b)=>x-b);o!==p[0]&&p.unshift(0);var g=p.map((x,b)=>{var j=p[b+1],k=j==null,S=k?o+l-x:j-x;if(S<=0)return null;var N=b%n.length;return v.createElement("rect",{key:"react-".concat(b),x,y:u,width:S,height:f,stroke:"none",fill:n[N],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return v.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},g)}var SV=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return uP(Kx(tr(tr(tr({},ui),r),{},{ticks:cP(r),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},NV=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return uP(Kx(tr(tr(tr({},ui),r),{},{ticks:cP(r),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},EV={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:or.grid};function OO(e){var t=yP(),r=xP(),n=vP(),a=tr(tr({},Yr(e,EV)),{},{x:Ne(e.x)?e.x:n.left,y:Ne(e.y)?e.y:n.top,width:Ne(e.width)?e.width:n.width,height:Ne(e.height)?e.height:n.height}),o=a.xAxisId,u=a.yAxisId,l=a.x,f=a.y,h=a.width,p=a.height,g=a.syncWithTicks,x=a.horizontalValues,b=a.verticalValues,j=wr(),k=Ae(B=>aS(B,"xAxis",o,j)),S=Ae(B=>aS(B,"yAxis",u,j));if(!Rn(h)||!Rn(p)||!Ne(l)||!Ne(f))return null;var N=a.verticalCoordinatesGenerator||SV,P=a.horizontalCoordinatesGenerator||NV,O=a.horizontalPoints,C=a.verticalPoints;if((!O||!O.length)&&typeof P=="function"){var _=x&&x.length,A=P({yAxis:S?tr(tr({},S),{},{ticks:_?x:S.ticks}):void 0,width:t??h,height:r??p,offset:n},_?!0:g);jf(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof A,"]")),Array.isArray(A)&&(O=A)}if((!C||!C.length)&&typeof N=="function"){var I=b&&b.length,U=N({xAxis:k?tr(tr({},k),{},{ticks:I?b:k.ticks}):void 0,width:t??h,height:r??p,offset:n},I?!0:g);jf(Array.isArray(U),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof U,"]")),Array.isArray(U)&&(C=U)}return v.createElement(bi,{zIndex:a.zIndex},v.createElement("g",{className:"recharts-cartesian-grid"},v.createElement(xV,{fill:a.fill,fillOpacity:a.fillOpacity,x:a.x,y:a.y,width:a.width,height:a.height,ry:a.ry}),v.createElement(jV,Ha({},a,{horizontalPoints:O})),v.createElement(kV,Ha({},a,{verticalPoints:C})),v.createElement(bV,Ha({},a,{offset:n,horizontalPoints:O,xAxis:k,yAxis:S})),v.createElement(wV,Ha({},a,{offset:n,verticalPoints:C,xAxis:k,yAxis:S}))))}OO.displayName="CartesianGrid";var PV={},_O=rr({name:"errorBars",initialState:PV,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]||(e[n]=[]),e[n].push(a)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(u=>u.dataKey===a.dataKey&&u.direction===a.direction?o:u))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),Vx=_O.actions;Vx.addErrorBar;Vx.replaceErrorBar;Vx.removeErrorBar;var CV=_O.reducer;function MO(e,t){var r,n,a=Ae(h=>vi(h,e)),o=Ae(h=>yi(h,t)),u=(r=a==null?void 0:a.allowDataOverflow)!==null&&r!==void 0?r:Nt.allowDataOverflow,l=(n=o==null?void 0:o.allowDataOverflow)!==null&&n!==void 0?n:Et.allowDataOverflow,f=u||l;return{needClip:f,needClipX:u,needClipY:l}}function AV(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=Hx(),o=MO(t,r),u=o.needClipX,l=o.needClipY,f=o.needClip,h=Ae(O=>gA(O,t,!1)),p=Ae(O=>vA(O,r,!1));if(!f||!a)return null;var g=a.x,x=a.y,b=a.width,j=a.height,k=u&&h?Math.min(h[0],h[1]):g-b/2,S=l&&p?Math.min(p[0],p[1]):x-j/2,N=u&&h?Math.abs(h[1]-h[0]):b*2,P=l&&p?Math.abs(p[1]-p[0]):j*2;return v.createElement("clipPath",{id:"clipPath-".concat(n)},v.createElement("rect",{x:k,y:S,width:N,height:P}))}function OV(e){var t=uh(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,u=Number(a),l=Number(o);return(Number.isNaN(u)||u<0)&&(u=r),(Number.isNaN(l)||l<0)&&(l=n),{r:u,strokeWidth:l}}return{r,strokeWidth:n}}function qx(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:jO}function Qx(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:jO}var IO=(e,t,r)=>NA(e,"xAxis",qx(e,t),r),TO=(e,t,r)=>SA(e,"xAxis",qx(e,t),r),DO=(e,t,r)=>NA(e,"yAxis",Qx(e,t),r),RO=(e,t,r)=>SA(e,"yAxis",Qx(e,t),r),_V=G([ut,IO,DO,TO,RO],(e,t,r,n,a)=>zn(e,"xAxis")?wf(t,n,!1):wf(r,a,!1)),MV=(e,t)=>t,$O=G([HC,MV],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),LO=e=>{var t=ut(e),r=zn(t,"xAxis");return r?"yAxis":"xAxis"},IV=(e,t)=>{var r=LO(e);return r==="yAxis"?Qx(e,t):qx(e,t)},TV=(e,t,r)=>eA(e,LO(e),IV(e,t),r),DV=G([$O,TV],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Qy(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,u=o==null?void 0:o.find(l=>l.key===a);if(u!=null)return u.map(l=>[l[0],l[1]])}}}),RV=G([ut,IO,DO,TO,RO,DV,oF,_V,$O,kF],(e,t,r,n,a,o,u,l,f,h)=>{var p=u.chartData,g=u.dataStartIndex,x=u.dataEndIndex;if(!(f==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var b=f.data,j;if(b&&b.length>0?j=b:j=p==null?void 0:p.slice(g,x+1),j!=null)return lq({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:g,areaSettings:f,stackedData:o,displayedData:j,chartBaseValue:h,bandSize:l})}}),$V=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],LV=["id","baseLine"];function hu(){return hu=Object.assign?Object.assign.bind():function(e){for(var t=1;tg.y||0));return Ne(a)?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(...a.map(g=>g.y||0),p)),Ne(p)?v.createElement("rect",{x:lg.x||0));return Ne(a)?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(...a.map(g=>g.x||0),p)),Ne(p)?v.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[zs(zs({},r.next),{},{x:ni(r.prev.x,r.next.x,t),y:ni(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),FO={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Ux,animationInterpolateFn:YV,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:WV,xAxisId:0,yAxisId:0,zIndex:or.area};function Zf(e,t){return e&&e!=="none"?e:t}var XV=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,u=e.hide;return[{inactive:u,dataKey:t,type:o,color:Zf(n,a),value:dP(r,t),payload:e}]},ZV=v.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,u=e.name,l=e.hide,f=e.unit,h=e.tooltipType,p=e.id,g={dataDefinedOnItem:r,getPosition:Us,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:dP(u,t),hide:l,type:h,color:Zf(n,o),unit:f,graphicalItemId:p}};return v.createElement(cK,{tooltipEntrySettings:g})});function JV(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,u=n.dataKey,l=fn(n);return v.createElement(JK,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:u,baseProps:l,needClip:a,clipPathId:t})}function eq(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var u,l,f={x:(u=o.x)!==null&&u!==void 0?u:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return zs(zs({},f),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:f,fill:void 0})});return v.createElement(QH,{value:t?a:void 0},r)}function tq(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,u=e.animationElapsedTime,l=e.isAnimating,f=e.isEntrance,h=o.layout,p=o.type,g=o.stroke,x=o.connectNulls,b=o.isRange,j=o.shape,k=o.id,S=zO(o,HV),N=Vr(S),P=zs(zs({},N),{},{id:k,points:t,connectNulls:x,type:p,baseLine:r,layout:h,stroke:g,isRange:b,animationElapsedTime:u,isAnimating:l,isEntrance:f});return v.createElement(v.Fragment,null,(t==null?void 0:t.length)>1&&v.createElement(qr,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},v.createElement(uK,{option:j,DefaultShape:FO.shape,shapeProps:P})),v.createElement(JV,{points:t,props:S,clipPathId:a}))}function rq(e,t,r){if(Ne(e)){var n=Ne(t)?t:void 0;return ni(n,e,r)}if(Kt(e)||Tn(e)){var a=Ne(t)?t:void 0;return ni(a,0,r)}return e}function nq(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,u=n.points,l=n.baseLine,f=n.isAnimationActive,h=n.animationBegin,p=n.animationDuration,g=n.animationEasing,x=n.animationMatchBy,b=n.animationInterpolateFn,j=v.useMemo(()=>({points:u,baseLine:l}),[u,l]),k=xO(j,o),S=Dy(),N=PK(n.onAnimationStart,n.onAnimationEnd),P=N.isAnimating,O=N.handleAnimationStart,C=N.handleAnimationEnd,_=k.startValue;if(S==null)return null;var A;return Array.isArray(l)&&Array.isArray(_)?A=Yv(_,l,x):Array.isArray(l)?A=Yv(null,l,x):A=null,v.createElement(CK,{animationInput:j,animationIdPrefix:"recharts-area-",items:u,previousItemsRef:a,isAnimationActive:f,animationBegin:h,animationDuration:p,animationEasing:g,onAnimationStart:O,onAnimationEnd:C,animationInterpolateFn:b,animationMatchBy:x,layout:S},(I,U,B)=>{var K;return U===1?K=l:Array.isArray(l)?K=b(A,U,S):K=B?l:rq(l,_,U),k.syncStepValue(K,U),v.createElement(eq,{showLabels:!P,points:u},n.children,v.createElement(tq,{points:I,baseLine:K,needClip:t,clipPathId:r,props:n,animationElapsedTime:U,isAnimating:P||U<1,isEntrance:B}),v.createElement(ZH,{label:n.label}))})}function iq(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=v.useRef(null),o=v.useRef();return v.createElement(nq,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}class aq extends v.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,u=t.top,l=t.left,f=t.needClip,h=t.xAxisId,p=t.yAxisId,g=t.width,x=t.height,b=t.id,j=t.baseLine,k=t.zIndex;if(r)return null;var S=et("recharts-area",o),N=b,P=OV(n),O=P.r,C=P.strokeWidth,_=vO(n),A=O*2+C,I=f?"url(#clipPath-".concat(_?"":"dots-").concat(N,")"):void 0;return v.createElement(bi,{zIndex:k},v.createElement(qr,{className:S},f&&v.createElement("defs",null,v.createElement(AV,{clipPathId:N,xAxisId:h,yAxisId:p}),!_&&v.createElement("clipPath",{id:"clipPath-dots-".concat(N)},v.createElement("rect",{x:l-A/2,y:u-A/2,width:g+A,height:x+A}))),v.createElement(iq,{needClip:f,clipPathId:N,props:this.props})),v.createElement(YS,{points:a,mainColor:Zf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(j)&&v.createElement(YS,{points:j,mainColor:Zf(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}function oq(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,u=e.connectNulls,l=e.dot,f=e.fill,h=e.fillOpacity,p=e.hide,g=e.isAnimationActive,x=e.legendType,b=e.stroke,j=e.xAxisId,k=e.yAxisId,S=zO(e,KV),N=Ws(),P=qA(),O=MO(j,k),C=O.needClip,_=wr(),A=(t=Ae(ge=>RV(ge,e.id,_)))!==null&&t!==void 0?t:{},I=A.points,U=A.isRange,B=A.baseLine,K=Hx();if(N!=="horizontal"&&N!=="vertical"||K==null||P!=="AreaChart"&&P!=="ComposedChart")return null;var X=K.height,$=K.width,ue=K.x,J=K.y;return!I||!I.length?null:v.createElement(aq,Xf({},S,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:B,connectNulls:u,dot:l,fill:f,fillOpacity:h,height:X,hide:p,layout:N,isAnimationActive:g,isRange:U,legendType:x,needClip:C,points:I,stroke:b,width:$,left:ue,top:J,xAxisId:j,yAxisId:k}))}var sq=(e,t,r,n,a)=>{var o=r??t;if(Ne(o))return o;var u=e==="horizontal"?a:n,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),h=Math.min(l[0],l[1]);return o==="dataMin"?h:o==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function lq(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,u=e.layout,l=e.chartBaseValue,f=e.xAxis,h=e.yAxis,p=e.displayedData,g=e.dataStartIndex,x=e.xAxisTicks,b=e.yAxisTicks,j=e.bandSize,k=o&&o.length,S=sq(u,l,n,f,h),N=u==="horizontal",P=!1,O=p.map((_,A)=>{var I,U,B,K;if(k)K=o[g+A];else{var X=Tt(_,a);Array.isArray(X)?(K=X,P=!0):K=[S,X]}var $=(I=(U=K)===null||U===void 0?void 0:U[1])!==null&&I!==void 0?I:null,ue=$==null||k&&!r&&Tt(_,a)==null;if(N){var J;return{x:ej({axis:f,ticks:x,bandSize:j,entry:_,index:A}),y:ue?null:(J=h.scale.map($))!==null&&J!==void 0?J:null,value:K,payload:_}}return{x:ue?null:(B=f.scale.map($))!==null&&B!==void 0?B:null,y:ej({axis:h,ticks:b,bandSize:j,entry:_,index:A}),value:K,payload:_}}),C;return k||P?C=O.map(_=>{var A,I=Array.isArray(_.value)?_.value[0]:null;if(N){var U;return{x:_.x,y:I!=null&&_.y!=null&&(U=h.scale.map(I))!==null&&U!==void 0?U:null,payload:_.payload}}return{x:I!=null&&(A=f.scale.map(I))!==null&&A!==void 0?A:null,y:_.y,payload:_.payload}}):C=N?h.scale.map(S):f.scale.map(S),{points:O,baseLine:C??0,isRange:P}}function uq(e){var t=Yr(e,FO),r=wr();return v.createElement($K,{id:t.id,type:"area"},n=>v.createElement(v.Fragment,null,v.createElement(dK,{legendPayload:XV(t)}),v.createElement(ZV,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),v.createElement(HK,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:G$(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),v.createElement(oq,Xf({},t,{id:n}))))}var BO=v.memo(uq,_h);BO.displayName="Area";var cq=["domain","range"],dq=["domain","range"];function oN(e,t){if(e==null)return{};var r,n,a=fq(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(u!=null)return uN(uN({},o),{},{type:u})},[o,u]);return v.useLayoutEffect(()=>{l!=null&&(r.current===null?t(iG(l)):r.current!==l&&t(aG({prev:r.current,next:l})),r.current=l)},[l,t]),v.useLayoutEffect(()=>()=>{r.current&&(t(oG(r.current)),r.current=null)},[t]),null}var wq=e=>{var t=e.xAxisId,r=e.className,n=Ae(hP),a=wr(),o="xAxis",u=Ae(x=>kA(x,o,t,a)),l=Ae(x=>tU(x,t)),f=Ae(x=>sU(x,t)),h=Ae(x=>FC(x,t));if(l==null||f==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var p=Zv(e,pq);h.id,h.scale;var g=Zv(h,mq);return v.createElement(Gx,Xv({},p,g,{x:f.x,y:f.y,width:l.width,height:l.height,className:et("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:u,axisType:o,axisId:t}))},jq={allowDataOverflow:Nt.allowDataOverflow,allowDecimals:Nt.allowDecimals,allowDuplicatedCategory:Nt.allowDuplicatedCategory,angle:Nt.angle,axisLine:ui.axisLine,height:Nt.height,hide:!1,includeHidden:Nt.includeHidden,interval:Nt.interval,label:!1,minTickGap:Nt.minTickGap,mirror:Nt.mirror,orientation:Nt.orientation,padding:Nt.padding,reversed:Nt.reversed,scale:Nt.scale,tick:Nt.tick,tickCount:Nt.tickCount,tickLine:ui.tickLine,tickSize:ui.tickSize,type:Nt.type,niceTicks:Nt.niceTicks,xAxisId:0},kq=e=>{var t=Yr(e,jq);return v.createElement(v.Fragment,null,v.createElement(bq,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),v.createElement(wq,t))},WO=v.memo(kq,UO);WO.displayName="XAxis";var Sq=["type"],Nq=["dangerouslySetInnerHTML","ticks","scale"],Eq=["id","scale"];function Jv(){return Jv=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(u!=null)return dN(dN({},o),{},{type:u})},[u,o]);return v.useLayoutEffect(()=>{l!=null&&(r.current===null?t(sG(l)):r.current!==l&&t(lG({prev:r.current,next:l})),r.current=l)},[l,t]),v.useLayoutEffect(()=>()=>{r.current&&(t(uG(r.current)),r.current=null)},[t]),null}function Mq(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=v.useRef(null),u=v.useRef(null),l=Ae(hP),f=wr(),h=jt(),p="yAxis",g=Ae(N=>cU(N,t)),x=Ae(N=>uU(N,t)),b=Ae(N=>kA(N,p,t,f)),j=Ae(N=>BC(N,t));if(v.useLayoutEffect(()=>{if(!(n!=="auto"||!g||Bx(a)||v.isValidElement(a)||j==null)){var N=o.current;if(N){var P=N.getCalculatedWidth();Math.round(g.width)!==Math.round(P)&&h(cG({id:t,width:P}))}}},[b,g,h,a,t,n,j]),g==null||x==null||j==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var k=ey(e,Nq);j.id,j.scale;var S=ey(j,Eq);return v.createElement(Gx,Jv({},k,S,{ref:o,labelRef:u,x:x.x,y:x.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:g.width,height:g.height,className:et("recharts-".concat(p," ").concat(p),r),viewBox:l,ticks:b,axisType:p,axisId:t}))}var Iq={allowDataOverflow:Et.allowDataOverflow,allowDecimals:Et.allowDecimals,allowDuplicatedCategory:Et.allowDuplicatedCategory,angle:Et.angle,axisLine:ui.axisLine,hide:!1,includeHidden:Et.includeHidden,interval:Et.interval,label:!1,minTickGap:Et.minTickGap,mirror:Et.mirror,orientation:Et.orientation,padding:Et.padding,reversed:Et.reversed,scale:Et.scale,tick:Et.tick,tickCount:Et.tickCount,tickLine:ui.tickLine,tickSize:ui.tickSize,type:Et.type,niceTicks:Et.niceTicks,width:Et.width,yAxisId:0},Tq=e=>{var t=Yr(e,Iq);return v.createElement(v.Fragment,null,v.createElement(_q,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),v.createElement(Mq,t))},HO=v.memo(Tq,UO);HO.displayName="YAxis";var Dq=(e,t)=>t,Yx=G([Dq,ut,tC,Rt,UA,xi,M7,Vt],z7);function Rq(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Xx(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Rq(e)){var a=e.currentTarget.getBBox();r=a.width>0?t.width/a.width:1,n=a.height>0?t.height/a.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var u=(l,f)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>u(l.clientX,l.clientY)):u(e.clientX,e.clientY)}var KO=Mr("mouseClick"),GO=Yu();GO.startListening({actionCreator:KO,effect:(e,t)=>{var r=e.payload,n=Yx(t.getState(),Xx(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(NU({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var ty=Mr("mouseMove"),VO=Yu(),ts=null,Ma=null,Ag=null;VO.startListening({actionCreator:ty,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,u=a.throttledEvents,l=u==="all"||(u==null?void 0:u.includes("mousemove"));ts!==null&&(cancelAnimationFrame(ts),ts=null),Ma!==null&&(typeof o!="number"||!l)&&(clearTimeout(Ma),Ma=null),Ag=Xx(r);var f=()=>{var h=t.getState(),p=uc(h,h.tooltip.settings.shared);if(!Ag){ts=null,Ma=null;return}if(p==="axis"){var g=Yx(h,Ag);(g==null?void 0:g.activeIndex)!=null?t.dispatch(MA({activeIndex:g.activeIndex,activeDataKey:void 0,activeCoordinate:g.activeCoordinate})):t.dispatch(_A())}ts=null,Ma=null};if(!l){f();return}o==="raf"?ts=requestAnimationFrame(f):typeof o=="number"&&Ma===null&&(Ma=setTimeout(f,o))}});function $q(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var fN={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},qO=rr({name:"rootProps",initialState:fN,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:fN.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),Lq=qO.reducer,zq=qO.actions.updateOptions,Fq=null,Bq={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},QO=rr({name:"polarOptions",initialState:Fq,reducers:Bq});QO.actions.updatePolarOptions;var Uq=QO.reducer,YO=Mr("keyDown"),XO=Mr("focus"),ZO=Mr("blur"),Xh=Yu(),rs=null,Ia=null,Kd=null;Xh.startListening({actionCreator:YO,effect:(e,t)=>{Kd=e.payload,rs!==null&&(cancelAnimationFrame(rs),rs=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,u=o==="all"||o.includes("keydown");Ia!==null&&(typeof a!="number"||!u)&&(clearTimeout(Ia),Ia=null);var l=()=>{try{var f=t.getState(),h=f.rootProps.accessibilityLayer!==!1;if(!h)return;var p=f.tooltip.keyboardInteraction,g=Kd;if(g!=="ArrowRight"&&g!=="ArrowLeft"&&g!=="Enter")return;var x=du(p,fo(f),$s(f),Ls(f)),b=x==null?-1:Number(x),j=!Number.isFinite(b)||b<0,k=xi(f),S=fo(f),N=uc(f,f.tooltip.settings.shared);if(g==="Enter"){if(j)return;var P=Gf(f,N,"hover",String(p.index));t.dispatch(Kf({active:!p.active,activeIndex:p.index,activeCoordinate:P}));return}var O=mU(f),C=O==="left-to-right"?1:-1,_=g==="ArrowRight"?1:-1,A;if(j){var I=$s(f),U=Ls(f),B=_*C,K=ge=>({active:!1,index:String(ge),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(A=-1,B>0){for(var X=0;X=0;$--)if(du(K($),S,I,U)!=null){A=$;break}if(A<0)return}else{A=b+_*C;var ue=(k==null?void 0:k.length)||S.length;if(ue===0||A>=ue||A<0)return}var J=Gf(f,N,"hover",String(A));t.dispatch(Kf({active:!0,activeIndex:A.toString(),activeCoordinate:J}))}finally{rs=null,Ia=null}};if(!u){l();return}a==="raf"?rs=requestAnimationFrame(l):typeof a=="number"&&Ia===null&&(l(),Kd=null,Ia=setTimeout(()=>{Kd?l():(Ia=null,rs=null)},a))}});Xh.startListening({actionCreator:XO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;if(!a.active&&a.index==null){var o="0",u=uc(r,r.tooltip.settings.shared),l=Gf(r,u,"hover",String(o));t.dispatch(Kf({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Xh.startListening({actionCreator:ZO,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(Kf({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function JO(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var a=Reflect.get(r,n);return typeof a=="function"?a.bind(r):a}})}var Fr=Mr("externalEvent"),e_=Yu(),Gd=new Map,iu=new Map,Og=new Map;e_.startListening({actionCreator:Fr,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,u=JO(a);Og.set(o,{handler:n,reactEvent:u});var l=Gd.get(o);l!==void 0&&(cancelAnimationFrame(l),Gd.delete(o));var f=t.getState(),h=f.eventSettings,p=h.throttleDelay,g=h.throttledEvents,x=g,b=x==="all"||(x==null?void 0:x.includes(o)),j=iu.get(o);j!==void 0&&(typeof p!="number"||!b)&&(clearTimeout(j),iu.delete(o));var k=()=>{var P=Og.get(o);try{if(!P)return;var O=P.handler,C=P.reactEvent,_=t.getState(),A={activeCoordinate:v7(_),activeDataKey:p7(_),activeIndex:zu(_),activeLabel:KA(_),activeTooltipIndex:zu(_),isTooltipActive:y7(_)};O&&O(A,C)}finally{Gd.delete(o),iu.delete(o),Og.delete(o)}};if(!b){k();return}if(p==="raf"){var S=requestAnimationFrame(k);Gd.set(o,S)}else if(typeof p=="number"){if(!iu.has(o)){k();var N=setTimeout(k,p);iu.set(o,N)}}else k()}}});var Wq=G([Xs],e=>e.tooltipItemPayloads),Hq=G([Wq,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}}),t_=Mr("touchMove"),r_=Yu(),Ta=null,Ki=null,hN=null,au=null;r_.startListening({actionCreator:t_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){au=JO(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,u=a.throttledEvents,l=u==="all"||u.includes("touchmove");Ta!==null&&(cancelAnimationFrame(Ta),Ta=null),Ki!==null&&(typeof o!="number"||!l)&&(clearTimeout(Ki),Ki=null),hN=Array.from(r.touches).map(h=>Xx({clientX:h.clientX,clientY:h.clientY,currentTarget:r.currentTarget}));var f=()=>{if(au!=null){var h=t.getState(),p=uc(h,h.tooltip.settings.shared);if(p==="axis"){var g,x=(g=hN)===null||g===void 0?void 0:g[0];if(x==null){Ta=null,Ki=null;return}var b=Yx(h,x);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(MA({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(p==="item"){var j,k=au.touches[0];if(document.elementFromPoint==null||k==null)return;var S=document.elementFromPoint(k.clientX,k.clientY);if(!S||!S.getAttribute)return;var N=S.getAttribute(J$),P=(j=S.getAttribute(eL))!==null&&j!==void 0?j:void 0,O=bo(h).find(A=>A.id===P);if(N==null||O==null||P==null)return;var C=O.dataKey,_=Hq(h,N,P);t.dispatch(SU({activeDataKey:C,activeIndex:N,activeCoordinate:_,activeGraphicalItemId:P}))}Ta=null,Ki=null}};if(!l){f();return}o==="raf"?Ta=requestAnimationFrame(f):typeof o=="number"&&Ki===null&&(f(),au=null,Ki=setTimeout(()=>{au?f():(Ki=null,Ta=null)},o))}}});var n_={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},i_=rr({name:"eventSettings",initialState:n_,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),Kq=i_.actions.setEventSettings,Gq=i_.reducer,Vq=TE({brush:bG,cartesianAxis:dG,chartData:gW,errorBars:CV,eventSettings:Gq,graphicalItems:UK,layout:$$,legend:XL,options:dW,polarAxis:eK,polarOptions:Uq,referenceElements:SG,renderedTicks:GG,rootProps:Lq,tooltip:EU,zIndex:Z7}),qq=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return l$({reducer:Vq,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([GO.middleware,VO.middleware,Xh.middleware,e_.middleware,r_.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(QE({type:"raf"}))},devTools:{serialize:{replacer:$q},name:"recharts-".concat(r)}})};function Qq(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=wr(),o=v.useRef(null);if(a)return r;o.current==null&&(o.current=qq(t,n));var u=Ey;return v.createElement(hz,{context:u,store:o.current},r)}function Yq(e){var t=e.layout,r=e.margin,n=jt(),a=wr();return v.useEffect(()=>{a||(n(T$(t)),n(I$(r)))},[n,a,t,r]),null}var Xq=v.memo(Yq,_h);function Zq(e){var t=jt();return v.useEffect(()=>{t(zq(e))},[t,e]),null}var Jq=e=>{var t=jt();return v.useEffect(()=>{t(Kq(e))},[t,e]),null},eQ=v.memo(Jq,_h);function pN(e){var t=e.zIndex,r=e.isPanorama,n=v.useRef(null),a=jt();return v.useLayoutEffect(()=>(n.current&&a(Y7({zIndex:t,element:n.current,isPanorama:r})),()=>{a(X7({zIndex:t,isPanorama:r}))}),[a,t,r]),v.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function mN(e){var t=e.children,r=e.isPanorama,n=Ae(B7);if(!n||n.length===0)return t;var a=n.filter(u=>u<0),o=n.filter(u=>u>0);return v.createElement(v.Fragment,null,a.map(u=>v.createElement(pN,{key:u,zIndex:u,isPanorama:r})),t,o.map(u=>v.createElement(pN,{key:u,zIndex:u,isPanorama:r})))}var tQ=["children"];function rQ(e,t){if(e==null)return{};var r,n,a=nQ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=yP(),n=xP(),a=AP();if(!Rn(r)||!Rn(n))return null;var o=e.children,u=e.otherAttributes,l=e.title,f=e.desc,h,p;return u!=null&&(typeof u.tabIndex=="number"?h=u.tabIndex:h=a?0:void 0,typeof u.role=="string"?p=u.role:p=a?"application":void 0),v.createElement(Z2,Jf({},u,{title:l,desc:f,role:p,tabIndex:h,width:r,height:n,style:iQ,ref:t}),o)}),oQ=e=>{var t=e.children,r=Ae(Eh);if(!r)return null;var n=r.width,a=r.height,o=r.y,u=r.x;return v.createElement(Z2,{width:n,height:a,x:u,y:o},t)},gN=v.forwardRef((e,t)=>{var r=e.children,n=rQ(e,tQ),a=wr();return a?v.createElement(oQ,null,v.createElement(mN,{isPanorama:!0},r)):v.createElement(aQ,Jf({ref:t},n),v.createElement(mN,{isPanorama:!1},r))});function sQ(e,t){return dQ(e)||cQ(e,t)||uQ(e,t)||lQ()}function lQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uQ(e,t){if(e){if(typeof e=="string")return vN(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vN(e,t):void 0}}function vN(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var u=n.getBoundingClientRect(),l=u.width/n.offsetWidth;Be(l)&&l!==o&&e(R$(l))}},[n,e,o]),a}function yN(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function hQ(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(NW(),null);function th(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var jQ=v.forwardRef((e,t)=>{var r,n,a=v.useRef(null),o=v.useState({containerWidth:th((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:th((n=e.style)===null||n===void 0?void 0:n.height)}),u=eh(o,2),l=u[0],f=u[1],h=v.useCallback((g,x)=>{f(b=>{var j=Math.round(g),k=Math.round(x);return b.containerWidth===j&&b.containerHeight===k?b:{containerWidth:j,containerHeight:k}})},[]),p=v.useCallback(g=>{if(typeof t=="function"&&t(g),a.current!=null&&(a.current.disconnect(),a.current=null),g!=null&&typeof ResizeObserver<"u"){var x=g.getBoundingClientRect(),b=x.width,j=x.height;h(b,j);var k=N=>{var P=N[0];if(P!=null){var O=P.contentRect,C=O.width,_=O.height;h(C,_)}},S=new ResizeObserver(k);S.observe(g),a.current=S}},[t,h]);return v.useEffect(()=>()=>{var g=a.current;g!=null&&g.disconnect()},[h]),v.createElement(v.Fragment,null,v.createElement(Zu,{width:l.containerWidth,height:l.containerHeight}),v.createElement("div",ua({ref:p},e)))}),kQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height,a=v.useState({containerWidth:th(r),containerHeight:th(n)}),o=eh(a,2),u=o[0],l=o[1],f=v.useCallback((p,g)=>{l(x=>{var b=Math.round(p),j=Math.round(g);return x.containerWidth===b&&x.containerHeight===j?x:{containerWidth:b,containerHeight:j}})},[]),h=v.useCallback(p=>{if(typeof t=="function"&&t(p),p!=null){var g=p.getBoundingClientRect(),x=g.width,b=g.height;f(x,b)}},[t,f]);return v.createElement(v.Fragment,null,v.createElement(Zu,{width:u.containerWidth,height:u.containerHeight}),v.createElement("div",ua({ref:h},e)))}),SQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height;return v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement("div",ua({ref:t},e)))}),NQ=v.forwardRef((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?v.createElement(kQ,ua({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?v.createElement(SQ,ua({},e,{width:r,height:n,ref:t})):v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement("div",ua({ref:t},e)))});function EQ(e){return e?jQ:NQ}var PQ=v.forwardRef((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,u=e.onContextMenu,l=e.onDoubleClick,f=e.onMouseDown,h=e.onMouseEnter,p=e.onMouseLeave,g=e.onMouseMove,x=e.onMouseUp,b=e.onTouchEnd,j=e.onTouchMove,k=e.onTouchStart,S=e.style,N=e.width,P=e.responsive,O=e.dispatchTouchEvents,C=O===void 0?!0:O,_=v.useRef(null),A=jt(),I=v.useState(null),U=eh(I,2),B=U[0],K=U[1],X=v.useState(null),$=eh(X,2),ue=$[0],J=$[1],ge=fQ(),we=Iy(),pe=(we==null?void 0:we.width)>0?we.width:N,Y=(we==null?void 0:we.height)>0?we.height:a,V=v.useCallback(de=>{ge(de),typeof t=="function"&&t(de),K(de),J(de),de!=null&&(_.current=de)},[ge,t,K,J]),Q=v.useCallback(de=>{A(KO(de)),A(Fr({handler:o,reactEvent:de}))},[A,o]),D=v.useCallback(de=>{A(ty(de)),A(Fr({handler:h,reactEvent:de}))},[A,h]),T=v.useCallback(de=>{A(_A()),A(Fr({handler:p,reactEvent:de}))},[A,p]),ee=v.useCallback(de=>{A(ty(de)),A(Fr({handler:g,reactEvent:de}))},[A,g]),ie=v.useCallback(()=>{A(XO())},[A]),re=v.useCallback(()=>{A(ZO())},[A]),ce=v.useCallback(de=>{A(YO(de.key))},[A]),me=v.useCallback(de=>{A(Fr({handler:u,reactEvent:de}))},[A,u]),Oe=v.useCallback(de=>{A(Fr({handler:l,reactEvent:de}))},[A,l]),te=v.useCallback(de=>{A(Fr({handler:f,reactEvent:de}))},[A,f]),ke=v.useCallback(de=>{A(Fr({handler:x,reactEvent:de}))},[A,x]),_e=v.useCallback(de=>{A(Fr({handler:k,reactEvent:de}))},[A,k]),oe=v.useCallback(de=>{C&&A(t_(de)),A(Fr({handler:j,reactEvent:de}))},[A,C,j]),Xe=v.useCallback(de=>{A(Fr({handler:b,reactEvent:de}))},[A,b]),Z=EQ(P);return v.createElement(JA.Provider,{value:B},v.createElement(B4.Provider,{value:ue},v.createElement(Z,{width:pe??(S==null?void 0:S.width),height:Y??(S==null?void 0:S.height),className:et("recharts-wrapper",n),style:hQ({position:"relative",cursor:"default",width:pe,height:Y},S),onClick:Q,onContextMenu:me,onDoubleClick:Oe,onFocus:ie,onBlur:re,onKeyDown:ce,onMouseDown:te,onMouseEnter:D,onMouseLeave:T,onMouseMove:ee,onMouseUp:ke,onTouchEnd:Xe,onTouchMove:oe,onTouchStart:_e,ref:V},v.createElement(wQ,null),r)))}),CQ=["width","height","responsive","children","className","style","compact","title","desc"];function AQ(e,t){if(e==null)return{};var r,n,a=OQ(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,u=e.className,l=e.style,f=e.compact,h=e.title,p=e.desc,g=AQ(e,CQ),x=fn(g);return f?v.createElement(v.Fragment,null,v.createElement(Zu,{width:r,height:n}),v.createElement(gN,{otherAttributes:x,title:h,desc:p},o)):v.createElement(PQ,{className:u,style:l,width:r,height:n,responsive:a??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},v.createElement(gN,{otherAttributes:x,title:h,desc:p,ref:t},v.createElement(_G,null,o)))});function ry(){return ry=Object.assign?Object.assign.bind():function(e){for(var t=1;tv.createElement(LQ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:zQ,tooltipPayloadSearcher:uW,categoricalChartProps:e,ref:t}));const BQ="rgba(130,130,150,0.14)",wN="rgba(130,130,150,0.85)";function UQ(e){if(e<=0)return 10;const t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=5?5:10)*t}function a_(e,t){return`${t==="%"?Math.round(e):e>=1e3?`${(e/1e3).toFixed(1)}k`:Math.round(e).toString()}${t}`}function WQ({active:e,payload:t,unit:r}){return!e||!(t!=null&&t.length)?null:c.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:c.jsx("div",{className:"space-y-1",children:t.map(n=>c.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[c.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:n.color}}),c.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:n.name}),c.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:a_(n.value,r)})]},n.dataKey))})})}function o_({data:e,series:t,unit:r="%",yMode:n="percent",height:a=176}){const o=e.reduce((l,f)=>t.reduce((h,p)=>Math.max(h,Number(f[p.key])||0),l),0),u=n==="percent"?Math.min(100,Math.max(25,Math.ceil(o*1.2/25)*25)):Math.max(UQ(o*1.15),10);return c.jsx("div",{style:{height:a},className:"w-full",children:c.jsx(IL,{width:"100%",height:"100%",children:c.jsxs(FQ,{data:e,margin:{top:8,right:6,bottom:0,left:-12},children:[c.jsx("defs",{children:t.map(l=>c.jsxs("linearGradient",{id:`grad-${l.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:l.color,stopOpacity:.22}),c.jsx("stop",{offset:"100%",stopColor:l.color,stopOpacity:0})]},l.key))}),c.jsx(OO,{vertical:!1,stroke:BQ}),c.jsx(WO,{dataKey:"t",hide:!0}),c.jsx(HO,{domain:[0,u],ticks:[0,u/2,u],tickFormatter:l=>a_(l,r),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:wN}}),c.jsx(LW,{content:c.jsx(WQ,{unit:r}),cursor:{stroke:wN,strokeOpacity:.4,strokeDasharray:"3 3"}}),t.map(l=>c.jsx(BO,{type:"monotone",dataKey:l.key,name:l.label,stroke:l.color,strokeWidth:2,fill:`url(#grad-${l.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},l.key))]})})})}const HQ=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function KQ(){var u,l,f,h;const{sys:e,hist:t}=O4(),r=!!(e!=null&&e.gpu&&e.gpu.busy_percent!=null&&e.gpu.gtt_used!=null&&e.gpu.gtt_total!=null),n=HQ.filter(p=>p.key!=="gpu"||r),a={cpu:(u=e==null?void 0:e.cpu)==null?void 0:u.percent,ram:(l=e==null?void 0:e.ram)==null?void 0:l.percent,gpu:r?e.gpu.busy_percent:null,disk:(f=e==null?void 0:e.disk)==null?void 0:f.percent},o={cpu:(h=e==null?void 0:e.cpu)!=null&&h.cores?`${e.cpu.cores} Cores`:"",ram:e?`${Qo(e.ram.used)}/${Qo(e.ram.total)} GB`:"",gpu:r?`${Qo(e.gpu.gtt_used)}/${Qo(e.gpu.gtt_total)} GB`:"",disk:e!=null&&e.disk?`${Qo(e.disk.used)}/${Qo(e.disk.total)} GB`:""};return c.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[c.jsx(_n,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),c.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:n.map(p=>c.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:p.color}}),c.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:p.label}),c.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(a[p.key]??0),"%"]}),o[p.key]&&c.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:o[p.key]})]},p.key))}),c.jsx(o_,{data:t,series:n,unit:"%",yMode:"percent",height:176})]}):c.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(e==null?void 0:e.temp)&&(e.temp.cpu||e.temp.gpu)&&c.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[e.temp.cpu!=null&&c.jsxs("span",{children:["CPU Temp: ",e.temp.cpu," °C"]}),e.temp.gpu!=null&&c.jsxs("span",{children:["GPU Temp: ",e.temp.gpu," °C"]})]})]})}function Vd({label:e,value:t,tone:r}){return c.jsxs("div",{className:fe("flex items-center justify-between rounded-lg border px-3 py-1.5 text-xs",r==="alert"?"border-amber-500/30 bg-amber-500/5 font-semibold text-amber-400":r==="accent"?"border-primary/30 bg-primary/5 font-semibold text-primary":"border-border/30 bg-background/25 text-muted-foreground"),children:[c.jsx("span",{className:"flex items-center gap-1.5",children:e}),c.jsx("span",{className:"font-mono text-[10px]",children:t})]})}function GQ(){var r;const{data:e}=gy(3e3),t=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}));return c.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-b border-border/20 pb-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(NI,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Updates & Pflege"})]}),(e==null?void 0:e.last_check)&&c.jsxs("span",{className:"font-mono text-[9px] text-muted-foreground/80",children:["Zuletzt gesucht: ",new Date(e.last_check*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),e?c.jsxs("div",{className:"space-y-1.5",children:[c.jsx(Vd,{label:"OS-Pakete",tone:e.os>0?"alert":"muted",value:e.os>0?`${e.os} verfügbar`:"aktuell"}),c.jsx(Vd,{label:"Engine (llama.cpp)",tone:e.engine>0?"alert":"muted",value:e.engine>0?"Update verfügbar":"aktuell"}),c.jsx(Vd,{label:"Modell-Upgrades",tone:e.models>0?"accent":"muted",value:e.models>0?`${e.models} verfügbar`:"aktuell"}),(r=e.components)==null?void 0:r.map(n=>c.jsx(Vd,{tone:n.update===!0?"alert":"muted",label:c.jsxs(c.Fragment,{children:[n.name,n.reachable===!1&&c.jsx("span",{className:"text-[8px] font-bold uppercase text-red-400/80",children:"offline"})]}),value:n.update===!0?`Update: ${n.latest}`:n.update===!1?"aktuell":n.latest?`neueste: ${n.latest}`:"—"},n.key))]}):c.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Updates..."})]}),c.jsxs("button",{onClick:t,className:"mt-4 flex h-9 w-full items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow-md shadow-primary/10 transition-all hover:opacity-90 cursor-pointer",children:["Updates verwalten & Pflege ",c.jsx(r2,{className:"h-3.5 w-3.5"})]})]})}function s_({type:e,title:t,message:r,defaultValue:n,autoValue:a,autoLabel:o,onConfirm:u,onCancel:l}){const f=v.useRef(null);return c.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:t}),c.jsx("button",{onClick:l||(()=>u()),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:r}),e==="prompt"&&c.jsxs("div",{className:"flex gap-2",children:[c.jsx("input",{ref:f,type:"text",defaultValue:n,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:h=>{var p;h.key==="Enter"&&u((p=f.current)==null?void 0:p.value)}}),a!==void 0&&c.jsx("button",{type:"button",onClick:()=>{f.current&&(f.current.value=a)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:o||"Auto"})]}),c.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(e==="confirm"||e==="prompt")&&c.jsx("button",{onClick:l,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),c.jsx("button",{onClick:()=>{var p;const h=e==="prompt"?(p=f.current)==null?void 0:p.value:void 0;u(h)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:e==="confirm"?"Ja, fortfahren":e==="prompt"?"Übernehmen":"OK"})]})]})})}function el(){const[e,t]=v.useState(null),r=v.useCallback(()=>t(null),[]),n=v.useCallback((l,f,h)=>{t({type:"alert",title:l,message:f,onConfirm:()=>{t(null),h==null||h()}})},[]),a=v.useCallback((l,f,h,p)=>{t({type:"confirm",title:l,message:f,onConfirm:()=>{t(null),h()},onCancel:()=>{t(null),p==null||p()}})},[]),o=v.useCallback((l,f,h,p,g,x)=>{t({type:"prompt",title:l,message:f,defaultValue:h,autoValue:x==null?void 0:x.autoValue,autoLabel:x==null?void 0:x.autoLabel,onConfirm:b=>{t(null),p(b)},onCancel:()=>{t(null),g==null||g()}})},[]),u=e?c.jsx(s_,{...e}):null;return{showAlert:n,showConfirm:a,showPrompt:o,close:r,dialogElement:u}}function VQ(){const e=po(),{data:t}=my(3e3),{data:r}=go(),{showAlert:n,dialogElement:a}=el(),[o,u]=v.useState(!1),l=(r==null?void 0:r.models)??[];async function f(h){try{await Me("/api/agent/brain",{method:"POST",body:JSON.stringify({model:h})}),n("Erfolgreich",`Hermes-Gehirn wurde auf '${h}' geändert. Der Gateway-Dienst wurde neu gestartet.`),e.invalidateQueries({queryKey:wt.agentStatus}),u(!1)}catch(p){n("Fehler",`Fehler beim Wechseln des Gehirns: ${p.message}`)}}return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center justify-between mb-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ps,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Hermes Agent"})]}),(t==null?void 0:t.terminal_url)&&c.jsxs("a",{href:_s(t.terminal_url),target:"_blank",rel:"noopener",className:fe("flex items-center gap-1 px-3 py-1 rounded-lg text-xs font-medium transition-all",t.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/20":"border border-border text-muted-foreground"),children:[c.jsx(xu,{className:"h-3 w-3"})," Terminal öffnen"]})]}),t?c.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gateway"}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",t.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-medium",children:t.gateway_reachable?"Online":"Offline"})]})]}),c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Terminal"}),c.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",t.terminal_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-medium",children:t.terminal_reachable?"Online":"Offline"})]})]}),c.jsxs("div",{onClick:()=>u(!0),className:"p-3 bg-background/20 rounded-xl border border-border/40 hover:border-primary/45 hover:bg-background/30 transition-all duration-300 cursor-pointer",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gehirn"}),c.jsx(_n,{className:"h-3 w-3 text-primary"})]}),c.jsxs("div",{className:"text-xs font-medium mt-1 font-mono text-primary truncate flex items-center gap-1",children:[c.jsx(bu,{className:"h-3 w-3 shrink-0"}),t.brain_model||"auto"]})]}),c.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Verdrahtung"}),c.jsx(ku,{className:"h-3 w-3 text-primary"})]}),c.jsxs("div",{className:"text-[10px] font-mono mt-1 space-y-0.5 text-muted-foreground",children:[c.jsxs("div",{children:["Config: ",t.has_config?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),c.jsxs("div",{children:["Skills: ",t.has_skills?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),c.jsxs("div",{children:["Memory: ",t.has_memories?c.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]})]})]})]}):c.jsx("div",{className:"h-28 flex items-center justify-center text-xs text-muted-foreground",children:"Lade Agenten-Status…"})]}),t&&c.jsxs("div",{className:"mt-3 border-t border-border/30 pt-3 space-y-1.5",children:[c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"Telegram"}),c.jsx("span",{className:fe("font-semibold",t.telegram_enabled?"text-emerald-400":""),children:t.telegram_enabled?"aktiv":"nicht konfiguriert"})]}),c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"MCP-Server"}),c.jsxs("span",{className:"font-semibold text-foreground",children:[t.mcp_server_count??0," verbunden"]})]}),c.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[c.jsx("span",{children:"PC Executor"}),c.jsx("span",{className:fe("font-semibold",t.pc_executor_reachable?"text-emerald-400":""),children:t.pc_executor_reachable?"erreichbar":"nicht verbunden"})]})]}),t&&o&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4"}),c.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),c.jsx("button",{onClick:()=>u(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',c.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),c.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:["auto","fast","heavy",...l.map(h=>{var p;return((p=h.name.split("/").pop())==null?void 0:p.replace(".gguf",""))||h.name})].map(h=>{const p=["auto","fast","heavy"].includes(h);return c.jsxs("button",{onClick:()=>f(h),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",t.brain_model===h||!t.brain_model&&h==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[c.jsxs("div",{className:"flex flex-col text-left",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:h}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:p?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(t.brain_model===h||!t.brain_model&&h==="auto")&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},h)})})]})}),a]})}function qQ(){const{data:e}=go(3e3),t=(e==null?void 0:e.models)??[],r=(e==null?void 0:e.running)??[];return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[c.jsx(bu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Rollen-Belegung"})]}),c.jsx("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1 scrollbar-thin",children:V2.map(n=>{var u;const a=t.find(l=>l.role===n),o=a?r.includes(a.name):!1;return c.jsxs("div",{className:fe("flex items-center justify-between p-2 rounded-xl border transition-all duration-300",o?"border-emerald-500/30 bg-emerald-500/5 shadow-sm shadow-emerald-500/5":a?"border-primary/20 bg-primary/5":"border-border/30 bg-background/10 opacity-60"),children:[c.jsx("div",{className:"min-w-0 flex-1 mr-2",children:c.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[c.jsx("span",{className:fe("text-[9px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",yy(n)),children:n}),c.jsxs("div",{className:"flex flex-col min-w-0",children:[c.jsx("span",{className:"text-xs font-semibold truncate font-mono text-foreground",children:a?(u=a.name.split("/").pop())==null?void 0:u.replace(/\.gguf$/i,""):"nicht zugewiesen"}),a&&c.jsxs("div",{className:"flex gap-1 items-center mt-0.5 flex-wrap",children:[a.prompt_cache&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-cyan-500/10 text-cyan-400 border border-cyan-500/20 px-1 py-0.5 rounded",title:"Prompt Caching aktiv",children:"PC"}),a.spec_active&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-1 py-0.5 rounded",title:`Speculative Decoding aktiv (Draft: ${a.spec_draft_model})`,children:"SPEC"}),a.parallel_slots>1&&c.jsxs("span",{className:"text-[7px] leading-none font-mono font-bold bg-violet-500/10 text-violet-400 border border-violet-500/20 px-1 py-0.5 rounded",title:`${a.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",a.parallel_slots]}),a.incomplete&&c.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-amber-500/10 text-amber-400 border border-amber-500/20 px-1 py-0.5 rounded",title:"GGUF-Datei fehlt",children:"⚠ fehlt"})]})]})]})}),c.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:a?o?c.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]}):c.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground uppercase tracking-wider font-mono",children:"bereit"}):c.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground/60 uppercase tracking-wider font-mono",children:"—"})})]},n)})})]}),c.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Laden erfolgt automatisch per Auto-Swap."})]})}function QQ(){const e=po(),{data:t=[]}=nv({limit:3}),[r,n]=v.useState(""),[a,o]=v.useState("stable"),[u,l]=v.useState(!1);async function f(){if(!(!r.trim()||u)){l(!0);try{await Me("/api/memory",{method:"POST",body:JSON.stringify({content:r,category:a,source:"dashboard"})}),n(""),e.invalidateQueries({queryKey:["memory"]})}catch(h){console.error(h)}finally{l(!1)}}}return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[c.jsx(yu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Gedächtnis"})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsx("textarea",{value:r,onChange:h=>n(h.target.value),placeholder:"Fakt / Regel im Pool speichern...",rows:2,className:"w-full resize-none rounded-xl border border-border/50 bg-background/30 p-2 text-[10px] outline-none focus:ring-1 focus:ring-primary transition-all leading-normal"}),c.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[c.jsxs("select",{value:a,onChange:h=>o(h.target.value),className:"h-7 rounded-lg border border-border/50 bg-background/50 px-2 text-[10px] outline-none cursor-pointer",children:[c.jsx("option",{value:"stable",children:"🔵 Fakt"}),c.jsx("option",{value:"instruction",children:"📋 Regel"}),c.jsx("option",{value:"user",children:"👤 User"}),c.jsx("option",{value:"versioned",children:"🟡 Version"})]}),c.jsxs("button",{onClick:f,disabled:!r.trim()||u,className:"flex h-7 items-center gap-1 rounded-lg bg-primary px-3 text-[10px] font-semibold text-primary-foreground hover:opacity-90 disabled:opacity-50 transition-all cursor-pointer",children:[c.jsx(Yg,{className:"h-3.5 w-3.5"})," Speichern"]})]})]}),c.jsxs("div",{className:"mt-3.5 space-y-1.5",children:[c.jsx("div",{className:"text-[9px] text-muted-foreground uppercase font-bold tracking-wider",children:"Zuletzt gespeichert:"}),c.jsx("div",{className:"max-h-20 overflow-y-auto space-y-1 pr-1 scrollbar-thin",children:t.length===0?c.jsx("div",{className:"text-[10px] text-muted-foreground/75 py-1",children:"Keine Einträge vorhanden."}):t.map(h=>c.jsxs("div",{className:"text-[10px] bg-background/10 border border-border/30 rounded p-1.5 flex items-start gap-1.5",children:[c.jsx("span",{className:"shrink-0 text-[8px] font-mono text-muted-foreground/80 px-1 py-0.5 rounded bg-muted/20",children:h.category}),c.jsx("span",{className:"truncate flex-1 text-muted-foreground hover:text-foreground transition-colors",title:h.content,children:h.content})]},h.id))})]})]}),c.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Steht allen Clients per MCP zur Verfügung."})]})}const jN=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function YQ(){const{data:e}=py(3e3),t=C4(),r=t[t.length-1],n=r?Math.round(r.prompt+r.completion):0;return c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(vu,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),c.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),e&&c.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[c.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:n.toLocaleString("de-DE")}),c.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),e&&c.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[c.jsxs("div",{children:[e.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",c.jsxs("span",{className:"text-emerald-400/90",children:[e.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),c.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",e.prompt_tokens.toLocaleString("de-DE")," · Output ",e.completion_tokens.toLocaleString("de-DE")]})]})]}),c.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:jN.map(a=>c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:a.color}}),c.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:a.label}),c.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((r==null?void 0:r[a.key])??0)})]},a.key))})]}),e?c.jsx(o_,{data:t,series:jN,unit:" tok/s",yMode:"auto",height:150}):c.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),c.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function XQ(){const{data:e}=$3(3e3),{showAlert:t,dialogElement:r}=el(),[n,a]=v.useState({});async function o(u){a(l=>({...l,[u]:!0}));try{const l=await Me("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:u})});l.ok||t("Fehler",`Neustart fehlgeschlagen: ${l.err||"Unbekannt"}`)}catch(l){t("Fehler",`Fehler: ${l.message}`)}finally{a(l=>({...l,[u]:!1}))}}return c.jsxs("div",{className:"flex flex-col rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[c.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(n2,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Dienste"})]}),c.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"logs"}})),className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground transition-colors hover:text-primary cursor-pointer",children:"Logs / Pflege"})]}),e?c.jsxs("div",{className:"flex flex-1 flex-col",children:[c.jsx("div",{className:"space-y-1.5",children:e.services.map(u=>c.jsxs("div",{className:"group flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{className:fe("h-2.5 w-2.5 shrink-0 rounded-full ring-2 ring-black/40",u.ok?"bg-emerald-500":"bg-amber-500")}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"truncate text-xs font-bold text-foreground",children:u.name}),c.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground/60",children:u.url})]})]}),c.jsx("button",{onClick:()=>o(u.name),disabled:n[u.name],className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-primary/5 hover:text-primary group-hover:opacity-100",title:"Dienst neu starten",children:c.jsx(cu,{className:fe("h-3.5 w-3.5",n[u.name]&&"animate-spin")})})]},u.name))}),c.jsxs("div",{className:"mt-auto flex flex-wrap gap-3 border-t border-border/20 pt-2.5 text-[10px] font-semibold text-muted-foreground",children:[c.jsxs("a",{href:_s(e.links.engine_ui),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[c.jsx(xu,{className:"h-3 w-3"})," Engine"]}),c.jsxs("a",{href:_s(e.links.gateway),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[c.jsx(xu,{className:"h-3 w-3"})," Gateway"]})]})]}):c.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Dienste…"}),r]})}function kN({children:e}){return c.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:e})}function ZQ(){return c.jsxs("div",{className:"space-y-7",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Zentrale"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Aktueller Status von System, Modellen und Agent."})]}),c.jsxs("div",{className:"grid items-stretch gap-6 lg:grid-cols-3",children:[c.jsx(KQ,{}),c.jsx(YQ,{}),c.jsx(S4,{})]}),c.jsxs("section",{children:[c.jsx(kN,{children:"Stack-Status"}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[c.jsx(qQ,{}),c.jsx(XQ,{})]})]}),c.jsxs("section",{children:[c.jsx(kN,{children:"Betrieb & Wissen"}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-3",children:[c.jsx(GQ,{}),c.jsx(VQ,{}),c.jsx(QQ,{})]})]})]})}function JQ(){const e=po(),{data:t=[]}=z3(2e3),{showAlert:r,dialogElement:n}=el();async function a(l){try{await Me(`/api/jobs/${l}/cancel`,{method:"POST"}),e.invalidateQueries({queryKey:wt.jobs})}catch(f){r("Fehler",f.message)}}const o=t.filter(l=>l.state==="running"||l.state==="queued"),u=t.filter(l=>l.state!=="running"&&l.state!=="queued").slice(-3);return o.length===0&&u.length===0?null:c.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[c.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),o.map(l=>c.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[c.jsxs("div",{className:"flex justify-between items-center text-xs",children:[c.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:l.label}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"text-muted-foreground font-mono",children:[l.progress??0,"% • ",iv(l.done_bytes),"/",iv(l.total_bytes),l.eta_s?` • ETA ${W3(l.eta_s)}`:""]}),c.jsx("button",{onClick:()=>a(l.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),c.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:c.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${l.progress??0}%`}})})]},l.id)),u.map(l=>c.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[c.jsx("span",{className:"truncate",children:l.label}),c.jsx("span",{className:fe("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",l.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:l.state})]},l.id)),n]})}function Da({children:e,tone:t="muted"}){const r={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return c.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${r[t]}`,children:e})}function SN({caps:e}){return e?c.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[e.coder&&c.jsx(Da,{children:"💻 Code"}),e.vision&&c.jsx(Da,{children:"👁 Bild"}),e.reasoning&&c.jsx(Da,{children:"🧠 Reason"}),e.moe&&c.jsxs(Da,{tone:"primary",children:["🧩 MoE",e.active_b?`·${e.active_b}b`:""]}),e.tools==="yes"&&c.jsx(Da,{tone:"primary",children:"🛠 Tools"}),e.tools==="likely"&&c.jsx(Da,{tone:"warn",children:"🛠 Tools?"}),e.embedding&&c.jsx(Da,{children:"🔢 Embed"})]}):null}function eY({model:e,onClose:t,onChanged:r}){var k,S;const{data:n,isLoading:a}=U3(e.gguf_path),[o,u]=v.useState(null),[l,f]=v.useState(""),h=n==null?void 0:n.target_vocab,p=(n==null?void 0:n.drafts)??[],g=p.filter(N=>N.compatible===!0),x=e.spec_draft_model;async function b(N){u(N??"__clear__"),f("");try{await Me(`/api/models/${encodeURIComponent(e.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:N})}),r(),t()}catch(P){f(String((P==null?void 0:P.message)||P)),u(null)}}const j=N=>{var P;return N?`${N.pre??"?"} · ${((P=N.n_vocab)==null?void 0:P.toLocaleString())??"?"} Tokens`:"—"};return c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[c.jsx(ls,{className:"h-4 w-4"})," Speculative Draft"]}),c.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',c.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),c.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[c.jsx("span",{className:"text-muted-foreground",children:(k=e.name.split("/").pop())==null?void 0:k.replace(/\.gguf$/i,"")}),c.jsxs("span",{className:"text-foreground",children:["Vocab: ",j(h)]})]}),e.spec_active&&x&&c.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[c.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[c.jsx(Wr,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",x]}),c.jsx("button",{onClick:()=>b(null),disabled:o!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(n!=null&&n.target_exists)&&c.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[c.jsx(Cs,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),c.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:a?c.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):p.length===0?c.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",c.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):p.map(N=>{var C,_;const P=N.filename===x,O=N.compatible===!0;return c.jsxs("div",{className:fe("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",O?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",P&&"border-primary/40 bg-primary/10"),children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate",children:N.filename}),c.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[Br(N.size_bytes)," · Vocab: ",j(N.vocab)]})]}),O?P?c.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[c.jsx(Wr,{className:"h-3.5 w-3.5"})," Aktiv"]}):c.jsx("button",{onClick:()=>b(N.path),disabled:o!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):c.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:N.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(C=N.vocab)==null?void 0:C.pre}/${(_=N.vocab)==null?void 0:_.n_vocab} ≠ Modell ${h==null?void 0:h.pre}/${h==null?void 0:h.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[c.jsx(Cs,{className:"h-3.5 w-3.5"})," ",N.compatible===!1?"Vocab ≠":"n/a"]})]},N.path)})}),!a&&(n==null?void 0:n.target_exists)&&p.length>0&&g.length===0&&c.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",c.jsx("span",{className:"font-mono",children:h==null?void 0:h.pre}),", n_vocab=",c.jsx("span",{className:"font-mono",children:(S=h==null?void 0:h.n_vocab)==null?void 0:S.toLocaleString()}),")."]}),l&&c.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:l})]})})}function tY(){var jo,ga,il,ji,ki,dc,al,ol;const e=po(),{data:t,isLoading:r,error:n}=go(4e3),{data:a}=L3(4e3),{data:o}=F2(),{data:u}=gy(4e3),{data:l}=F3(),{data:f}=lh(),{showAlert:h,showConfirm:p,showPrompt:g,dialogElement:x}=el(),b=(t==null?void 0:t.models)??[],j=(t==null?void 0:t.running)??[],k=n?String(n):"",S=()=>{e.invalidateQueries({queryKey:wt.models}),e.invalidateQueries({queryKey:wt.routing})},[N,P]=v.useState(null),[O,C]=v.useState(null),[_,A]=v.useState(null),[I,U]=v.useState(null),[B,K]=v.useState(!1),[X,$]=v.useState(!1),[ue,J]=v.useState(null),[ge,we]=v.useState("grid"),[pe,Y]=v.useState("all"),V=b.filter(F=>pe==="in_use"?!!F.role||j.includes(F.name):!0),[Q,D]=v.useState({width:800,height:360}),T=v.useRef(null),ee=v.useCallback(F=>{if(T.current&&(T.current.disconnect(),T.current=null),F){const he=new ResizeObserver(Pe=>{if(!Pe||Pe.length===0)return;const ze=Pe[0].contentRect;D({width:ze.width,height:ze.height})});he.observe(F),T.current=he}},[]),ie=Q.width,re=Q.height,ce=F=>{const he=ie*.1,Pe=re*F,ze=ie*.5,Ve=re*.5,qt=ie*.3,Ze=Pe,gt=ie*.3;return`M ${he} ${Pe} C ${qt} ${Ze}, ${gt} ${Ve}, ${ze} ${Ve}`},me=F=>{const he=ie*.5,Pe=re*.5,ze=ie*.9,Ve=re*F,qt=ie*.7,Ze=Pe,gt=ie*.7;return`M ${he} ${Pe} C ${qt} ${Ze}, ${gt} ${Ve}, ${ze} ${Ve}`};async function Oe(F){try{await Me(`/api/models/${encodeURIComponent(F)}/load`,{method:"POST"}),S()}catch(he){h("Fehler",`Fehler beim Laden des Modells: ${he.message}`)}}async function te(F){try{await Me(`/api/models/${encodeURIComponent(F)}/unload`,{method:"POST"}),S()}catch(he){h("Fehler",`Fehler beim Entladen des Modells: ${he.message}`)}}async function ke(){try{await Me("/api/models/unload",{method:"POST"}),S()}catch(F){h("Fehler",`Fehler beim Entladen aller Modelle: ${F.message}`)}}async function _e(F,he){try{await Me(`/api/models/${encodeURIComponent(he)}/role`,{method:"POST",body:JSON.stringify({role:F||null})}),S()}catch(Pe){h("Fehler",`Fehler beim Zuweisen der Rolle: ${Pe.message||Pe}`)}}function oe(F){C(F),A(null),Me(`/api/roles/${encodeURIComponent(F)}/recommend`).then(he=>A(he)).catch(()=>{})}async function Xe(F,he){let Pe=null;try{Pe=await Me(`/api/models/${encodeURIComponent(F)}/ctx/auto`)}catch{}const ze=Pe?`Optimal für dein Setup: ${(Pe.ctx/1024).toFixed(0)}k (${Pe.ctx}) — GTT ${Pe.gtt_gb} GB − reserviert ${Pe.reserved_gb} GB (${Pe.mode}) → ${Pe.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";g("Kontextlänge anpassen",ze,String(he||32768),async Ve=>{if(Ve)try{await Me(`/api/models/${encodeURIComponent(F)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Ve,10)})}),S()}catch(qt){h("Fehler",`Fehler beim Setzen des Kontexts: ${qt.message||qt}`)}},void 0,Pe?{autoValue:String(Pe.ctx),autoLabel:`Auto (${(Pe.ctx/1024).toFixed(0)}k)`}:void 0)}async function Z(F){p("Modell löschen?",`Modell '${F}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await Me(`/api/models/${encodeURIComponent(F)}`,{method:"DELETE"}),S()}catch(he){h("Fehler",`Fehler beim Löschen: ${he.message||he}`)}})}async function de(F,he,Pe,ze){try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:F,role:he,quant:Pe,jinja:ze})}),h("Herunterladen gestartet",`Download für '${F}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(Ve){h("Fehler",`Fehler beim Starten des Upgrades: ${Ve.message||Ve}`)}}async function tt(F){const he=l==null?void 0:l.budget,Pe=he&&!he.fits?` ⚠ Speicher-Warnung: Dieses Brain (~${he.brain_gb} GB) muss immer resident sein. Zusammen mit dem größten on-demand-Modell (~${he.largest_ondemand_gb} GB) sprengt das das Budget (${he.gtt_gb} GB) → heavy/coder würden das Brain verdrängen. Erwäge ein kleineres Brain oder weniger Kontext.`:"";p("Agent-Hirn aktualisieren?",`Neues Hermes-Modell '${F.split("/").pop()}' herunterladen und als Agent-Hirn (Rolle hermes) setzen? Hermes nutzt danach automatisch das neue Modell.${Pe}`,async()=>{try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:F,role:"hermes",quant:"Q4_K_M",jinja:!0})}),h("Download gestartet","Das neue Agent-Hirn wird geladen. Fortschritt oben."),S()}catch(ze){h("Fehler",`Update fehlgeschlagen: ${ze.message||ze}`)}})}async function jr(F){p("Agent-Hirn wechseln?",`'${F.split("/").pop()}' als Agent-Hirn (Alias hermes) setzen? Es wird warm gehalten (brains-Gruppe); Hermes nutzt es nach einem kurzen Gateway-Restart.`,async()=>{try{await Me("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:F})}),h("Erledigt","Agent-Hirn gewechselt. Gateway wurde neugestartet."),K(!1),S()}catch(he){h("Fehler",`Wechsel fehlgeschlagen: ${he.message||he}`)}})}async function pa(F){F&&(await navigator.clipboard.writeText(F),$(!0),setTimeout(()=>$(!1),1500))}if(r)return c.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Initialisiere HUD Cockpit…"});if(k)return c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",k,")."]});const ma=b.filter(F=>j.includes(F.name)),Bn=ma.reduce((F,he)=>F+(he.size_bytes||0),0),Un=((jo=f==null?void 0:f.gpu)==null?void 0:jo.gtt_total)||((ga=f==null?void 0:f.gpu)==null?void 0:ga.vram_total)||0,wo=((il=f==null?void 0:f.gpu)==null?void 0:il.gtt_used)||0,tl=16*1024**3,rl=Un>2*1024**3?Un:Bn>tl?Bn*1.2:tl,nl=F=>b.find(he=>he.role===F),wi=F=>{const he=nl(F);return he?j.includes(he.name):!1};return c.jsxs("div",{className:"space-y-8",children:[c.jsx("style",{children:` @keyframes flow-dash { @@ -475,13 +470,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho stroke-dasharray: 4 6; animation: flow-dash 1s linear infinite; } - `}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Bm,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",Br(Bn)," Gewichte",wo>0?` · ${Br(wo)} real belegt (inkl. KV)`:""," / ",Br(rl)]}),j.length>0&&c.jsx("button",{onClick:ke,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),c.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:ma.length===0?c.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):ma.map((F,he)=>{var Ve;const Pe=(F.size_bytes||0)/rl*100,ze=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][he%4];return c.jsxs("div",{style:{width:`${Pe}%`},className:fe("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",ze),title:`${F.name} (${Br(F.size_bytes)})`,children:[c.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[F.role?`[${F.role}] `:"",(Ve=F.name.split("/").pop())==null?void 0:Ve.replace(".gguf","")]}),c.jsx("span",{className:"text-[8px] font-mono opacity-80",children:Br(F.size_bytes)})]},F.name)})})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Gateway Graph"}),c.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Klicke links auf Editoren, um Configs zu kopieren. Klicke rechts auf Rollen, um GGUF-Zuweisungen live zu ändern."})]}),c.jsxs("div",{ref:ee,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[c.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),c.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),c.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),c.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),c.jsx("path",{d:ce(.1),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="roocode"||N==="roocode")&&c.jsx("path",{d:ce(.1),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="cursor"||N==="cursor")&&c.jsx("path",{d:ce(.3),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="opencode"||N==="opencode")&&c.jsx("path",{d:ce(.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="zed"||N==="zed")&&c.jsx("path",{d:ce(.7),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.9),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="continue"||N==="continue")&&c.jsx("path",{d:ce(.9),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.12),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("fast")&&c.jsx("path",{d:me(.12),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.31),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("heavy")&&c.jsx("path",{d:me(.31),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("coder")&&c.jsx("path",{d:me(.5),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.69),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("vision")&&c.jsx("path",{d:me(.69),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.88),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("scout")&&c.jsx("path",{d:me(.88),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"10%"},onMouseEnter:()=>J("roocode"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="roocode"?null:"roocode"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Roo Code"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"30%"},onMouseEnter:()=>J("cursor"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="cursor"?null:"cursor"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Cursor IDE"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"50%"},onMouseEnter:()=>J("opencode"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="opencode"?null:"opencode"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"OpenCode"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"70%"},onMouseEnter:()=>J("zed"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="zed"?null:"zed"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Zed"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"90%"},onMouseEnter:()=>J("continue"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="continue"?null:"continue"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Continue"})]}),c.jsxs("div",{className:"absolute select-none z-10 w-36 py-3 px-4 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5",style:{left:"50%",top:"50%"},children:[c.jsx("div",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Gateway Auto"}),c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground mt-0.5",children:["Schwelle: > ",a!=null&&a.heavy_threshold_chars?a.heavy_threshold_chars/1e3:"4","k Zeichen"]}),c.jsx("div",{className:"mt-1 px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-semibold text-primary uppercase font-mono",children:"Auto-Swap"})]}),V2.map(F=>{var qt;const he=["12%","31%","50%","69%","88%"],Pe=nl(F),ze=Pe?j.includes(Pe.name):!1;if(F==="agent")return null;const Ve={fast:0,heavy:1,coder:2,vision:3,scout:4}[F];return c.jsxs("div",{className:fe("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",ze?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":Pe?"border-border/60 bg-card/75":"border-dashed border-border/40 bg-background/20"),style:{left:"90%",top:he[Ve]},onClick:()=>oe(F),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:F}),ze&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground max-w-[150px]",children:Pe?(qt=Pe.name.split("/").pop())==null?void 0:qt.replace(".gguf",""):"Keine Zuweisung"})]},F)}),N&&o&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200 flex flex-col justify-between",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("span",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:[N==="roocode"&&"Roo Code Setup",N==="cursor"&&"Cursor Setup",N==="opencode"&&"OpenCode Setup",N==="zed"&&"Zed Setup",N==="continue"&&"Continue Setup"]}),c.jsx("button",{onClick:()=>P(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed space-y-2",children:[N==="roocode"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Suche in VS Code nach der Erweiterung ",c.jsx("strong",{children:"Roo Code"})," und installiere sie."]}),c.jsxs("li",{children:["Wähle in den Roo Code Einstellungen: Provider: ",c.jsx("strong",{children:"OpenAI Compatible"}),"."]}),c.jsxs("li",{children:["Füge das untenstehende JSON-Snippet in die ",c.jsx("code",{children:"settings.json"})," ein."]})]}),N==="cursor"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne Cursor Settings ➔ ",c.jsx("strong",{children:"Models"}),"."]}),c.jsxs("li",{children:["Deaktiviere Cloud-Modelle, klappe ",c.jsx("strong",{children:"OpenAI API"})," auf."]}),c.jsxs("li",{children:["Trage die Base URL unten ein und aktiviere das Modell ",c.jsx("strong",{children:"auto"}),"."]})]}),N==="opencode"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne die ",c.jsx("code",{children:"opencode.jsonc"})," Konfigurationsdatei."]}),c.jsxs("li",{children:["Ersetze den Provider-Eintrag unter ",c.jsx("code",{children:"provider"})," mit dem Snippet unten."]})]}),N==="zed"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne die Zed Settings (",c.jsx("code",{children:"ctrl+,"}),")."]}),c.jsxs("li",{children:["Füge das untenstehende JSON-Segment unter ",c.jsx("code",{children:"language_models"})," ein."]})]}),N==="continue"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsx("li",{children:"Klicke auf das Zahnrad-Symbol in der Continue-Erweiterung."}),c.jsxs("li",{children:["Füge den Gateway-Eintrag zum ",c.jsx("code",{children:"models"}),"-Array hinzu."]})]})]}),o.tools&&c.jsxs("div",{className:"relative rounded-xl border border-border/40 bg-black/40 overflow-hidden mt-1 shrink-0",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/20 bg-black/20",children:[c.jsx("span",{className:"text-[10px] font-mono text-muted-foreground",children:"JSON Config"}),c.jsxs("button",{onClick:()=>{var F,he,Pe,ze,Ve;return pa(N==="roocode"?(F=o.tools.cline)==null?void 0:F.snippet:N==="cursor"?(he=o.tools.cursor)==null?void 0:he.snippet:N==="opencode"?(Pe=o.tools.opencode)==null?void 0:Pe.snippet:N==="zed"?(ze=o.tools.zed)==null?void 0:ze.snippet:(Ve=o.tools.continue)==null?void 0:Ve.snippet)},className:"text-xs font-semibold text-primary hover:text-primary-foreground flex items-center gap-1 cursor-pointer",children:[X?c.jsx(Wr,{className:"h-3.5 w-3.5 text-emerald-400"}):c.jsx(of,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:X?"Kopiert":"Kopieren"})]})]}),c.jsx("pre",{className:"p-3 max-h-48 overflow-y-auto text-xs font-mono text-cyan-200/90 whitespace-pre scrollbar-thin select-text",children:c.jsxs("code",{children:[N==="roocode"&&((ji=o.tools.cline)==null?void 0:ji.snippet),N==="cursor"&&((ki=o.tools.cursor)==null?void 0:ki.snippet),N==="opencode"&&((dc=o.tools.opencode)==null?void 0:dc.snippet),N==="zed"&&((al=o.tools.zed)==null?void 0:al.snippet),N==="continue"&&((ol=o.tools.continue)==null?void 0:ol.snippet)]})})]}),c.jsx("button",{onClick:()=>P(null),className:"w-full h-9 rounded-lg bg-primary text-primary-foreground hover:opacity-90 font-semibold text-xs transition-opacity cursor-pointer mt-2",children:"Schließen"})]})})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),c.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Gateway"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),c.jsx("span",{children:"Grüner Puls: Aktive Verbindung / Warmes Modell geladen"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded bg-gradient-to-r from-teal-500 to-emerald-500"}),c.jsx("span",{children:"VRAM-Verlauf: Modellspezifischer Speicheranteil"})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:"Gateway Steckplatz-Belegung (Slot-Zuweisung)"}),c.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:["fast","heavy","coder","vision","scout"].map(F=>{var ze;const he=b.find(Ve=>Ve.role===F),Pe=he?j.includes(he.name):!1;return c.jsxs("div",{onClick:()=>oe(F),className:fe("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",Pe?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":he?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:fe("text-[9px] font-bold uppercase tracking-wider font-mono px-1.5 py-0.5 rounded border",yy(F)),children:F}),Pe&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:he==null?void 0:he.name,children:he?(ze=he.name.split("/").pop())==null?void 0:ze.replace(/\.gguf$/i,""):"nicht zugewiesen"}),c.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},F)})})]}),(l==null?void 0:l.current)&&c.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ps,{className:"h-4.5 w-4.5 text-indigo-400"}),c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),l.current.version!=null&&c.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",l.current.version]})]}),c.jsx("button",{onClick:()=>K(!0),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",children:"Hirn wechseln"})]}),c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:l.current.name,children:l.current.name.split("/").pop()}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[c.jsx("span",{children:l.current.params_b?`${l.current.params_b}B`:"—"}),c.jsx("span",{children:"•"}),c.jsx("span",{children:l.current.quant||"GGUF"}),c.jsx("span",{children:"•"}),c.jsx("span",{children:Br(l.current.size_bytes||0)})]})]}),l.update_available&&l.recommended?c.jsxs("button",{onClick:()=>tt(l.recommended.repo),className:fe("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",l.budget&&!l.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[c.jsx(no,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):c.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[c.jsx(Wr,{className:"h-4 w-4"})," Neueste Generation"]})]}),l.update_available&&l.recommended&&c.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",c.jsx("span",{className:"font-mono font-bold",children:l.recommended.name.replace(/-GGUF$/i,"")}),"(v",l.recommended.version,", ",l.recommended.params_b,"B) — von NousResearch."]}),l.budget&&c.jsxs("div",{className:fe("text-[10px] flex items-start gap-1.5 leading-relaxed",l.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[c.jsx(Bm,{className:"h-3 w-3 shrink-0 mt-0.5"}),c.jsxs("span",{children:["Always-On-Brain ~",l.budget.brain_gb," GB + größtes on-demand (~",l.budget.largest_ondemand_gb," GB) = ",(l.budget.brain_gb+l.budget.largest_ondemand_gb).toFixed(1)," / ",l.budget.gtt_gb," GB",l.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[c.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",V.length," von ",b.length,")"]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[c.jsx("button",{onClick:()=>Y("all"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),c.jsx("button",{onClick:()=>Y("in_use"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),c.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[c.jsx("button",{onClick:()=>we("grid"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),c.jsx("button",{onClick:()=>we("list"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),ge==="grid"?c.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:V.length===0?c.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):V.map(F=>{const he=j.includes(F.name),Pe=u==null?void 0:u.model_list.find(Ve=>Ve.role===F.role),ze=bw(F.name);return c.jsxs("div",{className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",he?"border-primary/45 shadow-primary/5":F.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[c.jsxs("div",{className:"space-y-3",children:[c.jsx("div",{className:"flex items-start justify-between gap-3",children:c.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[c.jsx("div",{className:fe("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",ze.color),title:ze.name,children:ze.initial}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:F.name,children:F.name.split("/").pop()}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[c.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:F.quant||"GGUF"}),he&&c.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[c.jsx(vu,{className:"h-3 w-3 animate-pulse"})," Warm"]}),F.role&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-mono text-primary font-bold uppercase",children:F.role}),F.prompt_cache&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),F.spec_active?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${F.spec_draft_model})`,children:"SPEC"}):F.spec_draft_model?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${F.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null,F.parallel_slots>1&&c.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${F.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",F.parallel_slots]}),F.incomplete&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),c.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:c.jsx(SN,{caps:F.capabilities})})]}),c.jsxs("div",{className:"space-y-3 pt-1",children:[c.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[c.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[c.jsx(Bm,{className:"h-3.5 w-3.5 text-primary/80"}),c.jsxs("div",{children:[c.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),c.jsx("div",{className:"text-foreground font-semibold",children:Br(F.size_bytes)})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[c.jsx(yI,{className:"h-3.5 w-3.5 text-primary/80"}),c.jsxs("div",{children:[c.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),c.jsx("div",{className:"text-foreground font-semibold",children:vw(F.ctx)})]})]})]}),Pe&&c.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[c.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),c.jsxs("span",{children:["Upgrade verfügbar: ",Pe.repo.split("/").pop()]})]}),c.jsxs("button",{onClick:()=>de(Pe.repo,F.role,F.quant||"Q4_K_M",F.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[c.jsx(no,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[c.jsx("button",{onClick:()=>he?te(F.name):Oe(F.name),disabled:F.incomplete&&!he,className:fe("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",F.incomplete&&!he?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":he?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:he?"Entladen":"Laden"}),c.jsx("button",{onClick:()=>Xe(F.name,F.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),c.jsxs("button",{onClick:()=>U(F),className:fe("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",F.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":F.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[c.jsx(ls,{className:"h-3 w-3"})," Spec"]}),c.jsx("button",{onClick:()=>Z(F.name),className:"h-7 w-7 rounded-lg border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 flex items-center justify-center transition-colors cursor-pointer",title:"Modell löschen",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]})]},F.name)})}):c.jsx("div",{className:"space-y-2",children:V.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):V.map(F=>{const he=j.includes(F.name),Pe=bw(F.name);return c.jsxs("div",{className:fe("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",he?"border-primary/45":F.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[c.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[c.jsx("div",{className:fe("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Pe.color),title:Pe.name,children:Pe.initial}),c.jsxs("div",{className:"min-w-0 text-left",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:F.name,children:F.name.split("/").pop()}),F.role&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[8px] font-mono text-primary font-bold uppercase shrink-0",children:F.role}),F.prompt_cache&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),F.spec_active?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${F.spec_draft_model})`,children:"SPEC"}):F.spec_draft_model?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${F.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null,F.parallel_slots>1&&c.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${F.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",F.parallel_slots]}),F.incomplete&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),he&&c.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[c.jsxs("span",{children:["Größe: ",Br(F.size_bytes)]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Kontext: ",vw(F.ctx)]}),c.jsx("span",{children:"•"}),c.jsx("span",{className:"font-mono text-[9px]",children:F.quant||"GGUF"})]})]})]}),c.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[c.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:c.jsx(SN,{caps:F.capabilities})}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("button",{onClick:()=>he?te(F.name):Oe(F.name),disabled:F.incomplete&&!he,className:fe("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",F.incomplete&&!he?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":he?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:he?"Entladen":"Laden"}),c.jsx("button",{onClick:()=>Xe(F.name,F.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),c.jsxs("button",{onClick:()=>U(F),className:fe("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",F.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":F.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[c.jsx(ls,{className:"h-3 w-3"})," Spec"]}),c.jsx("button",{onClick:()=>Z(F.name),className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all cursor-pointer",title:"Modell löschen",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]})]},F.name)})})]}),O&&(()=>{var Ve,qt;const F=_&&_.role===O?_:null,he={};F==null||F.models.forEach(Ze=>{he[Ze.name]=Ze});const Pe=F?F.models.map(Ze=>b.find(gt=>gt.name===Ze.name)).filter(Boolean):b,ze=Ze=>{_e(O,Ze),C(null)};return c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:["Rolle '",O,"' konfigurieren"]}),c.jsx("button",{onClick:()=>C(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für die Rolle ",c.jsx("strong",{className:"text-foreground",children:O}),":"]}),(F==null?void 0:F.recommended)&&c.jsxs("button",{onClick:()=>ze(F.recommended),title:(Ve=he[F.recommended])==null?void 0:Ve.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[c.jsx(ls,{className:"h-3 w-3"})," Auto: ",(qt=F.recommended.split("/").pop())==null?void 0:qt.replace(/\.gguf$/i,"")]})]}),c.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[c.jsx("button",{onClick:()=>ze(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:c.jsx("span",{children:"Zuweisung entfernen"})}),Pe.map(Ze=>{var ll;const gt=he[Ze.name],va=Ze.role===O,sl=!!(gt!=null&>.recommended),fc=!!gt&&!gt.suitable;return c.jsxs("button",{onClick:()=>ze(Ze.name),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",sl?"border-primary/50 bg-primary/10":va?"text-primary font-bold bg-primary/5 border-primary/30":fc?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[c.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[c.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(ll=Ze.name.split("/").pop())==null?void 0:ll.replace(/\.gguf$/i,""),sl&&c.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:gt?`${gt.params_b}B · ${Ze.quant} · ${gt.reason}`:`${Br(Ze.size_bytes)} · ${Ze.quant}`})]}),va&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},Ze.name)})]})]})})})(),I&&c.jsx(tY,{model:I,onClose:()=>U(null),onChanged:S}),B&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(Ps,{className:"h-4 w-4"})," Agent-Hirn wechseln"]}),c.jsx("button",{onClick:()=>K(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Wähle ein ",c.jsx("strong",{className:"text-foreground",children:"installiertes"})," Modell als Agent-Hirn. Es bekommt den",c.jsx("code",{className:"text-primary",children:" hermes"}),'-Alias, wird warm gehalten (brains-Gruppe), und Hermes nutzt es nach einem kurzen Gateway-Restart. Neues Modell (z.B. Hermes-4.3 oder Gemma-4)? Erst über „Modelle finden" laden.']}),c.jsx("div",{className:"space-y-1.5 max-h-72 overflow-y-auto pr-1",children:b.map(F=>{var Pe;const he=F.role==="hermes";return c.jsxs("button",{onClick:()=>!he&&jr(F.name),disabled:he||F.incomplete,className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",he?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":F.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[c.jsxs("div",{className:"flex flex-col min-w-0",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(Pe=F.name.split("/").pop())==null?void 0:Pe.replace(/\.gguf$/i,"")}),c.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[F.capabilities.params_b?`${F.capabilities.params_b}B`:"?"," · ",Br(F.size_bytes),F.role&&` · Rolle: ${F.role}`,F.capabilities.tools!=="no"?" · Tools ✓":" · ohne Tools"]})]}),he?c.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[c.jsx(Wr,{className:"h-3.5 w-3.5"})," Aktiv"]}):c.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Als Hirn setzen →"})]},F.name)})}),c.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[c.jsx("span",{children:"💡"}),c.jsxs("span",{children:["Für einen ",c.jsx("strong",{children:"Agenten"})," sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl als allgemeine Modelle."]})]})]})}),x]})}function nY(){const[e,t]=v.useState(""),[r,n]=v.useState([]),[a,o]=v.useState("Q4_K_M"),[u,l]=v.useState(""),[f,h]=v.useState(""),[p,g]=v.useState(""),[x,b]=v.useState([]),[j,k]=v.useState(null),[S,N]=v.useState(!1),P=["fast","heavy","coder","vision","scout"],{data:O}=go(),C=f?O==null?void 0:O.models.find($=>($.role||"").toLowerCase()===f):void 0;async function _($,ue,J){if(N(!1),!$.trim()){k(null);return}try{const ge=await Me(`/api/fit?params_b=0&quant=${encodeURIComponent(ue)}&ctx=8192&name=${encodeURIComponent($)}&role=${encodeURIComponent(J)}`);k(ge)}catch{k(null)}}async function A($){const ue=$??e;if(ue.trim()){l("Analysiere HuggingFace Repository..."),k(null);try{const J=await Me(`/api/hf/quants?repo=${encodeURIComponent(ue)}`);t(J.repo),n(J.quants);const ge=J.quants.length?J.quants.includes("Q4_K_M")?"Q4_K_M":J.quants[0]:a;J.quants.length&&o(ge),l(J.quants.length?"":"Keine GGUF-Dateien in diesem Repository gefunden."),J.quants.length&&_(J.repo,ge,f)}catch(J){l(`Fehler: ${J}`)}}}function I($){o($),_(e,$,f)}function U($){h($),r.length&&_(e,a,$)}async function B(){if(p.trim()){l("Durchsuche HuggingFace...");try{const $=await Me(`/api/hf/search?q=${encodeURIComponent(p)}`);b($.results),l($.results.length?"":"Keine Ergebnisse gefunden.")}catch($){l(`Suche fehlgeschlagen: ${$}`)}}}async function K(){if(e.trim()){if((j==null?void 0:j.fit.level)==="too_tight"&&!S){N(!0);return}l("Download-Job wird initiiert...");try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:e,quant:a,role:f||void 0,jinja:!0})}),N(!1),l(`Download gestartet: ${e} (${a})${f?`, Rolle: ${f}`:""}. Fortschritt oben.`+(C?` „${f}" wurde von ${C.name} übernommen.`:"")+(f==="fast"||f==="coder"?" Speculative Draft (Vocab-geprüft) kannst du nach dem Download an der Modellkarte (»Spec«) setzen.":""))}catch($){l(`Download-Fehler: ${$}`)}}}const X=(j==null?void 0:j.fit.level)==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":(j==null?void 0:j.fit.level)==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return c.jsxs("div",{className:"space-y-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"HF Download & Suche"}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[c.jsx("input",{value:e,onChange:$=>{t($.target.value),k(null),N(!1)},placeholder:"HF-URL oder org/repo (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx("button",{onClick:()=>A(),className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Quants laden"}),r.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("select",{value:a,onChange:$=>I($.target.value),className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:r.map($=>c.jsx("option",{value:$,className:"bg-popover text-foreground",children:$},$))}),c.jsxs("select",{value:f,onChange:$=>U($.target.value),title:"Rolle (optional) — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:[c.jsx("option",{value:"",className:"bg-popover text-foreground",children:"Rolle…"}),P.map($=>c.jsx("option",{value:$,className:"bg-popover text-foreground",children:$},$))]}),c.jsx("button",{onClick:K,className:`h-9 px-4 rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5 ${S?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"}`,children:S?c.jsxs(c.Fragment,{children:[c.jsx(Cs,{className:"h-3.5 w-3.5"})," OOM-Risiko — trotzdem laden"]}):c.jsxs(c.Fragment,{children:[c.jsx(no,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]})]})]}),j&&c.jsxs("div",{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium ${X}`,children:[c.jsx("span",{className:"font-bold uppercase tracking-wide",children:j.fit.text}),c.jsxs("span",{className:"font-mono opacity-90",children:["~",j.params_b,"B · ~",j.fit.req_gb," GB / ",j.sys_ram_gb," GB RAM · ~",j.fit.tps," t/s"]}),j.fit.level!=="too_tight"&&c.jsxs("span",{className:"font-mono opacity-80",title:`Setup-bewusst: GTT ${j.budget.gtt_gb} GB − reserviert ${j.budget.reserved_gb} GB (${j.budget.mode}) → ${j.budget.budget_gb} GB frei`,children:["ctx → ",(j.assigned_ctx/1024).toFixed(0),"k"]}),j.fit.level==="too_tight"&&c.jsx("span",{className:"opacity-90",children:"— passt nicht in den Speicher, würde beim Laden abstürzen (OOM)."})]}),C&&c.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] font-medium text-amber-400",children:[c.jsx(Cs,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),c.jsxs("span",{children:["Rolle ",c.jsxs("strong",{children:["„",f,'"']})," ist aktuell ",c.jsx("strong",{children:C.name})," zugewiesen. Beim Download übernimmt das neue Modell diese Rolle — ",C.name," bleibt installiert, verliert sie aber."]})]}),c.jsxs("div",{className:"flex gap-2 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"relative flex-1",children:[c.jsx("input",{value:p,onChange:$=>g($.target.value),onKeyDown:$=>$.key==="Enter"&&B(),placeholder:"HuggingFace durchsuchen (z.B. Llama-3.1)...",className:"w-full h-9 pl-9 pr-3 rounded-lg border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsx(uy,{className:"absolute left-3 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),c.jsx("button",{onClick:B,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer",children:"Suchen"})]}),x.length>0&&c.jsx("div",{className:"max-h-48 space-y-1.5 overflow-y-auto border border-border/40 bg-background/20 p-2 rounded-xl scrollbar-thin",children:x.map($=>c.jsxs("button",{onClick:()=>{t($.repo),b([]),g(""),A($.repo)},className:"flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-xs bg-background/10 border border-border/10 hover:border-primary/30 hover:bg-background/30 transition-all",children:[c.jsx("span",{className:"font-semibold truncate",children:$.repo}),c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex items-center gap-1 shrink-0",children:[c.jsx(no,{className:"h-3 w-3"})," ",$.downloads.toLocaleString()]})]},$.repo))}),u&&c.jsx("div",{className:"text-[10px] font-medium text-primary font-mono",children:u})]})}const iY={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ls},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:yu},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Vg},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:Qg},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:qg}};function aY(){const{data:e,isLoading:t,error:r}=U3(),{data:n}=go(),{data:a}=gy(),o=(n==null?void 0:n.models)??[],u=r?String(r):"",[l,f]=v.useState({}),[h,p]=v.useState({}),[g,x]=v.useState(!1);async function b(j,k,S,N){f(P=>({...P,[j]:"Starte..."}));try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:j,role:k,quant:S,jinja:N})}),f(P=>({...P,[j]:"Download läuft"}))}catch{f(O=>({...O,[j]:"Fehler"}))}}return t?c.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):u||!e?c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",u,")."]}):c.jsxs("div",{className:"space-y-8",children:[c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[c.jsxs("div",{children:["Modell-Registry geladen für ",c.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(a2,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),c.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),c.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(j=>{const k=iY[j.role]||{title:j.title||j.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:bu},S=k.icon,N=o.find(I=>I.role===j.role),P=a==null?void 0:a.model_list.find(I=>I.role===j.role),O=j.models.find(I=>I.repo===j.recommended)||j.models[0];if(!O)return null;const C=l[O.repo],_=j.models.filter(I=>I.repo!==j.recommended),A=!!h[j.role];return c.jsxs("div",{className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",N?"border-border/60":"border-primary/20 shadow-primary/5"),children:[c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:c.jsx(S,{className:"h-5.5 w-5.5"})}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:k.title}),c.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",j.role]})]})]}),N?c.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):c.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:k.desc}),c.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:N?c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:N.name,children:N.name.split("/").pop()}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[c.jsxs("span",{children:["Größe: ",iv(N.size_bytes||0)]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Quant: ",N.quant||"GGUF"]})]})]}):c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:O.name,children:O.name}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[c.jsxs("span",{children:["Ersteller: ",O.author]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Quant: ",O.quant]})]}),c.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:c.jsx(S4,{fit:O.fit})})]})}),c.jsx("div",{className:"pt-1",children:N?P?c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),c.jsxs("span",{children:["Bessere Version in der Registry: ",P.repo.split("/").pop()]})]}),c.jsxs("button",{onClick:()=>b(P.repo,j.role,O.quant||"Q4_K_M",O.caps.tools!=="no"),disabled:!!l[P.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[c.jsx(no,{className:"h-3.5 w-3.5"}),l[P.repo]||"Auf neue Version aktualisieren"]})]}):c.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[c.jsx(Wr,{className:"h-4 w-4"})," Auf neuestem Stand"]}):c.jsxs("button",{onClick:()=>b(O.repo,j.role,O.quant||"Q4_K_M",O.caps.tools!=="no"),disabled:!!C,className:fe("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",C?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[c.jsx(no,{className:"h-3.5 w-3.5"}),C||"Optimales Modell einsetzen"]})})]}),_.length>0&&c.jsxs("div",{className:"border-t border-border/20 pt-3",children:[c.jsxs("button",{onClick:()=>p(I=>({...I,[j.role]:!A})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[A?c.jsx(iI,{className:"h-3 w-3"}):c.jsx(rI,{className:"h-3 w-3"}),c.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),A&&c.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(I=>c.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:I.name,children:I.name}),c.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[c.jsxs("span",{children:["Quant: ",I.quant]}),c.jsx("span",{children:"•"}),c.jsx("span",{children:I.fit.text})]})]}),c.jsx("button",{onClick:()=>b(I.repo,j.role,I.quant||"Q4_K_M",I.caps.tools!=="no"),disabled:!!l[I.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:l[I.repo]||"Installieren"})]},I.repo))})]})]},j.role)})}),c.jsxs("div",{className:"border border-border/50 bg-card/20 rounded-2xl overflow-hidden shadow-md mt-4",children:[c.jsxs("button",{onClick:()=>x(!g),className:"w-full px-5 py-4 flex items-center justify-between text-xs font-bold uppercase tracking-wider text-muted-foreground hover:bg-card/30 transition-colors cursor-pointer",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(uy,{className:"h-4 w-4 text-primary"}),c.jsx("span",{children:"Eigenes Modell von Hugging Face laden (Erweiterte Ansicht)"})]}),c.jsx("span",{className:"text-[10px] text-primary hover:underline",children:g?"Ausblenden ▲":"Anzeigen ▼"})]}),g&&c.jsx("div",{className:"p-5 border-t border-border/20 bg-card/10",children:c.jsx(nY,{})})]})]})}function oY(){const[e,t]=v.useState("cockpit");return c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),c.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>c.jsx("button",{onClick:()=>t(r),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Cockpit":"Modelle finden"},r))})]}),c.jsx(eY,{}),c.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?c.jsx(rY,{}):c.jsx(aY,{})})]})}function sY(){const[e,t]=v.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=v.useState(localStorage.getItem("mc_mcp_path")||""),[a,o]=v.useState("cline"),[u,l]=v.useState(!1),f=new URLSearchParams({host:e});r&&f.set("mcp_path",r);const{data:h,error:p}=F2(f.toString()),g=p?String(p):"";function x(S){t(S),S&&localStorage.setItem("mc_host",S)}function b(S){n(S),localStorage.setItem("mc_mcp_path",S)}const j=h==null?void 0:h.tools[a];async function k(){j&&(await navigator.clipboard.writeText(j.snippet),l(!0),setTimeout(()=>l(!1),1500))}return c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Kopiere vorgefertigte Konfigurationsdateien für deinen lokalen PC (IDEs, Cline, Roo Code, Cursor), um direkt auf das geteilte Gedächtnis und den Auto-Swap-Gateway der Box zuzugreifen."})]}),c.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[c.jsx(cI,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),c.jsx("input",{value:e,onChange:S=>x(S.target.value),placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[c.jsx(uI,{className:"h-3.5 w-3.5 text-primary"})," Lokaler MCP-Scriptpfad"]}),c.jsx("input",{value:r,onChange:S=>b(S.target.value),placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]})]}),g&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",g]}),h&&c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"flex flex-wrap gap-1 bg-card/20 p-1 border border-border/40 rounded-xl max-w-fit",children:Object.entries(h.tools).map(([S,N])=>c.jsx("button",{onClick:()=>o(S),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",a===S?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:N.label},S))}),j&&c.jsxs("div",{className:"space-y-3",children:[j.note&&c.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-xs text-muted-foreground leading-relaxed",children:[c.jsx(dI,{className:"h-4.5 w-4.5 text-primary shrink-0 mt-0.5"}),c.jsx("span",{children:j.note})]}),c.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[c.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80 shadow-md shadow-red-500/10"}),c.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80 shadow-md shadow-amber-500/10"}),c.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80 shadow-md shadow-emerald-500/10"})]}),c.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:[c.jsx(ju,{className:"h-3.5 w-3.5 text-primary"}),c.jsx("span",{children:a==="cline"||a==="cursor"?"config.json":"settings.json"})]}),c.jsxs("button",{onClick:k,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[u?c.jsx(Wr,{className:"h-3.5 w-3.5 text-emerald-400"}):c.jsx(of,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:u?"Kopiert":"Kopieren"})]})]}),c.jsx("pre",{className:"p-5 overflow-x-auto text-xs font-mono text-cyan-200/90 whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",children:c.jsx("code",{children:j.snippet})})]})]})]})]})}const lY="modulepreload",uY=function(e){return"/"+e},NN={},cY=function(t,r,n){let a=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(p=>Promise.resolve(p).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),f=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));a=u(r.map(h=>{if(h=uY(h),h in NN)return;NN[h]=!0;const p=h.endsWith(".css"),g=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const x=document.createElement("link");if(x.rel=p?"stylesheet":lY,p||(x.as="script"),x.crossOrigin="",x.href=h,f&&x.setAttribute("nonce",f),document.head.appendChild(x),p)return new Promise((b,j)=>{x.addEventListener("load",b),x.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(u){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=u,window.dispatchEvent(l),!l.defaultPrevented)throw u}return a.then(u=>{for(const l of u||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};class dY extends v.Component{constructor(){super(...arguments);Kl(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?c.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[c.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),c.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const fY=v.lazy(()=>cY(()=>import("./GraphView-Ci3mD3kA.js"),[]).then(e=>({default:e.GraphView}))),EN=["user","instruction","stable","versioned","ephemeral"],PN=new Set(["auto","agent","hermes"]),_g={user:{label:"User",icon:PI,bg:"bg-cyan-500/10",text:"text-cyan-400"},instruction:{label:"Regel",icon:jI,bg:"bg-violet-500/10",text:"text-violet-400"},stable:{label:"Fakt",icon:wu,bg:"bg-indigo-500/10",text:"text-indigo-400"},versioned:{label:"Version",icon:EI,bg:"bg-amber-500/10",text:"text-amber-400"},ephemeral:{label:"Temporär",icon:oI,bg:"bg-pink-500/10",text:"text-pink-400"}},CN={label:"Gedächtnis",icon:t2,bg:"bg-muted/10",text:"text-muted-foreground"},hY={user:"border-l-cyan-500/80",instruction:"border-l-violet-500/80",stable:"border-l-indigo-500/80",versioned:"border-l-amber-500/80",ephemeral:"border-l-pink-500/80"},AN=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: + `}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Bm,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",Br(Bn)," Gewichte",wo>0?` · ${Br(wo)} real belegt (inkl. KV)`:""," / ",Br(rl)]}),j.length>0&&c.jsx("button",{onClick:ke,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),c.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:ma.length===0?c.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):ma.map((F,he)=>{var Ve;const Pe=(F.size_bytes||0)/rl*100,ze=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][he%4];return c.jsxs("div",{style:{width:`${Pe}%`},className:fe("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",ze),title:`${F.name} (${Br(F.size_bytes)})`,children:[c.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[F.role?`[${F.role}] `:"",(Ve=F.name.split("/").pop())==null?void 0:Ve.replace(".gguf","")]}),c.jsx("span",{className:"text-[8px] font-mono opacity-80",children:Br(F.size_bytes)})]},F.name)})})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Gateway Graph"}),c.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Klicke links auf Editoren, um Configs zu kopieren. Klicke rechts auf Rollen, um GGUF-Zuweisungen live zu ändern."})]}),c.jsxs("div",{ref:ee,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[c.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),c.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),c.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),c.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),c.jsx("path",{d:ce(.1),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="roocode"||N==="roocode")&&c.jsx("path",{d:ce(.1),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="cursor"||N==="cursor")&&c.jsx("path",{d:ce(.3),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="opencode"||N==="opencode")&&c.jsx("path",{d:ce(.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="zed"||N==="zed")&&c.jsx("path",{d:ce(.7),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:ce(.9),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ue==="continue"||N==="continue")&&c.jsx("path",{d:ce(.9),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.12),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("fast")&&c.jsx("path",{d:me(.12),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.31),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("heavy")&&c.jsx("path",{d:me(.31),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("coder")&&c.jsx("path",{d:me(.5),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.69),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("vision")&&c.jsx("path",{d:me(.69),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:me(.88),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),wi("scout")&&c.jsx("path",{d:me(.88),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"10%"},onMouseEnter:()=>J("roocode"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="roocode"?null:"roocode"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Roo Code"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"30%"},onMouseEnter:()=>J("cursor"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="cursor"?null:"cursor"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Cursor IDE"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"50%"},onMouseEnter:()=>J("opencode"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="opencode"?null:"opencode"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"OpenCode"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"70%"},onMouseEnter:()=>J("zed"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="zed"?null:"zed"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Zed"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"90%"},onMouseEnter:()=>J("continue"),onMouseLeave:()=>J(null),onClick:()=>P(F=>F==="continue"?null:"continue"),children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),c.jsx("span",{children:"Continue"})]}),c.jsxs("div",{className:"absolute select-none z-10 w-36 py-3 px-4 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5",style:{left:"50%",top:"50%"},children:[c.jsx("div",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Gateway Auto"}),c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground mt-0.5",children:["Schwelle: > ",a!=null&&a.heavy_threshold_chars?a.heavy_threshold_chars/1e3:"4","k Zeichen"]}),c.jsx("div",{className:"mt-1 px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-semibold text-primary uppercase font-mono",children:"Auto-Swap"})]}),V2.map(F=>{var qt;const he=["12%","31%","50%","69%","88%"],Pe=nl(F),ze=Pe?j.includes(Pe.name):!1;if(F==="agent")return null;const Ve={fast:0,heavy:1,coder:2,vision:3,scout:4}[F];return c.jsxs("div",{className:fe("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",ze?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":Pe?"border-border/60 bg-card/75":"border-dashed border-border/40 bg-background/20"),style:{left:"90%",top:he[Ve]},onClick:()=>oe(F),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:F}),ze&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground max-w-[150px]",children:Pe?(qt=Pe.name.split("/").pop())==null?void 0:qt.replace(".gguf",""):"Keine Zuweisung"})]},F)}),N&&o&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200 flex flex-col justify-between",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("span",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:[N==="roocode"&&"Roo Code Setup",N==="cursor"&&"Cursor Setup",N==="opencode"&&"OpenCode Setup",N==="zed"&&"Zed Setup",N==="continue"&&"Continue Setup"]}),c.jsx("button",{onClick:()=>P(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed space-y-2",children:[N==="roocode"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Suche in VS Code nach der Erweiterung ",c.jsx("strong",{children:"Roo Code"})," und installiere sie."]}),c.jsxs("li",{children:["Wähle in den Roo Code Einstellungen: Provider: ",c.jsx("strong",{children:"OpenAI Compatible"}),"."]}),c.jsxs("li",{children:["Füge das untenstehende JSON-Snippet in die ",c.jsx("code",{children:"settings.json"})," ein."]})]}),N==="cursor"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne Cursor Settings ➔ ",c.jsx("strong",{children:"Models"}),"."]}),c.jsxs("li",{children:["Deaktiviere Cloud-Modelle, klappe ",c.jsx("strong",{children:"OpenAI API"})," auf."]}),c.jsxs("li",{children:["Trage die Base URL unten ein und aktiviere das Modell ",c.jsx("strong",{children:"auto"}),"."]})]}),N==="opencode"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne die ",c.jsx("code",{children:"opencode.jsonc"})," Konfigurationsdatei."]}),c.jsxs("li",{children:["Ersetze den Provider-Eintrag unter ",c.jsx("code",{children:"provider"})," mit dem Snippet unten."]})]}),N==="zed"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsxs("li",{children:["Öffne die Zed Settings (",c.jsx("code",{children:"ctrl+,"}),")."]}),c.jsxs("li",{children:["Füge das untenstehende JSON-Segment unter ",c.jsx("code",{children:"language_models"})," ein."]})]}),N==="continue"&&c.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[c.jsx("li",{children:"Klicke auf das Zahnrad-Symbol in der Continue-Erweiterung."}),c.jsxs("li",{children:["Füge den Gateway-Eintrag zum ",c.jsx("code",{children:"models"}),"-Array hinzu."]})]})]}),o.tools&&c.jsxs("div",{className:"relative rounded-xl border border-border/40 bg-black/40 overflow-hidden mt-1 shrink-0",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/20 bg-black/20",children:[c.jsx("span",{className:"text-[10px] font-mono text-muted-foreground",children:"JSON Config"}),c.jsxs("button",{onClick:()=>{var F,he,Pe,ze,Ve;return pa(N==="roocode"?(F=o.tools.cline)==null?void 0:F.snippet:N==="cursor"?(he=o.tools.cursor)==null?void 0:he.snippet:N==="opencode"?(Pe=o.tools.opencode)==null?void 0:Pe.snippet:N==="zed"?(ze=o.tools.zed)==null?void 0:ze.snippet:(Ve=o.tools.continue)==null?void 0:Ve.snippet)},className:"text-xs font-semibold text-primary hover:text-primary-foreground flex items-center gap-1 cursor-pointer",children:[X?c.jsx(Wr,{className:"h-3.5 w-3.5 text-emerald-400"}):c.jsx(of,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:X?"Kopiert":"Kopieren"})]})]}),c.jsx("pre",{className:"p-3 max-h-48 overflow-y-auto text-xs font-mono text-cyan-200/90 whitespace-pre scrollbar-thin select-text",children:c.jsxs("code",{children:[N==="roocode"&&((ji=o.tools.cline)==null?void 0:ji.snippet),N==="cursor"&&((ki=o.tools.cursor)==null?void 0:ki.snippet),N==="opencode"&&((dc=o.tools.opencode)==null?void 0:dc.snippet),N==="zed"&&((al=o.tools.zed)==null?void 0:al.snippet),N==="continue"&&((ol=o.tools.continue)==null?void 0:ol.snippet)]})})]}),c.jsx("button",{onClick:()=>P(null),className:"w-full h-9 rounded-lg bg-primary text-primary-foreground hover:opacity-90 font-semibold text-xs transition-opacity cursor-pointer mt-2",children:"Schließen"})]})})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),c.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Gateway"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),c.jsx("span",{children:"Grüner Puls: Aktive Verbindung / Warmes Modell geladen"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded bg-gradient-to-r from-teal-500 to-emerald-500"}),c.jsx("span",{children:"VRAM-Verlauf: Modellspezifischer Speicheranteil"})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:"Gateway Steckplatz-Belegung (Slot-Zuweisung)"}),c.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:["fast","heavy","coder","vision","scout"].map(F=>{var ze;const he=b.find(Ve=>Ve.role===F),Pe=he?j.includes(he.name):!1;return c.jsxs("div",{onClick:()=>oe(F),className:fe("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",Pe?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":he?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:fe("text-[9px] font-bold uppercase tracking-wider font-mono px-1.5 py-0.5 rounded border",yy(F)),children:F}),Pe&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:he==null?void 0:he.name,children:he?(ze=he.name.split("/").pop())==null?void 0:ze.replace(/\.gguf$/i,""):"nicht zugewiesen"}),c.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},F)})})]}),(l==null?void 0:l.current)&&c.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[c.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Ps,{className:"h-4.5 w-4.5 text-indigo-400"}),c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),l.current.version!=null&&c.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",l.current.version]})]}),c.jsx("button",{onClick:()=>K(!0),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",children:"Hirn wechseln"})]}),c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:l.current.name,children:l.current.name.split("/").pop()}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[c.jsx("span",{children:l.current.params_b?`${l.current.params_b}B`:"—"}),c.jsx("span",{children:"•"}),c.jsx("span",{children:l.current.quant||"GGUF"}),c.jsx("span",{children:"•"}),c.jsx("span",{children:Br(l.current.size_bytes||0)})]})]}),l.update_available&&l.recommended?c.jsxs("button",{onClick:()=>tt(l.recommended.repo),className:fe("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",l.budget&&!l.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[c.jsx(no,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):c.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[c.jsx(Wr,{className:"h-4 w-4"})," Neueste Generation"]})]}),l.update_available&&l.recommended&&c.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",c.jsx("span",{className:"font-mono font-bold",children:l.recommended.name.replace(/-GGUF$/i,"")}),"(v",l.recommended.version,", ",l.recommended.params_b,"B) — von NousResearch."]}),l.budget&&c.jsxs("div",{className:fe("text-[10px] flex items-start gap-1.5 leading-relaxed",l.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[c.jsx(Bm,{className:"h-3 w-3 shrink-0 mt-0.5"}),c.jsxs("span",{children:["Always-On-Brain ~",l.budget.brain_gb," GB + größtes on-demand (~",l.budget.largest_ondemand_gb," GB) = ",(l.budget.brain_gb+l.budget.largest_ondemand_gb).toFixed(1)," / ",l.budget.gtt_gb," GB",l.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[c.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",V.length," von ",b.length,")"]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[c.jsx("button",{onClick:()=>Y("all"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),c.jsx("button",{onClick:()=>Y("in_use"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",pe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),c.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[c.jsx("button",{onClick:()=>we("grid"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),c.jsx("button",{onClick:()=>we("list"),className:fe("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",ge==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),ge==="grid"?c.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:V.length===0?c.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):V.map(F=>{const he=j.includes(F.name),Pe=u==null?void 0:u.model_list.find(Ve=>Ve.role===F.role),ze=bw(F.name);return c.jsxs("div",{className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",he?"border-primary/45 shadow-primary/5":F.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[c.jsxs("div",{className:"space-y-3",children:[c.jsx("div",{className:"flex items-start justify-between gap-3",children:c.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[c.jsx("div",{className:fe("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",ze.color),title:ze.name,children:ze.initial}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:F.name,children:F.name.split("/").pop()}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[c.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:F.quant||"GGUF"}),he&&c.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[c.jsx(vu,{className:"h-3 w-3 animate-pulse"})," Warm"]}),F.role&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-mono text-primary font-bold uppercase",children:F.role}),F.prompt_cache&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),F.spec_active?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${F.spec_draft_model})`,children:"SPEC"}):F.spec_draft_model?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${F.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null,F.parallel_slots>1&&c.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${F.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",F.parallel_slots]}),F.incomplete&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),c.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:c.jsx(SN,{caps:F.capabilities})})]}),c.jsxs("div",{className:"space-y-3 pt-1",children:[c.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[c.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[c.jsx(Bm,{className:"h-3.5 w-3.5 text-primary/80"}),c.jsxs("div",{children:[c.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),c.jsx("div",{className:"text-foreground font-semibold",children:Br(F.size_bytes)})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[c.jsx(yI,{className:"h-3.5 w-3.5 text-primary/80"}),c.jsxs("div",{children:[c.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),c.jsx("div",{className:"text-foreground font-semibold",children:vw(F.ctx)})]})]})]}),Pe&&c.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[c.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),c.jsxs("span",{children:["Upgrade verfügbar: ",Pe.repo.split("/").pop()]})]}),c.jsxs("button",{onClick:()=>de(Pe.repo,F.role,F.quant||"Q4_K_M",F.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[c.jsx(no,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[c.jsx("button",{onClick:()=>he?te(F.name):Oe(F.name),disabled:F.incomplete&&!he,className:fe("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",F.incomplete&&!he?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":he?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:he?"Entladen":"Laden"}),c.jsx("button",{onClick:()=>Xe(F.name,F.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),c.jsxs("button",{onClick:()=>U(F),className:fe("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",F.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":F.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[c.jsx(ls,{className:"h-3 w-3"})," Spec"]}),c.jsx("button",{onClick:()=>Z(F.name),className:"h-7 w-7 rounded-lg border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 flex items-center justify-center transition-colors cursor-pointer",title:"Modell löschen",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]})]},F.name)})}):c.jsx("div",{className:"space-y-2",children:V.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:pe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):V.map(F=>{const he=j.includes(F.name),Pe=bw(F.name);return c.jsxs("div",{className:fe("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",he?"border-primary/45":F.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[c.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[c.jsx("div",{className:fe("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Pe.color),title:Pe.name,children:Pe.initial}),c.jsxs("div",{className:"min-w-0 text-left",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:F.name,children:F.name.split("/").pop()}),F.role&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[8px] font-mono text-primary font-bold uppercase shrink-0",children:F.role}),F.prompt_cache&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),F.spec_active?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${F.spec_draft_model})`,children:"SPEC"}):F.spec_draft_model?c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${F.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null,F.parallel_slots>1&&c.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${F.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",F.parallel_slots]}),F.incomplete&&c.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),he&&c.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[c.jsxs("span",{children:["Größe: ",Br(F.size_bytes)]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Kontext: ",vw(F.ctx)]}),c.jsx("span",{children:"•"}),c.jsx("span",{className:"font-mono text-[9px]",children:F.quant||"GGUF"})]})]})]}),c.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[c.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:c.jsx(SN,{caps:F.capabilities})}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("button",{onClick:()=>he?te(F.name):Oe(F.name),disabled:F.incomplete&&!he,className:fe("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",F.incomplete&&!he?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":he?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:he?"Entladen":"Laden"}),c.jsx("button",{onClick:()=>Xe(F.name,F.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),c.jsxs("button",{onClick:()=>U(F),className:fe("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",F.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":F.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[c.jsx(ls,{className:"h-3 w-3"})," Spec"]}),c.jsx("button",{onClick:()=>Z(F.name),className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all cursor-pointer",title:"Modell löschen",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]})]},F.name)})})]}),O&&(()=>{var Ve,qt;const F=_&&_.role===O?_:null,he={};F==null||F.models.forEach(Ze=>{he[Ze.name]=Ze});const Pe=F?F.models.map(Ze=>b.find(gt=>gt.name===Ze.name)).filter(Boolean):b,ze=Ze=>{_e(O,Ze),C(null)};return c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:["Rolle '",O,"' konfigurieren"]}),c.jsx("button",{onClick:()=>C(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für die Rolle ",c.jsx("strong",{className:"text-foreground",children:O}),":"]}),(F==null?void 0:F.recommended)&&c.jsxs("button",{onClick:()=>ze(F.recommended),title:(Ve=he[F.recommended])==null?void 0:Ve.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[c.jsx(ls,{className:"h-3 w-3"})," Auto: ",(qt=F.recommended.split("/").pop())==null?void 0:qt.replace(/\.gguf$/i,"")]})]}),c.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[c.jsx("button",{onClick:()=>ze(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:c.jsx("span",{children:"Zuweisung entfernen"})}),Pe.map(Ze=>{var ll;const gt=he[Ze.name],va=Ze.role===O,sl=!!(gt!=null&>.recommended),fc=!!gt&&!gt.suitable;return c.jsxs("button",{onClick:()=>ze(Ze.name),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",sl?"border-primary/50 bg-primary/10":va?"text-primary font-bold bg-primary/5 border-primary/30":fc?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[c.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[c.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(ll=Ze.name.split("/").pop())==null?void 0:ll.replace(/\.gguf$/i,""),sl&&c.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:gt?`${gt.params_b}B · ${Ze.quant} · ${gt.reason}`:`${Br(Ze.size_bytes)} · ${Ze.quant}`})]}),va&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},Ze.name)})]})]})})})(),I&&c.jsx(eY,{model:I,onClose:()=>U(null),onChanged:S}),B&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(Ps,{className:"h-4 w-4"})," Agent-Hirn wechseln"]}),c.jsx("button",{onClick:()=>K(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Wähle ein ",c.jsx("strong",{className:"text-foreground",children:"installiertes"})," Modell als Agent-Hirn. Es bekommt den",c.jsx("code",{className:"text-primary",children:" hermes"}),'-Alias, wird warm gehalten (brains-Gruppe), und Hermes nutzt es nach einem kurzen Gateway-Restart. Neues Modell (z.B. Hermes-4.3 oder Gemma-4)? Erst über „Modelle finden" laden.']}),c.jsx("div",{className:"space-y-1.5 max-h-72 overflow-y-auto pr-1",children:b.map(F=>{var Pe;const he=F.role==="hermes";return c.jsxs("button",{onClick:()=>!he&&jr(F.name),disabled:he||F.incomplete,className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",he?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":F.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[c.jsxs("div",{className:"flex flex-col min-w-0",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(Pe=F.name.split("/").pop())==null?void 0:Pe.replace(/\.gguf$/i,"")}),c.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[F.capabilities.params_b?`${F.capabilities.params_b}B`:"?"," · ",Br(F.size_bytes),F.role&&` · Rolle: ${F.role}`,F.capabilities.tools!=="no"?" · Tools ✓":" · ohne Tools"]})]}),he?c.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[c.jsx(Wr,{className:"h-3.5 w-3.5"})," Aktiv"]}):c.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Als Hirn setzen →"})]},F.name)})}),c.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[c.jsx("span",{children:"💡"}),c.jsxs("span",{children:["Für einen ",c.jsx("strong",{children:"Agenten"})," sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl als allgemeine Modelle."]})]})]})}),x]})}function rY(){const[e,t]=v.useState(""),[r,n]=v.useState([]),[a,o]=v.useState("Q4_K_M"),[u,l]=v.useState(""),[f,h]=v.useState(""),[p,g]=v.useState(""),[x,b]=v.useState([]),[j,k]=v.useState(null),[S,N]=v.useState(!1),P=["fast","heavy","coder","vision","scout"],{data:O}=go(),C=f?O==null?void 0:O.models.find($=>($.role||"").toLowerCase()===f):void 0;async function _($,ue,J){if(N(!1),!$.trim()){k(null);return}try{const ge=await Me(`/api/fit?params_b=0&quant=${encodeURIComponent(ue)}&ctx=8192&name=${encodeURIComponent($)}&role=${encodeURIComponent(J)}`);k(ge)}catch{k(null)}}async function A($){const ue=$??e;if(ue.trim()){l("Analysiere HuggingFace Repository..."),k(null);try{const J=await Me(`/api/hf/quants?repo=${encodeURIComponent(ue)}`);t(J.repo),n(J.quants);const ge=J.quants.length?J.quants.includes("Q4_K_M")?"Q4_K_M":J.quants[0]:a;J.quants.length&&o(ge),l(J.quants.length?"":"Keine GGUF-Dateien in diesem Repository gefunden."),J.quants.length&&_(J.repo,ge,f)}catch(J){l(`Fehler: ${J}`)}}}function I($){o($),_(e,$,f)}function U($){h($),r.length&&_(e,a,$)}async function B(){if(p.trim()){l("Durchsuche HuggingFace...");try{const $=await Me(`/api/hf/search?q=${encodeURIComponent(p)}`);b($.results),l($.results.length?"":"Keine Ergebnisse gefunden.")}catch($){l(`Suche fehlgeschlagen: ${$}`)}}}async function K(){if(e.trim()){if((j==null?void 0:j.fit.level)==="too_tight"&&!S){N(!0);return}l("Download-Job wird initiiert...");try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:e,quant:a,role:f||void 0,jinja:!0})}),N(!1),l(`Download gestartet: ${e} (${a})${f?`, Rolle: ${f}`:""}. Fortschritt oben.`+(C?` „${f}" wurde von ${C.name} übernommen.`:"")+(f==="fast"||f==="coder"?" Speculative Draft (Vocab-geprüft) kannst du nach dem Download an der Modellkarte (»Spec«) setzen.":""))}catch($){l(`Download-Fehler: ${$}`)}}}const X=(j==null?void 0:j.fit.level)==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":(j==null?void 0:j.fit.level)==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return c.jsxs("div",{className:"space-y-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"HF Download & Suche"}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[c.jsx("input",{value:e,onChange:$=>{t($.target.value),k(null),N(!1)},placeholder:"HF-URL oder org/repo (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx("button",{onClick:()=>A(),className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Quants laden"}),r.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("select",{value:a,onChange:$=>I($.target.value),className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:r.map($=>c.jsx("option",{value:$,className:"bg-popover text-foreground",children:$},$))}),c.jsxs("select",{value:f,onChange:$=>U($.target.value),title:"Rolle (optional) — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:[c.jsx("option",{value:"",className:"bg-popover text-foreground",children:"Rolle…"}),P.map($=>c.jsx("option",{value:$,className:"bg-popover text-foreground",children:$},$))]}),c.jsx("button",{onClick:K,className:`h-9 px-4 rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5 ${S?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"}`,children:S?c.jsxs(c.Fragment,{children:[c.jsx(Cs,{className:"h-3.5 w-3.5"})," OOM-Risiko — trotzdem laden"]}):c.jsxs(c.Fragment,{children:[c.jsx(no,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]})]})]}),j&&c.jsxs("div",{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium ${X}`,children:[c.jsx("span",{className:"font-bold uppercase tracking-wide",children:j.fit.text}),c.jsxs("span",{className:"font-mono opacity-90",children:["~",j.params_b,"B · ~",j.fit.req_gb," GB / ",j.sys_ram_gb," GB RAM · ~",j.fit.tps," t/s"]}),j.fit.level!=="too_tight"&&c.jsxs("span",{className:"font-mono opacity-80",title:`Setup-bewusst: GTT ${j.budget.gtt_gb} GB − reserviert ${j.budget.reserved_gb} GB (${j.budget.mode}) → ${j.budget.budget_gb} GB frei`,children:["ctx → ",(j.assigned_ctx/1024).toFixed(0),"k"]}),j.fit.level==="too_tight"&&c.jsx("span",{className:"opacity-90",children:"— passt nicht in den Speicher, würde beim Laden abstürzen (OOM)."})]}),C&&c.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] font-medium text-amber-400",children:[c.jsx(Cs,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),c.jsxs("span",{children:["Rolle ",c.jsxs("strong",{children:["„",f,'"']})," ist aktuell ",c.jsx("strong",{children:C.name})," zugewiesen. Beim Download übernimmt das neue Modell diese Rolle — ",C.name," bleibt installiert, verliert sie aber."]})]}),c.jsxs("div",{className:"flex gap-2 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"relative flex-1",children:[c.jsx("input",{value:p,onChange:$=>g($.target.value),onKeyDown:$=>$.key==="Enter"&&B(),placeholder:"HuggingFace durchsuchen (z.B. Llama-3.1)...",className:"w-full h-9 pl-9 pr-3 rounded-lg border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsx(uy,{className:"absolute left-3 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),c.jsx("button",{onClick:B,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer",children:"Suchen"})]}),x.length>0&&c.jsx("div",{className:"max-h-48 space-y-1.5 overflow-y-auto border border-border/40 bg-background/20 p-2 rounded-xl scrollbar-thin",children:x.map($=>c.jsxs("button",{onClick:()=>{t($.repo),b([]),g(""),A($.repo)},className:"flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-xs bg-background/10 border border-border/10 hover:border-primary/30 hover:bg-background/30 transition-all",children:[c.jsx("span",{className:"font-semibold truncate",children:$.repo}),c.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex items-center gap-1 shrink-0",children:[c.jsx(no,{className:"h-3 w-3"})," ",$.downloads.toLocaleString()]})]},$.repo))}),u&&c.jsx("div",{className:"text-[10px] font-medium text-primary font-mono",children:u})]})}const nY={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:ls},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:yu},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:Vg},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:Qg},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:qg}};function iY(){const{data:e,isLoading:t,error:r}=B3(),{data:n}=go(),{data:a}=gy(),o=(n==null?void 0:n.models)??[],u=r?String(r):"",[l,f]=v.useState({}),[h,p]=v.useState({}),[g,x]=v.useState(!1);async function b(j,k,S,N){f(P=>({...P,[j]:"Starte..."}));try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:j,role:k,quant:S,jinja:N})}),f(P=>({...P,[j]:"Download läuft"}))}catch{f(O=>({...O,[j]:"Fehler"}))}}return t?c.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):u||!e?c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",u,")."]}):c.jsxs("div",{className:"space-y-8",children:[c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[c.jsxs("div",{children:["Modell-Registry geladen für ",c.jsxs("span",{className:"text-foreground font-bold",children:[e.sys_ram_gb," GB"]})," System-RAM."]}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(a2,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),c.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),c.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:e.categories.map(j=>{const k=nY[j.role]||{title:j.title||j.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:bu},S=k.icon,N=o.find(I=>I.role===j.role),P=a==null?void 0:a.model_list.find(I=>I.role===j.role),O=j.models.find(I=>I.repo===j.recommended)||j.models[0];if(!O)return null;const C=l[O.repo],_=j.models.filter(I=>I.repo!==j.recommended),A=!!h[j.role];return c.jsxs("div",{className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",N?"border-border/60":"border-primary/20 shadow-primary/5"),children:[c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:c.jsx(S,{className:"h-5.5 w-5.5"})}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:k.title}),c.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",j.role]})]})]}),N?c.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):c.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:k.desc}),c.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:N?c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:N.name,children:N.name.split("/").pop()}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[c.jsxs("span",{children:["Größe: ",iv(N.size_bytes||0)]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Quant: ",N.quant||"GGUF"]})]})]}):c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),c.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:O.name,children:O.name}),c.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[c.jsxs("span",{children:["Ersteller: ",O.author]}),c.jsx("span",{children:"•"}),c.jsxs("span",{children:["Quant: ",O.quant]})]}),c.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:c.jsx(k4,{fit:O.fit})})]})}),c.jsx("div",{className:"pt-1",children:N?P?c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),c.jsxs("span",{children:["Bessere Version in der Registry: ",P.repo.split("/").pop()]})]}),c.jsxs("button",{onClick:()=>b(P.repo,j.role,O.quant||"Q4_K_M",O.caps.tools!=="no"),disabled:!!l[P.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[c.jsx(no,{className:"h-3.5 w-3.5"}),l[P.repo]||"Auf neue Version aktualisieren"]})]}):c.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[c.jsx(Wr,{className:"h-4 w-4"})," Auf neuestem Stand"]}):c.jsxs("button",{onClick:()=>b(O.repo,j.role,O.quant||"Q4_K_M",O.caps.tools!=="no"),disabled:!!C,className:fe("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",C?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[c.jsx(no,{className:"h-3.5 w-3.5"}),C||"Optimales Modell einsetzen"]})})]}),_.length>0&&c.jsxs("div",{className:"border-t border-border/20 pt-3",children:[c.jsxs("button",{onClick:()=>p(I=>({...I,[j.role]:!A})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[A?c.jsx(iI,{className:"h-3 w-3"}):c.jsx(rI,{className:"h-3 w-3"}),c.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",_.length,")"]})]}),A&&c.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:_.map(I=>c.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:I.name,children:I.name}),c.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[c.jsxs("span",{children:["Quant: ",I.quant]}),c.jsx("span",{children:"•"}),c.jsx("span",{children:I.fit.text})]})]}),c.jsx("button",{onClick:()=>b(I.repo,j.role,I.quant||"Q4_K_M",I.caps.tools!=="no"),disabled:!!l[I.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:l[I.repo]||"Installieren"})]},I.repo))})]})]},j.role)})}),c.jsxs("div",{className:"border border-border/50 bg-card/20 rounded-2xl overflow-hidden shadow-md mt-4",children:[c.jsxs("button",{onClick:()=>x(!g),className:"w-full px-5 py-4 flex items-center justify-between text-xs font-bold uppercase tracking-wider text-muted-foreground hover:bg-card/30 transition-colors cursor-pointer",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(uy,{className:"h-4 w-4 text-primary"}),c.jsx("span",{children:"Eigenes Modell von Hugging Face laden (Erweiterte Ansicht)"})]}),c.jsx("span",{className:"text-[10px] text-primary hover:underline",children:g?"Ausblenden ▲":"Anzeigen ▼"})]}),g&&c.jsx("div",{className:"p-5 border-t border-border/20 bg-card/10",children:c.jsx(rY,{})})]})]})}function aY(){const[e,t]=v.useState("cockpit");return c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),c.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(r=>c.jsx("button",{onClick:()=>t(r),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",e===r?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:r==="cockpit"?"Cockpit":"Modelle finden"},r))})]}),c.jsx(JQ,{}),c.jsx("div",{className:"transition-all duration-300",children:e==="cockpit"?c.jsx(tY,{}):c.jsx(iY,{})})]})}function oY(){const[e,t]=v.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[r,n]=v.useState(localStorage.getItem("mc_mcp_path")||""),[a,o]=v.useState("cline"),[u,l]=v.useState(!1),f=new URLSearchParams({host:e});r&&f.set("mcp_path",r);const{data:h,error:p}=F2(f.toString()),g=p?String(p):"";function x(S){t(S),S&&localStorage.setItem("mc_host",S)}function b(S){n(S),localStorage.setItem("mc_mcp_path",S)}const j=h==null?void 0:h.tools[a];async function k(){j&&(await navigator.clipboard.writeText(j.snippet),l(!0),setTimeout(()=>l(!1),1500))}return c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Kopiere vorgefertigte Konfigurationsdateien für deinen lokalen PC (IDEs, Cline, Roo Code, Cursor), um direkt auf das geteilte Gedächtnis und den Auto-Swap-Gateway der Box zuzugreifen."})]}),c.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[c.jsx(cI,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),c.jsx("input",{value:e,onChange:S=>x(S.target.value),placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[c.jsx(uI,{className:"h-3.5 w-3.5 text-primary"})," Lokaler MCP-Scriptpfad"]}),c.jsx("input",{value:r,onChange:S=>b(S.target.value),placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]})]}),g&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",g]}),h&&c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"flex flex-wrap gap-1 bg-card/20 p-1 border border-border/40 rounded-xl max-w-fit",children:Object.entries(h.tools).map(([S,N])=>c.jsx("button",{onClick:()=>o(S),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",a===S?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:N.label},S))}),j&&c.jsxs("div",{className:"space-y-3",children:[j.note&&c.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-xs text-muted-foreground leading-relaxed",children:[c.jsx(dI,{className:"h-4.5 w-4.5 text-primary shrink-0 mt-0.5"}),c.jsx("span",{children:j.note})]}),c.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[c.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80 shadow-md shadow-red-500/10"}),c.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80 shadow-md shadow-amber-500/10"}),c.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80 shadow-md shadow-emerald-500/10"})]}),c.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:[c.jsx(ju,{className:"h-3.5 w-3.5 text-primary"}),c.jsx("span",{children:a==="cline"||a==="cursor"?"config.json":"settings.json"})]}),c.jsxs("button",{onClick:k,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[u?c.jsx(Wr,{className:"h-3.5 w-3.5 text-emerald-400"}):c.jsx(of,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:u?"Kopiert":"Kopieren"})]})]}),c.jsx("pre",{className:"p-5 overflow-x-auto text-xs font-mono text-cyan-200/90 whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",children:c.jsx("code",{children:j.snippet})})]})]})]})]})}const sY="modulepreload",lY=function(e){return"/"+e},NN={},uY=function(t,r,n){let a=Promise.resolve();if(r&&r.length>0){let u=function(h){return Promise.all(h.map(p=>Promise.resolve(p).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),f=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));a=u(r.map(h=>{if(h=lY(h),h in NN)return;NN[h]=!0;const p=h.endsWith(".css"),g=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const x=document.createElement("link");if(x.rel=p?"stylesheet":sY,p||(x.as="script"),x.crossOrigin="",x.href=h,f&&x.setAttribute("nonce",f),document.head.appendChild(x),p)return new Promise((b,j)=>{x.addEventListener("load",b),x.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(u){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=u,window.dispatchEvent(l),!l.defaultPrevented)throw u}return a.then(u=>{for(const l of u||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};class cY extends v.Component{constructor(){super(...arguments);Kl(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?c.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[c.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),c.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const dY=v.lazy(()=>uY(()=>import("./GraphView-D1XaZnBF.js"),[]).then(e=>({default:e.GraphView}))),EN=["identity","knowledge","rules","events"],PN=new Set(["auto","agent","hermes"]),_g={identity:{label:"Identität",icon:EI,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:wu,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:jI,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:oI,bg:"bg-amber-500/10",text:"text-amber-400"}},CN={label:"Gedächtnis",icon:t2,bg:"bg-muted/10",text:"text-muted-foreground"},fY={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},AN=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: 1) wer ich bin und woran ich gerade arbeite, 2) wie ich angesprochen werden möchte, 3) meine bevorzugten Tools, Sprachen und Arbeitsweise, 4) wichtige Regeln/Konventionen, die du beachten sollst, 5) meine Infrastruktur (Server, Dienste – ohne Geheimnisse). -Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function pY(){const[e,t]=v.useState(""),[r,n]=v.useState(""),[a,o]=v.useState(""),[u,l]=v.useState("stable"),[f,h]=v.useState(!1),[p,g]=v.useState(!1),[x,b]=v.useState("graph"),[j,k]=v.useState(!1),S=po(),{showAlert:N,showConfirm:P,dialogElement:O}=el(),{data:C=[]}=nv({}),{data:_=[],error:A}=nv({q:r,category:e}),{data:I}=R3(x==="graph"),U=A?String(A):"",B=()=>{S.invalidateQueries({queryKey:["memory"]}),S.invalidateQueries({queryKey:["memory-graph"]})},K=v.useMemo(()=>{const V=C.length,Q=C.filter(D=>PN.has(D.source)).length;return{total:V,auto:Q,manual:V-Q,cats:new Set(C.map(D=>D.category)).size}},[C]),X=C.length===0,$=v.useMemo(()=>{const V=I??{nodes:[],edges:[]};if(!r.trim())return V;const Q=r.toLowerCase(),D=V.nodes.filter(ee=>ee.content.toLowerCase().includes(Q)),T=new Set(D.map(ee=>ee.id));return{nodes:D,edges:V.edges.filter(ee=>T.has(ee.source)&&T.has(ee.target))}},[I,r]);async function ue(){a.trim()&&(await Me("/api/memory",{method:"POST",body:JSON.stringify({content:a,category:u,source:"ui"})}),o(""),k(!1),B())}async function J(V){await Me(`/api/memory/${V}`,{method:"DELETE"}),B()}async function ge(){try{await navigator.clipboard.writeText(AN),g(!0),setTimeout(()=>g(!1),1800)}catch{N("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function we(){ge(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function pe(){h(!0);try{const V=await Me("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(V.duplicate_count===0){N("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}P("Deduplizierung bestätigen",`${V.duplicate_count} Dublette(n) in ${V.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await Me("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),B()}catch(Q){N("Fehler",`Fehler beim Löschen: ${Q.message}`)}})}catch(V){N("Fehler",`Fehler bei der Deduplizierung: ${V.message}`)}finally{h(!1)}}const Y=({value:V,label:Q,accent:D})=>c.jsxs("span",{className:fe("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",D==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[D==="auto"&&c.jsx(kd,{className:"h-3 w-3"}),c.jsx("b",{className:fe("font-semibold",D==="auto"?"":"text-foreground"),children:V})," ",Q]});return c.jsxs("div",{className:"space-y-5",children:[c.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsxs("div",{className:"relative",children:[c.jsx("input",{value:r,onChange:V=>n(V.target.value),placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsx(uy,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),c.jsxs("button",{onClick:()=>k(V=>!V),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[c.jsx(Yg,{className:"h-4 w-4"})," Eintrag"]}),c.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",pI,"Liste"],["graph",SI,"Graph"]].map(([V,Q,D])=>c.jsxs("button",{onClick:()=>b(V),className:fe("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",x===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[c.jsx(Q,{className:"h-3.5 w-3.5"})," ",D]},V))}),c.jsx("button",{onClick:pe,disabled:f,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",title:"Deduplizieren",children:c.jsx(kd,{className:"h-4 w-4 text-primary"})})]})]}),!X&&c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(Y,{value:K.total,label:"Fakten"}),c.jsx(Y,{value:K.auto,label:"auto gelernt",accent:"auto"}),c.jsx(Y,{value:K.manual,label:"manuell"}),c.jsx(Y,{value:K.cats,label:"Kategorien"}),c.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[c.jsx(kd,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),j&&c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),c.jsx("button",{onClick:()=>k(!1),className:"text-muted-foreground hover:text-foreground",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsx("textarea",{value:a,onChange:V=>o(V.target.value),rows:2,placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[c.jsx("select",{value:u,onChange:V=>l(V.target.value),className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:EN.map(V=>{var Q;return c.jsx("option",{value:V,className:"bg-popover text-foreground",children:((Q=_g[V])==null?void 0:Q.label)||V},V)})}),c.jsxs("button",{onClick:ue,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[c.jsx(Yg,{className:"h-4 w-4"})," Speichern"]})]})]}),U&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",U]}),X?c.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[c.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:c.jsx(mI,{className:"h-7 w-7 text-primary"})}),c.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[c.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),c.jsxs("div",{className:"w-full max-w-lg text-left",children:[c.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),c.jsx("button",{onClick:ge,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:p?c.jsxs(c.Fragment,{children:[c.jsx(Wr,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):c.jsxs(c.Fragment,{children:[c.jsx(of,{className:"h-3 w-3"})," Kopieren"]})})]}),c.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:AN})]}),c.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[c.jsxs("button",{onClick:we,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[c.jsx(ju,{className:"h-4 w-4"})," Im Terminal starten"]}),c.jsxs("button",{onClick:ge,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[p?c.jsx(Wr,{className:"h-4 w-4 text-emerald-400"}):c.jsx(of,{className:"h-4 w-4"})," Prompt kopieren"]})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[c.jsx(kI,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",c.jsx("button",{onClick:()=>k(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):x==="graph"?c.jsx(dY,{children:c.jsx(v.Suspense,{fallback:c.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:c.jsx(fY,{data:$,onDelete:J})})}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[c.jsx("button",{onClick:()=>t(""),className:fe("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),EN.map(V=>{const Q=_g[V]||CN,D=Q.icon;return c.jsxs("button",{onClick:()=>t(V),className:fe("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",e===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[c.jsx(D,{className:"h-3 w-3"})," ",Q.label]},V)})]}),c.jsx("div",{className:"space-y-3",children:_.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):_.map(V=>{const Q=_g[V.category]||CN,D=Q.icon,T=PN.has(V.source);return c.jsxs("div",{className:fe("flex items-start justify-between gap-4 p-4 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 shadow-md shadow-black/5 hover:border-primary/20 transition-all group",hY[V.category]||"border-l-muted"),children:[c.jsxs("div",{className:"flex items-start gap-3 flex-1 min-w-0",children:[c.jsxs("span",{className:fe("flex items-center gap-1 px-2 py-0.5 rounded text-[9px] font-bold uppercase tracking-wider font-mono shrink-0",Q.bg,Q.text),children:[c.jsx(D,{className:"h-3 w-3"}),c.jsx("span",{className:"hidden sm:inline",children:Q.label})]}),c.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1",children:V.content})]}),c.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[typeof V.score=="number"&&c.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded uppercase tracking-wider",title:"Relevanz der semantischen Suche",children:[Math.round(V.score*100),"%"]}),c.jsxs("span",{className:fe("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded uppercase tracking-wider",T?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:T?"Automatisch gelernt":"Manuell angelegt",children:[T&&c.jsx(kd,{className:"h-2.5 w-2.5"}),V.source]}),c.jsx("button",{onClick:()=>J(V.id),title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]},V.id)})})]}),O]})}function qd({label:e,ok:t,detail:r,icon:n,onClick:a}){return c.jsxs("div",{onClick:a,className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-3 hover:border-primary/40 transition-all duration-300",t?"border-border/60":"border-amber-500/30",a&&"cursor-pointer hover:bg-card/70"),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:e}),c.jsx(n,{className:fe("h-4.5 w-4.5",t?"text-primary":"text-amber-500")})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full ring-2 ring-black/40",t?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-semibold text-foreground",children:t?"Bereit / Online":"Offline / Inaktiv"})]}),r&&c.jsx("div",{className:"text-[10px] font-mono text-muted-foreground truncate max-w-[200px]",title:r,children:r})]}),a&&c.jsxs("button",{onClick:o=>{o.stopPropagation(),a()},className:"mt-2 flex items-center justify-center gap-1.5 w-full py-1.5 px-3 rounded-lg border border-primary/30 bg-primary/10 hover:bg-primary/20 text-primary text-[10px] font-bold uppercase tracking-wider transition-all cursor-pointer font-space",children:[c.jsx(_n,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:"Gehirn wechseln"})]})]})}function mY(){const{data:e,error:t}=my(5e3),{data:r}=go(),{showAlert:n,dialogElement:a}=el(),o=po(),u=t?String(t):"",l=v.useMemo(()=>["auto","fast","heavy",...((r==null?void 0:r.models)??[]).map(_=>{var A;return((A=_.name.split("/").pop())==null?void 0:A.replace(".gguf",""))||_.name})],[r]),[f,h]=v.useState(null),[p,g]=v.useState(!1),[x,b]=v.useState({width:800,height:360}),j=v.useRef(null),k=v.useCallback(C=>{if(j.current&&(j.current.disconnect(),j.current=null),C){const _=new ResizeObserver(A=>{if(!A||A.length===0)return;const I=A[0].contentRect;b({width:I.width,height:I.height})});_.observe(C),j.current=_}},[]),S=x.width,N=x.height,P=(C,_,A,I)=>{const U=(C+A)/2;return`M ${C} ${_} C ${U} ${_}, ${U} ${I}, ${A} ${I}`};async function O(C){try{await Me("/api/agent/brain",{method:"POST",body:JSON.stringify({model:C})}),n("Erfolgreich",`Hermes-Gehirn wurde auf '${C}' geändert. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:wt.agentStatus}),g(!1)}catch(_){n("Fehler",`Fehler beim Wechseln des Gehirns: ${_.message}`)}}return c.jsxs("div",{className:"space-y-6",children:[c.jsx("style",{children:` +Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function hY(){const[e,t]=v.useState(""),[r,n]=v.useState(""),[a,o]=v.useState(""),[u,l]=v.useState("knowledge"),[f,h]=v.useState(!1),[p,g]=v.useState(!1),[x,b]=v.useState("graph"),[j,k]=v.useState(!1),S=po(),{showAlert:N,showConfirm:P,dialogElement:O}=el(),{data:C=[]}=nv({}),{data:_=[],error:A}=nv({q:r,category:e}),{data:I}=D3(x==="graph"),U=A?String(A):"",B=()=>{S.invalidateQueries({queryKey:["memory"]}),S.invalidateQueries({queryKey:["memory-graph"]})},K=v.useMemo(()=>{const V=C.length,Q=C.filter(D=>PN.has(D.source)).length;return{total:V,auto:Q,manual:V-Q,cats:new Set(C.map(D=>D.category)).size}},[C]),X=C.length===0,$=v.useMemo(()=>{const V=I??{nodes:[],edges:[]};if(!r.trim())return V;const Q=r.toLowerCase(),D=V.nodes.filter(ee=>ee.content.toLowerCase().includes(Q)),T=new Set(D.map(ee=>ee.id));return{nodes:D,edges:V.edges.filter(ee=>T.has(ee.source)&&T.has(ee.target))}},[I,r]);async function ue(){a.trim()&&(await Me("/api/memory",{method:"POST",body:JSON.stringify({content:a,category:u,source:"ui"})}),o(""),k(!1),B())}async function J(V){await Me(`/api/memory/${V}`,{method:"DELETE"}),B()}async function ge(){try{await navigator.clipboard.writeText(AN),g(!0),setTimeout(()=>g(!1),1800)}catch{N("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function we(){ge(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function pe(){h(!0);try{const V=await Me("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(V.duplicate_count===0){N("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}P("Deduplizierung bestätigen",`${V.duplicate_count} Dublette(n) in ${V.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await Me("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),B()}catch(Q){N("Fehler",`Fehler beim Löschen: ${Q.message}`)}})}catch(V){N("Fehler",`Fehler bei der Deduplizierung: ${V.message}`)}finally{h(!1)}}const Y=({value:V,label:Q,accent:D})=>c.jsxs("span",{className:fe("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",D==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[D==="auto"&&c.jsx(kd,{className:"h-3 w-3"}),c.jsx("b",{className:fe("font-semibold",D==="auto"?"":"text-foreground"),children:V})," ",Q]});return c.jsxs("div",{className:"space-y-5",children:[c.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsxs("div",{className:"relative",children:[c.jsx("input",{value:r,onChange:V=>n(V.target.value),placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),c.jsx(uy,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),c.jsxs("button",{onClick:()=>k(V=>!V),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[c.jsx(Yg,{className:"h-4 w-4"})," Eintrag"]}),c.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",pI,"Liste"],["graph",SI,"Graph"]].map(([V,Q,D])=>c.jsxs("button",{onClick:()=>b(V),className:fe("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",x===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[c.jsx(Q,{className:"h-3.5 w-3.5"})," ",D]},V))}),c.jsx("button",{onClick:pe,disabled:f,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",title:"Deduplizieren",children:c.jsx(kd,{className:"h-4 w-4 text-primary"})})]})]}),!X&&c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(Y,{value:K.total,label:"Fakten"}),c.jsx(Y,{value:K.auto,label:"auto gelernt",accent:"auto"}),c.jsx(Y,{value:K.manual,label:"manuell"}),c.jsx(Y,{value:K.cats,label:"Kategorien"}),c.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[c.jsx(kd,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),j&&c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),c.jsx("button",{onClick:()=>k(!1),className:"text-muted-foreground hover:text-foreground",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsx("textarea",{value:a,onChange:V=>o(V.target.value),rows:2,placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[c.jsx("select",{value:u,onChange:V=>l(V.target.value),className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:EN.map(V=>{var Q;return c.jsx("option",{value:V,className:"bg-popover text-foreground",children:((Q=_g[V])==null?void 0:Q.label)||V},V)})}),c.jsxs("button",{onClick:ue,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[c.jsx(Yg,{className:"h-4 w-4"})," Speichern"]})]})]}),U&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",U]}),X?c.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[c.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:c.jsx(mI,{className:"h-7 w-7 text-primary"})}),c.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[c.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),c.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),c.jsxs("div",{className:"w-full max-w-lg text-left",children:[c.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),c.jsx("button",{onClick:ge,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:p?c.jsxs(c.Fragment,{children:[c.jsx(Wr,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):c.jsxs(c.Fragment,{children:[c.jsx(of,{className:"h-3 w-3"})," Kopieren"]})})]}),c.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:AN})]}),c.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[c.jsxs("button",{onClick:we,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[c.jsx(ju,{className:"h-4 w-4"})," Im Terminal starten"]}),c.jsxs("button",{onClick:ge,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[p?c.jsx(Wr,{className:"h-4 w-4 text-emerald-400"}):c.jsx(of,{className:"h-4 w-4"})," Prompt kopieren"]})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[c.jsx(kI,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",c.jsx("button",{onClick:()=>k(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):x==="graph"?c.jsx(cY,{children:c.jsx(v.Suspense,{fallback:c.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:c.jsx(dY,{data:$,onDelete:J})})}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[c.jsx("button",{onClick:()=>t(""),className:fe("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",e?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),EN.map(V=>{const Q=_g[V]||CN,D=Q.icon;return c.jsxs("button",{onClick:()=>t(V),className:fe("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",e===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[c.jsx(D,{className:"h-3 w-3"})," ",Q.label]},V)})]}),c.jsx("div",{className:"space-y-3",children:_.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):_.map(V=>{const Q=_g[V.category]||CN,D=Q.icon,T=PN.has(V.source);return c.jsxs("div",{className:fe("flex items-start justify-between gap-4 p-4 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 shadow-md shadow-black/5 hover:border-primary/20 transition-all group",fY[V.category]||"border-l-muted"),children:[c.jsxs("div",{className:"flex items-start gap-3 flex-1 min-w-0",children:[c.jsxs("span",{className:fe("flex items-center gap-1 px-2 py-0.5 rounded text-[9px] font-bold uppercase tracking-wider font-mono shrink-0",Q.bg,Q.text),children:[c.jsx(D,{className:"h-3 w-3"}),c.jsx("span",{className:"hidden sm:inline",children:Q.label})]}),c.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1",children:V.content})]}),c.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[typeof V.score=="number"&&c.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded uppercase tracking-wider",title:"Relevanz der semantischen Suche",children:[Math.round(V.score*100),"%"]}),c.jsxs("span",{className:fe("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded uppercase tracking-wider",T?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:T?"Automatisch gelernt":"Manuell angelegt",children:[T&&c.jsx(kd,{className:"h-2.5 w-2.5"}),V.source]}),c.jsx("button",{onClick:()=>J(V.id),title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:c.jsx(Xg,{className:"h-3.5 w-3.5"})})]})]},V.id)})})]}),O]})}function qd({label:e,ok:t,detail:r,icon:n,onClick:a}){return c.jsxs("div",{onClick:a,className:fe("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-3 hover:border-primary/40 transition-all duration-300",t?"border-border/60":"border-amber-500/30",a&&"cursor-pointer hover:bg-card/70"),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:e}),c.jsx(n,{className:fe("h-4.5 w-4.5",t?"text-primary":"text-amber-500")})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full ring-2 ring-black/40",t?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-semibold text-foreground",children:t?"Bereit / Online":"Offline / Inaktiv"})]}),r&&c.jsx("div",{className:"text-[10px] font-mono text-muted-foreground truncate max-w-[200px]",title:r,children:r})]}),a&&c.jsxs("button",{onClick:o=>{o.stopPropagation(),a()},className:"mt-2 flex items-center justify-center gap-1.5 w-full py-1.5 px-3 rounded-lg border border-primary/30 bg-primary/10 hover:bg-primary/20 text-primary text-[10px] font-bold uppercase tracking-wider transition-all cursor-pointer font-space",children:[c.jsx(_n,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:"Gehirn wechseln"})]})]})}function pY(){const{data:e,error:t}=my(5e3),{data:r}=go(),{showAlert:n,dialogElement:a}=el(),o=po(),u=t?String(t):"",l=v.useMemo(()=>["auto","fast","heavy",...((r==null?void 0:r.models)??[]).map(_=>{var A;return((A=_.name.split("/").pop())==null?void 0:A.replace(".gguf",""))||_.name})],[r]),[f,h]=v.useState(null),[p,g]=v.useState(!1),[x,b]=v.useState({width:800,height:360}),j=v.useRef(null),k=v.useCallback(C=>{if(j.current&&(j.current.disconnect(),j.current=null),C){const _=new ResizeObserver(A=>{if(!A||A.length===0)return;const I=A[0].contentRect;b({width:I.width,height:I.height})});_.observe(C),j.current=_}},[]),S=x.width,N=x.height,P=(C,_,A,I)=>{const U=(C+A)/2;return`M ${C} ${_} C ${U} ${_}, ${U} ${I}, ${A} ${I}`};async function O(C){try{await Me("/api/agent/brain",{method:"POST",body:JSON.stringify({model:C})}),n("Erfolgreich",`Hermes-Gehirn wurde auf '${C}' geändert. Der Gateway-Dienst wurde neu gestartet.`),o.invalidateQueries({queryKey:wt.agentStatus}),g(!1)}catch(_){n("Fehler",`Fehler beim Wechseln des Gehirns: ${_.message}`)}}return c.jsxs("div",{className:"space-y-6",children:[c.jsx("style",{children:` @keyframes flow-dash { to { stroke-dashoffset: -20; @@ -491,9 +486,9 @@ Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemer stroke-dasharray: 4 6; animation: flow-dash 1s linear infinite; } - `}),c.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),c.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",c.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.terminal_url)&&c.jsxs("a",{href:_s(e.terminal_url),target:"_blank",rel:"noopener",className:fe("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[c.jsx(xu,{className:"h-4 w-4"}),c.jsx("span",{children:"Terminal öffnen"})]})]}),u&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",u,")."]}),e&&c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[c.jsx(qd,{label:"Agent Gateway",ok:e.gateway_reachable,detail:"Port :8642 (REST API)",icon:Ps}),c.jsx(qd,{label:"Terminal",ok:e.terminal_reachable,detail:"Web-Terminal (hermes chat)",icon:vu}),c.jsx(qd,{label:"Aktives Gehirn",ok:e.gateway_reachable,detail:e.brain_model?`Model: ${e.brain_model}`:"Model: auto",icon:_n,onClick:()=>g(!0)}),c.jsx(qd,{label:"Verdrahtung",ok:e.has_config,detail:`Config: ${e.has_config?"✓":"—"} · Skills: ${e.has_skills?"✓":"—"} · Memory: ${e.has_memories?"✓":"—"}`,icon:ku})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Agent Flow Graph"}),c.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Visualisiert das Zusammenspiel und die Verbindungspfade zwischen den Hermes-Systemkomponenten."})]}),c.jsxs("div",{ref:k,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[c.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),c.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),c.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),c.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),c.jsx("path",{d:P(S*.15,N*.5,S*.5,N*.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="terminal"||e.terminal_reachable)&&c.jsx("path",{d:P(S*.15,N*.5,S*.5,N*.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="gateway"||f==="brain"||e.gateway_reachable)&&c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.3),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="gateway"||f==="wiring"||e.gateway_reachable)&&c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.7),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-36 h-9 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2.5 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"15%",top:"50%"},onMouseEnter:()=>h("terminal"),onMouseLeave:()=>h(null),onClick:()=>e.terminal_reachable&&window.open(_s(e.terminal_url),"_blank"),title:e.terminal_reachable?"Klicken um das Hermes-Terminal zu öffnen":"Terminal offline",children:[c.jsx(vu,{className:fe("h-3.5 w-3.5",e.terminal_reachable?"text-emerald-400":"text-amber-500")}),c.jsx("span",{children:"Terminal"}),c.jsx("span",{className:fe("w-1.5 h-1.5 rounded-full animate-pulse ml-auto",e.terminal_reachable?"bg-emerald-500":"bg-amber-500")})]}),c.jsxs("div",{className:"absolute select-none z-10 w-40 py-2.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5 cursor-pointer",style:{left:"50%",top:"50%"},onMouseEnter:()=>h("gateway"),onMouseLeave:()=>h(null),children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Ps,{className:"h-3.5 w-3.5 text-primary"}),c.jsx("span",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Agent Gateway"})]}),c.jsx("div",{className:"text-[9px] font-mono text-muted-foreground mt-0.5",children:"Port :8642"}),c.jsx("div",{className:fe("mt-1 px-1.5 py-0.5 rounded text-[8px] font-semibold uppercase font-mono border",e.gateway_reachable?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-red-500/10 border-red-500/20 text-red-400"),children:e.gateway_reachable?"Online":"Offline"})]}),c.jsxs("div",{className:fe("absolute z-20 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",e.gateway_reachable?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":"border-border/60 bg-card/75"),style:{left:"85%",top:"30%"},onMouseEnter:()=>h("brain"),onMouseLeave:()=>h(null),onClick:()=>g(!0),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-1 text-muted-foreground",children:[c.jsx(_n,{className:"h-3 w-3 text-primary"}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Aktives Gehirn"})]}),e.gateway_reachable&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground font-space",title:e.brain_model,children:e.brain_model||"auto"})]}),c.jsxs("div",{className:fe("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none",e.has_config?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":"border-border/60 bg-card/75"),style:{left:"85%",top:"70%"},onMouseEnter:()=>h("wiring"),onMouseLeave:()=>h(null),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-1 text-muted-foreground",children:[c.jsx(ku,{className:"h-3 w-3 text-primary"}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),e.has_config&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsxs("div",{className:"text-[9px] font-mono mt-0.5 text-muted-foreground flex gap-1 justify-between",children:[c.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),c.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),c.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),c.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Agenten"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),c.jsx("span",{children:"Grüner Puls: Verbindung hergestellt / Modul online"})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(gI,{className:"h-5 w-5 text-primary"}),c.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("p",{children:["Der ",c.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",c.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),c.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",c.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),c.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?c.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[c.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),c.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",c.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",c.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",c.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):c.jsxs("div",{className:"space-y-2",children:[c.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),c.jsxs("p",{children:["Starte ",c.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",c.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),c.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(wu,{className:"h-5 w-5 text-amber-500"}),c.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[c.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),c.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",c.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),c.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[c.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),c.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),c.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-terminal"})]}),c.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",c.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&p&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4"}),c.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),c.jsx("button",{onClick:()=>g(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',c.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),c.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:l.map(C=>{const _=["auto","fast","heavy"].includes(C);return c.jsxs("button",{onClick:()=>O(C),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",e.brain_model===C||!e.brain_model&&C==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[c.jsxs("div",{className:"flex flex-col text-left",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:C}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:_?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(e.brain_model===C||!e.brain_model&&C==="auto")&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},C)})})]})}),a]})}function gY(){const{data:e}=my(5e3),t=e!=null&&e.terminal_url?_s(e.terminal_url):void 0,r=e==null?void 0:e.terminal_reachable;return c.jsxs("div",{className:"flex h-full flex-col gap-4",children:[c.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Hermes Terminal"}),c.jsxs("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["Interaktiver Agent (",c.jsx("code",{className:"rounded bg-background/40 px-1 font-mono text-[11px] text-primary",children:"hermes chat"}),') mit Tools & PC-Steuerung — „mehr als Chatten".']})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[c.jsx("span",{className:`h-2 w-2 rounded-full ${r?"bg-emerald-500 animate-pulse":"bg-amber-500"}`}),r?"online":"offline"]}),t&&c.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[c.jsx(xu,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?c.jsxs("div",{className:"relative min-h-[68vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&c.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[c.jsx(Cs,{className:"h-8 w-8 text-amber-400"}),c.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Terminal nicht erreichbar"}),c.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",c.jsx("code",{className:"font-mono text-primary",children:"hermes-terminal"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",c.jsx("code",{className:"font-mono",children:"systemctl --user restart hermes-terminal"}),"."]})]}),c.jsx("iframe",{src:t,title:"Hermes Terminal",className:"h-full w-full border-0",style:{minHeight:"68vh"}})]}):c.jsxs("div",{className:"flex min-h-[68vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[c.jsx(i2,{className:"mr-2 h-4 w-4"})," Lade Terminal…"]})]})}function vY(){const[e,t]=v.useState("connect"),[r,n]=v.useState("roocode"),[a,o]=v.useState(null),u="192.168.178.151",[l,f]=v.useState(!1),[h,p]=v.useState(null);function g(){f(!0),Me("/api/health").then(x=>{o(x),p(x.engine_reachable?"success":"partial")}).catch(()=>{o(null),p("fail")}).finally(()=>f(!1))}return v.useEffect(()=>{g()},[]),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Stack-Anleitung & Vibe-Coding-Guide"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Einsteigerfreundliche Erklärungen zu deinem Stack und Schritt-für-Schritt-Anleitungen zur Anbindung deiner Editoren."})]}),c.jsxs("div",{className:"flex gap-4 border-b border-border/40 pb-px",children:[c.jsx("button",{onClick:()=>t("connect"),className:fe("pb-3 text-xs font-bold uppercase tracking-wider border-b-2 px-1 transition-all",e==="connect"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Editor-Anbindung"}),c.jsx("button",{onClick:()=>t("concepts"),className:fe("pb-3 text-xs font-bold uppercase tracking-wider border-b-2 px-1 transition-all",e==="concepts"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"KI-Wissensdatenbank (Juni 2026)"})]}),e==="connect"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("span",{className:fe("h-3 w-3 rounded-full ring-2 ring-black/40",h==="success"&&"bg-emerald-500 animate-pulse",h==="partial"&&"bg-amber-500",h==="fail"&&"bg-red-500",!h&&"bg-muted")}),c.jsxs("div",{children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lokaler Verbindungs-Check"}),c.jsxs("div",{className:"text-[10px] text-muted-foreground mt-0.5 font-mono",children:[h==="success"&&`Erfolgreich! Dein PC hat Zugriff auf das Box-Gateway (v${(a==null?void 0:a.version)||""}).`,h==="partial"&&"Gateway erreichbar, aber die llama-cpp-Engine ist offline.",h==="fail"&&"Verbindung fehlgeschlagen. Ist die Box im selben LAN-Netzwerk?",!h&&"Verbindung wird geprüft..."]})]})]}),c.jsxs("button",{onClick:g,disabled:l,className:"h-8 px-3 flex items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50 cursor-pointer self-start sm:self-auto shrink-0",children:[c.jsx(cu,{className:fe("h-3.5 w-3.5",l&&"animate-spin")}),c.jsx("span",{children:"Testen"})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center gap-2 px-1",children:[c.jsx(t2,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Wie funktioniert mein Stack?"})]}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4 text-cyan-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"1. Die Zentrale"})]}),c.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:"Dein Dashboard. Hier siehst du die CPU-/RAM- und GPU-Last der Box und siehst sofort, ob Updates anstehen."})]}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(bu,{className:"h-4 w-4 text-violet-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"2. Modell-Zentrale"})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Deine GGUF-Datenbank. Gesteuert von ",c.jsx("strong",{children:"llama-swap"}),". Lädt dein schnelles Alltags-Hirn (`fast`) oder dein schweres Logik-Hirn (`heavy`) vollautomatisch im VRAM."]})]}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(yu,{className:"h-4 w-4 text-indigo-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"3. Das Gedächtnis"})]}),c.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:"Dein geteiltes Langzeitgedächtnis (Memory-Pool). Hier merkt sich dein Agent Regeln, Projekt-Details und Vorlieben."})]})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 px-1",children:[c.jsx(Vg,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Vibe Coding auf dem PC einrichten"})]}),c.jsxs("div",{className:"flex gap-1.5 bg-card/20 p-1 border border-border/40 rounded-xl max-w-fit",children:[c.jsxs("button",{onClick:()=>n("roocode"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer flex items-center gap-1.5",r==="roocode"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:[c.jsx(a2,{className:"h-3.5 w-3.5 fill-amber-400/20"}),"Roo Code (VS Code)"]}),c.jsx("button",{onClick:()=>n("cursor"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",r==="cursor"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:"Cursor IDE"}),c.jsx("button",{onClick:()=>n("opencode"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",r==="opencode"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:"OpenCode Desktop"})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[r==="roocode"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"Roo Code Kopplung (Empfohlene Open-Source-Erweiterung)"}),c.jsx("p",{children:"Roo Code ist die beliebteste und flexibelste Vibe-Coding-Erweiterung für VS Code im Jahr 2026. Sie ermöglicht vollen Zugriff auf das Terminal und das MCP-Gedächtnis."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"Roo Code installieren"]}),c.jsxs("p",{className:"pl-6",children:["Suche in VS Code nach der Erweiterung ",c.jsx("strong",{children:"Roo Code"})," und installiere sie."]})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"API-Anbindung konfigurieren"]}),c.jsx("p",{className:"pl-6",children:"Klicke auf das Roo-Code-Symbol in der Sidebar, öffne die Einstellungen (Zahnrad) und stelle folgendes ein:"}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Provider:"})," OpenAI Compatible"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Key:"})," ",c.jsx("span",{className:"italic text-muted-foreground/50",children:'beliebig (z.B. "local")'})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Model ID:"})," auto"]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"MCP Gedächtnis verknüpfen (Optional, aber empfohlen)"]}),c.jsxs("p",{className:"pl-6",children:["Damit Roo Code auf deinen ",c.jsx("strong",{children:"Gedächtnis-Pool"})," zugreifen kann, kopiere die MCP-Konfiguration aus dem Reiter ",c.jsx("strong",{children:"Verbinden"})," und füge sie in deine lokale Roo-Code-Konfigurationsdatei ein."]})]})]})]}),r==="cursor"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"Cursor IDE Kopplung (Proprietäre All-in-One IDE)"}),c.jsx("p",{children:"Cursor ist ein polierter, extrem schneller VS-Code-Fork mit hervorragenden, tief integrierten Autovervollständigungen (Tab-Completions)."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"Einstellungen öffnen"]}),c.jsxs("p",{className:"pl-6",children:["Öffne Cursor, klicke oben rechts auf das Zahnrad (Settings) und navigiere zu ",c.jsx("strong",{children:"Models"}),"."]})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"OpenAI API überschreiben"]}),c.jsxs("p",{className:"pl-6",children:["Deaktiviere die Standard-Cloudmodelle, klappe den Bereich ",c.jsx("strong",{children:"OpenAI API"})," auf und konfiguriere:"]}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Override Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Key:"})," ",c.jsx("span",{className:"italic text-muted-foreground/50",children:'beliebig (z.B. "local")'})]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"Modell hinzufügen"]}),c.jsxs("p",{className:"pl-6",children:["Trage in der Modell-Liste ein neues Modell mit dem Namen ",c.jsx("strong",{children:"auto"})," ein und wähle es als aktives Modell aus. Cursor leitet ab jetzt alle deine Anfragen an die Box weiter."]})]})]})]}),r==="opencode"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"OpenCode Desktop Kopplung (Open-Source Vibe-Coding-App)"}),c.jsx("p",{children:"OpenCode ist eine standalone Desktop-App für ein ablenkungsfreies Coden über natürliche Sprache. Es trennt den KI-Prozess von deinem Editor."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"OpenCode Desktop herunterladen"]}),c.jsx("p",{className:"pl-6",children:"Lade die Desktop-Anwendung von der offiziellen Website (opencode.ai) herunter und starte sie."})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"Endpunkt auf Box-Gateway setzen"]}),c.jsx("p",{className:"pl-6",children:"Gehe in den Bereich Einstellungen ➔ Provider, deaktiviere die Cloud-Voreinstellungen und trage deinen lokalen Server ein:"}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Model:"})," auto"]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"Erster Vibe-Coding Test"]}),c.jsx("p",{className:"pl-6",children:'Starte eine neue Session und teste die Verbindung mit einem einfachen Prompt, z. B. *"Erstelle ein einfaches Skript, das die Fibonaccizahlen berechnet"*. Das Box-Gateway tauscht das Modell im Hintergrund vollautomatisch aus.'})]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 space-y-3 shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ju,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Was tun, wenn das Coden hakt?"})]}),c.jsxs("ul",{className:"text-[11px] text-muted-foreground space-y-2 list-disc pl-4 leading-relaxed",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Keine Verbindung?"})," Überprüfe im Live-Verbindungsprüfer oben, ob die Box-IP erreichbar ist. Stelle sicher, dass dein lokaler PC im selben WLAN/LAN-Netzwerk wie die Box eingeloggt ist."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Modell antwortet nicht?"})," Schaue in der ",c.jsx("strong",{children:"Zentrale"})," unter ",c.jsx("strong",{children:"Dienste"}),", ob `llama-swap` aktiv (grün) ist. Wenn nicht, klicke daneben auf ",c.jsx("strong",{children:"Restart"}),"."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Hermes Agent reagiert merkwürdig?"})," Starte im ",c.jsx("strong",{children:"Terminal"})," eine frische Session (neuer `hermes chat`). Ältere Sessions sammeln Kontext-Müll an."]})]})]})]}):c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex items-start gap-4",children:[c.jsx(qg,{className:"h-8 w-8 text-primary shrink-0 mt-0.5"}),c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Entwickler-Guide: Modernes Agentic Coding (2026)"}),c.jsx("p",{className:"text-xs text-muted-foreground leading-normal",children:"Willkommen im Wissenszentrum für dein Mission Control 2 Setup. Hier erfährst du, wie die verschiedenen Technologien (MoE, MCP, Skills, Hermes) zusammenarbeiten und wie du das Maximum aus deinen AI-Prozessabläufen herausholst."})]})]}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(bu,{className:"h-5 w-5 text-cyan-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"1. Mixture of Experts (MoE)"}),c.jsx("span",{className:"text-[9px] text-cyan-400 font-mono",children:"Effizienz durch Spezialisierung"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Bei traditionellen LLMs wird für jedes Wort das gesamte neuronale Netz aktiviert. Bei MoE besteht das Modell aus mehreren spezialisierten Teilnetzwerken (den ",c.jsx("em",{children:"Experts"}),"). Ein intelligenter ",c.jsx("em",{children:"Router"})," entscheidet pro Token (Wortteil), welche Experten zur Berechnung herangezogen werden."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Warum in MC2?"})," So können extrem leistungsstarke Modelle (wie DeepSeek-V3, Mixtral oder Command R+) mit wesentlich geringeren Hardwarekosten ausgeführt werden. Es wird nur ein Bruchteil der Parameter geladen und aktiv berechnet, was Speicherplatz spart und die Inferenz beschleunigt."]}),c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] text-foreground",children:[c.jsx("span",{className:"text-cyan-400",children:"Vorteil:"})," GPT-4-Klasse Performance bei einem Bruchteil der aktiven VRAM-Last auf deinem Homelab!"]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(qg,{className:"h-5 w-5 text-violet-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"2. Model Context Protocol (MCP)"}),c.jsx("span",{className:"text-[9px] text-violet-400 font-mono",children:"Standardisierte Agenten-Tools"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," MCP ist ein offenes Protokoll (initiiert von Anthropic), das festlegt, wie ein KI-Client (z.B. Roo Code auf deinem PC) mit externen Datenquellen und Tools kommuniziert. Es funktioniert wie ein USB-Standard für KI."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Warum in MC2?"})," MCP trennt den AI-Kern von der Umgebung. Statt für jeden Editor eigene Tools zu schreiben, binden deine Agenten (Roo Code, Hermes) einfach MCP-Server an. Diese Server können Dateien lesen, Websuchen durchführen, Git bedienen oder mit deiner App interagieren."]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/25 rounded-xl border border-border/30 text-[10px]",children:[c.jsx("div",{className:"font-bold text-foreground",children:"Gute Quellen für MCP Server:"}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-muted-foreground",children:[c.jsxs("li",{children:[c.jsx("a",{href:"https://smithery.ai/",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Smithery Registry"})," — Ein Portal zum Suchen und automatischen Installieren von MCP Servern."]}),c.jsxs("li",{children:[c.jsx("a",{href:"https://glama.ai/mcp/servers",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Glama MCP Registry"})," — Eine kuratierte, umfangreiche Community-Datenbank von MCP Servern."]}),c.jsxs("li",{children:[c.jsx("a",{href:"https://github.com/modelcontextprotocol/servers",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Offizielles Anthropic Repo"})," — Das offizielle Repository mit Standards wie filesystem, postgres, sqlite, brave-search und puppeteer."]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(yu,{className:"h-5 w-5 text-emerald-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"3. Agent Skills"}),c.jsx("span",{className:"text-[9px] text-emerald-400 font-mono",children:"Modulbasierte Fähigkeiten"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Ein Skill ist ein Verzeichnis mit standardisierten Anweisungen, Scripten und Beispielen, das deine Agenten für spezifische Aufgaben trainiert (z.B. Test-Driven Development, Code-Vereinfachung, API-Design)."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Wie benutzt man sie?"})," Lege einen Skill-Ordner unter ",c.jsx("code",{children:".agents/skills/"})," in deinem Projekt an. Das Herzstück ist die Datei ",c.jsx("code",{children:"SKILL.md"})," mit folgendem Aufbau:"]}),c.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- + `}),c.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),c.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",c.jsx("code",{children:":8642"}),") und seine eigene UI besitzt."]})]}),(e==null?void 0:e.terminal_url)&&c.jsxs("a",{href:_s(e.terminal_url),target:"_blank",rel:"noopener",className:fe("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[c.jsx(xu,{className:"h-4 w-4"}),c.jsx("span",{children:"Terminal öffnen"})]})]}),u&&c.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",u,")."]}),e&&c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[c.jsx(qd,{label:"Agent Gateway",ok:e.gateway_reachable,detail:"Port :8642 (REST API)",icon:Ps}),c.jsx(qd,{label:"Terminal",ok:e.terminal_reachable,detail:"Web-Terminal (hermes chat)",icon:vu}),c.jsx(qd,{label:"Aktives Gehirn",ok:e.gateway_reachable,detail:e.brain_model?`Model: ${e.brain_model}`:"Model: auto",icon:_n,onClick:()=>g(!0)}),c.jsx(qd,{label:"Verdrahtung",ok:e.has_config,detail:`Config: ${e.has_config?"✓":"—"} · Skills: ${e.has_skills?"✓":"—"} · Memory: ${e.has_memories?"✓":"—"}`,icon:ku})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Agent Flow Graph"}),c.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Visualisiert das Zusammenspiel und die Verbindungspfade zwischen den Hermes-Systemkomponenten."})]}),c.jsxs("div",{ref:k,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[c.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[c.jsxs("defs",{children:[c.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),c.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),c.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[c.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),c.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),c.jsx("path",{d:P(S*.15,N*.5,S*.5,N*.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="terminal"||e.terminal_reachable)&&c.jsx("path",{d:P(S*.15,N*.5,S*.5,N*.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="gateway"||f==="brain"||e.gateway_reachable)&&c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.3),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(f==="gateway"||f==="wiring"||e.gateway_reachable)&&c.jsx("path",{d:P(S*.5,N*.5,S*.85,N*.7),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),c.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-36 h-9 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2.5 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"15%",top:"50%"},onMouseEnter:()=>h("terminal"),onMouseLeave:()=>h(null),onClick:()=>e.terminal_reachable&&window.open(_s(e.terminal_url),"_blank"),title:e.terminal_reachable?"Klicken um das Hermes-Terminal zu öffnen":"Terminal offline",children:[c.jsx(vu,{className:fe("h-3.5 w-3.5",e.terminal_reachable?"text-emerald-400":"text-amber-500")}),c.jsx("span",{children:"Terminal"}),c.jsx("span",{className:fe("w-1.5 h-1.5 rounded-full animate-pulse ml-auto",e.terminal_reachable?"bg-emerald-500":"bg-amber-500")})]}),c.jsxs("div",{className:"absolute select-none z-10 w-40 py-2.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5 cursor-pointer",style:{left:"50%",top:"50%"},onMouseEnter:()=>h("gateway"),onMouseLeave:()=>h(null),children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Ps,{className:"h-3.5 w-3.5 text-primary"}),c.jsx("span",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Agent Gateway"})]}),c.jsx("div",{className:"text-[9px] font-mono text-muted-foreground mt-0.5",children:"Port :8642"}),c.jsx("div",{className:fe("mt-1 px-1.5 py-0.5 rounded text-[8px] font-semibold uppercase font-mono border",e.gateway_reachable?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-red-500/10 border-red-500/20 text-red-400"),children:e.gateway_reachable?"Online":"Offline"})]}),c.jsxs("div",{className:fe("absolute z-20 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",e.gateway_reachable?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":"border-border/60 bg-card/75"),style:{left:"85%",top:"30%"},onMouseEnter:()=>h("brain"),onMouseLeave:()=>h(null),onClick:()=>g(!0),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-1 text-muted-foreground",children:[c.jsx(_n,{className:"h-3 w-3 text-primary"}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Aktives Gehirn"})]}),e.gateway_reachable&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground font-space",title:e.brain_model,children:e.brain_model||"auto"})]}),c.jsxs("div",{className:fe("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none",e.has_config?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":"border-border/60 bg-card/75"),style:{left:"85%",top:"70%"},onMouseEnter:()=>h("wiring"),onMouseLeave:()=>h(null),children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-1 text-muted-foreground",children:[c.jsx(ku,{className:"h-3 w-3 text-primary"}),c.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),e.has_config&&c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),c.jsxs("div",{className:"text-[9px] font-mono mt-0.5 text-muted-foreground flex gap-1 justify-between",children:[c.jsxs("span",{children:["Config: ",e.has_config?"✓":"—"]}),c.jsxs("span",{children:["Skills: ",e.has_skills?"✓":"—"]}),c.jsxs("span",{children:["Memory: ",e.has_memories?"✓":"—"]})]})]})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),c.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Agenten"})]}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),c.jsx("span",{children:"Grüner Puls: Verbindung hergestellt / Modul online"})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(gI,{className:"h-5 w-5 text-primary"}),c.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full",e.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),c.jsx("span",{className:"text-xs font-semibold text-foreground",children:e.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("p",{children:["Der ",c.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",c.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"192.168.178.98:7777"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),c.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",c.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),c.jsx("div",{className:"space-y-3",children:e.pc_executor_reachable?c.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[c.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[c.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),c.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",c.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",c.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",c.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):c.jsxs("div",{className:"space-y-2",children:[c.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),c.jsxs("p",{children:["Starte ",c.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",c.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),c.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!e.gateway_reachable&&c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10 text-left",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(wu,{className:"h-5 w-5 text-amber-500"}),c.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[c.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),c.jsxs("p",{children:["Stelle sicher, dass die systemd-Dienste auf der Box laufen. Du kannst den Status im ",c.jsx("strong",{children:"OS & Updates Drawer"})," prüfen und die Dienste bei Bedarf neu starten."]}),c.jsxs("div",{className:"p-3.5 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1",children:[c.jsx("div",{className:"text-muted-foreground/60",children:"# Dienste manuell auf der Box prüfen:"}),c.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-gateway"}),c.jsx("div",{className:"text-primary",children:"systemctl --user status hermes-terminal"})]}),c.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",c.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),e&&p&&c.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:c.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[c.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4"}),c.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),c.jsx("button",{onClick:()=>g(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',c.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",c.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),c.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:l.map(C=>{const _=["auto","fast","heavy"].includes(C);return c.jsxs("button",{onClick:()=>O(C),className:fe("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",e.brain_model===C||!e.brain_model&&C==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[c.jsxs("div",{className:"flex flex-col text-left",children:[c.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:C}),c.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:_?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(e.brain_model===C||!e.brain_model&&C==="auto")&&c.jsx(Wr,{className:"h-4 w-4 shrink-0 text-primary"})]},C)})})]})}),a]})}function mY(){const{data:e}=my(5e3),t=e!=null&&e.terminal_url?_s(e.terminal_url):void 0,r=e==null?void 0:e.terminal_reachable;return c.jsxs("div",{className:"flex h-full flex-col gap-4",children:[c.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text font-space text-2xl font-bold tracking-tight text-transparent",children:"Hermes Terminal"}),c.jsxs("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:["Interaktiver Agent (",c.jsx("code",{className:"rounded bg-background/40 px-1 font-mono text-[11px] text-primary",children:"hermes chat"}),') mit Tools & PC-Steuerung — „mehr als Chatten".']})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[c.jsx("span",{className:`h-2 w-2 rounded-full ${r?"bg-emerald-500 animate-pulse":"bg-amber-500"}`}),r?"online":"offline"]}),t&&c.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-background/20 px-3 text-xs font-semibold text-muted-foreground transition-all hover:border-primary/50 hover:text-foreground",children:[c.jsx(xu,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),t?c.jsxs("div",{className:"relative min-h-[68vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[r===!1&&c.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[c.jsx(Cs,{className:"h-8 w-8 text-amber-400"}),c.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Terminal nicht erreichbar"}),c.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der ",c.jsx("code",{className:"font-mono text-primary",children:"hermes-terminal"}),"-Dienst (ttyd) läuft nicht. Auf der Box: ",c.jsx("code",{className:"font-mono",children:"systemctl --user restart hermes-terminal"}),"."]})]}),c.jsx("iframe",{src:t,title:"Hermes Terminal",className:"h-full w-full border-0",style:{minHeight:"68vh"}})]}):c.jsxs("div",{className:"flex min-h-[68vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[c.jsx(i2,{className:"mr-2 h-4 w-4"})," Lade Terminal…"]})]})}function gY(){const[e,t]=v.useState("connect"),[r,n]=v.useState("roocode"),[a,o]=v.useState(null),u="192.168.178.151",[l,f]=v.useState(!1),[h,p]=v.useState(null);function g(){f(!0),Me("/api/health").then(x=>{o(x),p(x.engine_reachable?"success":"partial")}).catch(()=>{o(null),p("fail")}).finally(()=>f(!1))}return v.useEffect(()=>{g()},[]),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Stack-Anleitung & Vibe-Coding-Guide"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Einsteigerfreundliche Erklärungen zu deinem Stack und Schritt-für-Schritt-Anleitungen zur Anbindung deiner Editoren."})]}),c.jsxs("div",{className:"flex gap-4 border-b border-border/40 pb-px",children:[c.jsx("button",{onClick:()=>t("connect"),className:fe("pb-3 text-xs font-bold uppercase tracking-wider border-b-2 px-1 transition-all",e==="connect"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Editor-Anbindung"}),c.jsx("button",{onClick:()=>t("concepts"),className:fe("pb-3 text-xs font-bold uppercase tracking-wider border-b-2 px-1 transition-all",e==="concepts"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"KI-Wissensdatenbank (Juni 2026)"})]}),e==="connect"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("span",{className:fe("h-3 w-3 rounded-full ring-2 ring-black/40",h==="success"&&"bg-emerald-500 animate-pulse",h==="partial"&&"bg-amber-500",h==="fail"&&"bg-red-500",!h&&"bg-muted")}),c.jsxs("div",{children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Lokaler Verbindungs-Check"}),c.jsxs("div",{className:"text-[10px] text-muted-foreground mt-0.5 font-mono",children:[h==="success"&&`Erfolgreich! Dein PC hat Zugriff auf das Box-Gateway (v${(a==null?void 0:a.version)||""}).`,h==="partial"&&"Gateway erreichbar, aber die llama-cpp-Engine ist offline.",h==="fail"&&"Verbindung fehlgeschlagen. Ist die Box im selben LAN-Netzwerk?",!h&&"Verbindung wird geprüft..."]})]})]}),c.jsxs("button",{onClick:g,disabled:l,className:"h-8 px-3 flex items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50 cursor-pointer self-start sm:self-auto shrink-0",children:[c.jsx(cu,{className:fe("h-3.5 w-3.5",l&&"animate-spin")}),c.jsx("span",{children:"Testen"})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center gap-2 px-1",children:[c.jsx(t2,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Wie funktioniert mein Stack?"})]}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(_n,{className:"h-4 w-4 text-cyan-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"1. Die Zentrale"})]}),c.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:"Dein Dashboard. Hier siehst du die CPU-/RAM- und GPU-Last der Box und siehst sofort, ob Updates anstehen."})]}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(bu,{className:"h-4 w-4 text-violet-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"2. Modell-Zentrale"})]}),c.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Deine GGUF-Datenbank. Gesteuert von ",c.jsx("strong",{children:"llama-swap"}),". Lädt dein schnelles Alltags-Hirn (`fast`) oder dein schweres Logik-Hirn (`heavy`) vollautomatisch im VRAM."]})]}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-card/20 space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(yu,{className:"h-4 w-4 text-indigo-400"}),c.jsx("h3",{className:"text-xs font-bold text-foreground",children:"3. Das Gedächtnis"})]}),c.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:"Dein geteiltes Langzeitgedächtnis (Memory-Pool). Hier merkt sich dein Agent Regeln, Projekt-Details und Vorlieben."})]})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 px-1",children:[c.jsx(Vg,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Vibe Coding auf dem PC einrichten"})]}),c.jsxs("div",{className:"flex gap-1.5 bg-card/20 p-1 border border-border/40 rounded-xl max-w-fit",children:[c.jsxs("button",{onClick:()=>n("roocode"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer flex items-center gap-1.5",r==="roocode"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:[c.jsx(a2,{className:"h-3.5 w-3.5 fill-amber-400/20"}),"Roo Code (VS Code)"]}),c.jsx("button",{onClick:()=>n("cursor"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",r==="cursor"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:"Cursor IDE"}),c.jsx("button",{onClick:()=>n("opencode"),className:fe("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",r==="opencode"?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:"OpenCode Desktop"})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 space-y-4 shadow-lg shadow-black/10",children:[r==="roocode"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"Roo Code Kopplung (Empfohlene Open-Source-Erweiterung)"}),c.jsx("p",{children:"Roo Code ist die beliebteste und flexibelste Vibe-Coding-Erweiterung für VS Code im Jahr 2026. Sie ermöglicht vollen Zugriff auf das Terminal und das MCP-Gedächtnis."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"Roo Code installieren"]}),c.jsxs("p",{className:"pl-6",children:["Suche in VS Code nach der Erweiterung ",c.jsx("strong",{children:"Roo Code"})," und installiere sie."]})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"API-Anbindung konfigurieren"]}),c.jsx("p",{className:"pl-6",children:"Klicke auf das Roo-Code-Symbol in der Sidebar, öffne die Einstellungen (Zahnrad) und stelle folgendes ein:"}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Provider:"})," OpenAI Compatible"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Key:"})," ",c.jsx("span",{className:"italic text-muted-foreground/50",children:'beliebig (z.B. "local")'})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Model ID:"})," auto"]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"MCP Gedächtnis verknüpfen (Optional, aber empfohlen)"]}),c.jsxs("p",{className:"pl-6",children:["Damit Roo Code auf deinen ",c.jsx("strong",{children:"Gedächtnis-Pool"})," zugreifen kann, kopiere die MCP-Konfiguration aus dem Reiter ",c.jsx("strong",{children:"Verbinden"})," und füge sie in deine lokale Roo-Code-Konfigurationsdatei ein."]})]})]})]}),r==="cursor"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"Cursor IDE Kopplung (Proprietäre All-in-One IDE)"}),c.jsx("p",{children:"Cursor ist ein polierter, extrem schneller VS-Code-Fork mit hervorragenden, tief integrierten Autovervollständigungen (Tab-Completions)."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"Einstellungen öffnen"]}),c.jsxs("p",{className:"pl-6",children:["Öffne Cursor, klicke oben rechts auf das Zahnrad (Settings) und navigiere zu ",c.jsx("strong",{children:"Models"}),"."]})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"OpenAI API überschreiben"]}),c.jsxs("p",{className:"pl-6",children:["Deaktiviere die Standard-Cloudmodelle, klappe den Bereich ",c.jsx("strong",{children:"OpenAI API"})," auf und konfiguriere:"]}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Override Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"API Key:"})," ",c.jsx("span",{className:"italic text-muted-foreground/50",children:'beliebig (z.B. "local")'})]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"Modell hinzufügen"]}),c.jsxs("p",{className:"pl-6",children:["Trage in der Modell-Liste ein neues Modell mit dem Namen ",c.jsx("strong",{children:"auto"})," ein und wähle es als aktives Modell aus. Cursor leitet ab jetzt alle deine Anfragen an die Box weiter."]})]})]})]}),r==="opencode"&&c.jsxs("div",{className:"space-y-4 text-xs leading-relaxed text-muted-foreground",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-sm font-bold text-foreground",children:"OpenCode Desktop Kopplung (Open-Source Vibe-Coding-App)"}),c.jsx("p",{children:"OpenCode ist eine standalone Desktop-App für ein ablenkungsfreies Coden über natürliche Sprache. Es trennt den KI-Prozess von deinem Editor."})]}),c.jsxs("div",{className:"space-y-3.5 border-t border-border/20 pt-4",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"1"}),"OpenCode Desktop herunterladen"]}),c.jsx("p",{className:"pl-6",children:"Lade die Desktop-Anwendung von der offiziellen Website (opencode.ai) herunter und starte sie."})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"2"}),"Endpunkt auf Box-Gateway setzen"]}),c.jsx("p",{className:"pl-6",children:"Gehe in den Bereich Einstellungen ➔ Provider, deaktiviere die Cloud-Voreinstellungen und trage deinen lokalen Server ein:"}),c.jsx("div",{className:"pl-6 pt-1",children:c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] space-y-1 text-foreground",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Base URL:"})," http://",u,":9001/v1"]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-muted-foreground/60",children:"Model:"})," auto"]})]})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"font-semibold text-foreground flex items-center gap-1.5",children:[c.jsx("span",{className:"h-4.5 w-4.5 rounded-full bg-primary/20 text-primary flex items-center justify-center font-mono text-[10px]",children:"3"}),"Erster Vibe-Coding Test"]}),c.jsx("p",{className:"pl-6",children:'Starte eine neue Session und teste die Verbindung mit einem einfachen Prompt, z. B. *"Erstelle ein einfaches Skript, das die Fibonaccizahlen berechnet"*. Das Box-Gateway tauscht das Modell im Hintergrund vollautomatisch aus.'})]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 space-y-3 shadow-lg shadow-black/10",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ju,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Was tun, wenn das Coden hakt?"})]}),c.jsxs("ul",{className:"text-[11px] text-muted-foreground space-y-2 list-disc pl-4 leading-relaxed",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Keine Verbindung?"})," Überprüfe im Live-Verbindungsprüfer oben, ob die Box-IP erreichbar ist. Stelle sicher, dass dein lokaler PC im selben WLAN/LAN-Netzwerk wie die Box eingeloggt ist."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Modell antwortet nicht?"})," Schaue in der ",c.jsx("strong",{children:"Zentrale"})," unter ",c.jsx("strong",{children:"Dienste"}),", ob `llama-swap` aktiv (grün) ist. Wenn nicht, klicke daneben auf ",c.jsx("strong",{children:"Restart"}),"."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Hermes Agent reagiert merkwürdig?"})," Starte im ",c.jsx("strong",{children:"Terminal"})," eine frische Session (neuer `hermes chat`). Ältere Sessions sammeln Kontext-Müll an."]})]})]})]}):c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex items-start gap-4",children:[c.jsx(qg,{className:"h-8 w-8 text-primary shrink-0 mt-0.5"}),c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Entwickler-Guide: Modernes Agentic Coding (2026)"}),c.jsx("p",{className:"text-xs text-muted-foreground leading-normal",children:"Willkommen im Wissenszentrum für dein Mission Control 2 Setup. Hier erfährst du, wie die verschiedenen Technologien (MoE, MCP, Skills, Hermes) zusammenarbeiten und wie du das Maximum aus deinen AI-Prozessabläufen herausholst."})]})]}),c.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(bu,{className:"h-5 w-5 text-cyan-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"1. Mixture of Experts (MoE)"}),c.jsx("span",{className:"text-[9px] text-cyan-400 font-mono",children:"Effizienz durch Spezialisierung"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Bei traditionellen LLMs wird für jedes Wort das gesamte neuronale Netz aktiviert. Bei MoE besteht das Modell aus mehreren spezialisierten Teilnetzwerken (den ",c.jsx("em",{children:"Experts"}),"). Ein intelligenter ",c.jsx("em",{children:"Router"})," entscheidet pro Token (Wortteil), welche Experten zur Berechnung herangezogen werden."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Warum in MC2?"})," So können extrem leistungsstarke Modelle (wie DeepSeek-V3, Mixtral oder Command R+) mit wesentlich geringeren Hardwarekosten ausgeführt werden. Es wird nur ein Bruchteil der Parameter geladen und aktiv berechnet, was Speicherplatz spart und die Inferenz beschleunigt."]}),c.jsxs("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[10px] text-foreground",children:[c.jsx("span",{className:"text-cyan-400",children:"Vorteil:"})," GPT-4-Klasse Performance bei einem Bruchteil der aktiven VRAM-Last auf deinem Homelab!"]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(qg,{className:"h-5 w-5 text-violet-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"2. Model Context Protocol (MCP)"}),c.jsx("span",{className:"text-[9px] text-violet-400 font-mono",children:"Standardisierte Agenten-Tools"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," MCP ist ein offenes Protokoll (initiiert von Anthropic), das festlegt, wie ein KI-Client (z.B. Roo Code auf deinem PC) mit externen Datenquellen und Tools kommuniziert. Es funktioniert wie ein USB-Standard für KI."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Warum in MC2?"})," MCP trennt den AI-Kern von der Umgebung. Statt für jeden Editor eigene Tools zu schreiben, binden deine Agenten (Roo Code, Hermes) einfach MCP-Server an. Diese Server können Dateien lesen, Websuchen durchführen, Git bedienen oder mit deiner App interagieren."]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/25 rounded-xl border border-border/30 text-[10px]",children:[c.jsx("div",{className:"font-bold text-foreground",children:"Gute Quellen für MCP Server:"}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-muted-foreground",children:[c.jsxs("li",{children:[c.jsx("a",{href:"https://smithery.ai/",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Smithery Registry"})," — Ein Portal zum Suchen und automatischen Installieren von MCP Servern."]}),c.jsxs("li",{children:[c.jsx("a",{href:"https://glama.ai/mcp/servers",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Glama MCP Registry"})," — Eine kuratierte, umfangreiche Community-Datenbank von MCP Servern."]}),c.jsxs("li",{children:[c.jsx("a",{href:"https://github.com/modelcontextprotocol/servers",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"Offizielles Anthropic Repo"})," — Das offizielle Repository mit Standards wie filesystem, postgres, sqlite, brave-search und puppeteer."]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(yu,{className:"h-5 w-5 text-emerald-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"3. Agent Skills"}),c.jsx("span",{className:"text-[9px] text-emerald-400 font-mono",children:"Modulbasierte Fähigkeiten"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Ein Skill ist ein Verzeichnis mit standardisierten Anweisungen, Scripten und Beispielen, das deine Agenten für spezifische Aufgaben trainiert (z.B. Test-Driven Development, Code-Vereinfachung, API-Design)."]}),c.jsxs("p",{children:[c.jsx("strong",{children:"Wie benutzt man sie?"})," Lege einen Skill-Ordner unter ",c.jsx("code",{children:".agents/skills/"})," in deinem Projekt an. Das Herzstück ist die Datei ",c.jsx("code",{children:"SKILL.md"})," mit folgendem Aufbau:"]}),c.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- name: tdd-pro description: Drive development with strict TDD practices --- # Instructions -...`}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/25 rounded-xl border border-border/30 text-[10px]",children:[c.jsx("div",{className:"font-bold text-foreground",children:"Wo gibt es Skills & wo liegen sie?"}),c.jsxs("ul",{className:"list-disc pl-4 space-y-2.5 text-muted-foreground",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"skills.sh Registry & CLI:"})," Das offizielle offene Portal für Agent-Skills (",c.jsx("a",{href:"https://skills.sh/",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"skills.sh"}),"). Du kannst Skills direkt über das Terminal suchen und in deinem Projekt installieren:",c.jsxs("div",{className:"mt-1 font-mono text-[9px] bg-background/40 p-2 rounded border border-border/30 text-cyan-300",children:["# Nach Skills suchen:",c.jsx("br",{}),c.jsx("span",{className:"text-foreground",children:"npx skills find"}),c.jsx("br",{}),"# Skill zum aktuellen Projekt hinzufügen:",c.jsx("br",{}),c.jsx("span",{className:"text-foreground",children:"npx skills add [owner/repo]"})]})]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Globaler Pfad:"})," ",c.jsx("code",{className:"text-foreground select-all",children:"C:\\Users\\TobisPC\\.gemini\\config\\plugins\\agent-skills\\skills\\"}),". Hier sind deine vorinstallierten, global verfügbaren Skills (wie ",c.jsx("i",{children:"code-simplification"}),", ",c.jsx("i",{children:"api-and-interface-design"}),", etc.) abgelegt."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Projekt-Pfad:"})," ",c.jsx("code",{className:"text-foreground select-all",children:".agents/skills/"}),". Lege diesen Ordner im Root eines beliebigen Projekts an. Dein lokaler Editor-Agent (z.B. Roo Code) liest ihn beim Starten automatisch ein."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Vorlagen / Beispiele:"})," Kopiere einfach bestehende Skills aus dem globalen Verzeichnis oder erstelle deine eigenen, indem du eine ",c.jsx("code",{children:"SKILL.md"})," mit YAML-Header (name, description) anlegst."]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(_n,{className:"h-5 w-5 text-indigo-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"4. Arbeiten mit Hermes"}),c.jsx("span",{className:"text-[9px] text-indigo-400 font-mono",children:"Autonomer Box-Agent"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Hermes ist der auf der Box installierte, autonome Hintergrund-Agent. Er verwaltet das Dateisystem und kann über REST (Port 8642) oder eine interaktive ChatUI (Port 8787) gesteuert werden."]}),c.jsx("p",{children:c.jsx("strong",{children:"Best Practices für Hermes:"})}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Chat-Kontext sauber halten:"})," Starte regelmäßig neue Chats. Zu große Historien verlangsamen den Agenten und führen zu Halluzinationen."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Gehirn festlegen:"})," Konfiguriere im Gateway die Modell-Rolle ",c.jsx("code",{children:"brain"})," für Hermes, damit er automatisch das passende Modell per Llama Swap lädt."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Sandbox umgehen:"})," Erweitere Hermes' System-Prompt (`~/.hermes/SOUL.md` / Config), um Befehle über SSH an deinen Windows-PC zu leiten."]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4 md:col-span-2",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(ku,{className:"h-5 w-5 text-amber-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"5. Richtiges Arbeiten mit Tools (Dateien, Terminal, DevTools)"}),c.jsx("span",{className:"text-[9px] text-amber-400 font-mono",children:"Fehler vermeiden & Kosten senken"})]})]}),c.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-xs text-muted-foreground leading-normal",children:[c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(ju,{className:"h-3.5 w-3.5 text-primary"})," Terminal"]}),c.jsxs("p",{className:"text-[11px]",children:["Verwende nur non-interaktive Befehle. Hänge bei langen Tasks (wie dev-Servern) ein ",c.jsx("code",{children:"&"})," an oder nutze die integrierte Job-Verwaltung. Verwende niemals interaktive Eingabeaufforderungen."]})]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(Vg,{className:"h-3.5 w-3.5 text-cyan-400"})," Dateimanager"]}),c.jsxs("p",{className:"text-[11px]",children:["Überschreibe keine ganzen Dateien, wenn du nur eine Zeile ändern willst. Verwende gezielte Ersetzungs-Tools (wie ",c.jsx("code",{children:"replace_file_content"}),"). Das spart massiv Token-Kosten und beugt Fehlern vor."]})]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(ku,{className:"h-3.5 w-3.5 text-violet-400"})," Browser DevTools"]}),c.jsx("p",{className:"text-[11px]",children:"Koppele deine Debug-Dienste mit dem Chrome-DevTools-Plugin. So kann der Agent Fehler in der Konsole live analysieren und das DOM verifizieren, anstatt blind zu raten."})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4 md:col-span-2",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(wu,{className:"h-5 w-5 text-emerald-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Wie autonom ist Mission Control 2 wirklich?"}),c.jsx("span",{className:"text-[9px] text-emerald-400 font-mono",children:"Die Grenze zwischen Automatisierung und Kontrolle"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-normal",children:[c.jsxs("p",{children:["Mission Control 2 ist als ",c.jsx("strong",{children:"semi-autonomes Gateway"})," konzipiert. Es besitzt die Fähigkeit, komplexe Workflows komplett selbstständig durchzuführen, unterliegt jedoch strikten Sicherheitsplanken:"]}),c.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 pt-1",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1 text-[11px]",children:[c.jsx(X1,{className:"h-3 w-3 text-emerald-400"})," Was läuft vollautomatisch?"]}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-[11px]",children:[c.jsx("li",{children:"Modellaustausch (Routing) per llama-swap je nach Anfragetyp (z.B. Code vs. Reasoning)."}),c.jsx("li",{children:"Hintergrund-Synchronisation und Speicherung von Gedächtniseinträgen (Memory)."}),c.jsx("li",{children:"Modell-Installation und API-Key-Injektionen in Gateway-Verbindungen."})]})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1 text-[11px]",children:[c.jsx(X1,{className:"h-3 w-3 text-amber-400"})," Wo ist menschliche Freigabe nötig?"]}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-[11px]",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Systembefehle:"})," Das Ausführen von Terminal-Kommandos auf deinem PC erfordert standardmäßig deine Bestätigung."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Kritische Systemeingriffe:"})," OS-Updates, Engine-Rebuilds und Host-Reboots müssen manuell über das Dashboard ausgelöst werden."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Gedächtnis-Löschung:"})," Permanentes Verwerfen von gesammelten Memorys wird von dir freigegeben."]})]})]})]}),c.jsxs("p",{className:"text-[11px] bg-background/25 p-3 rounded-xl border border-border/30 mt-2",children:[c.jsx("strong",{children:"Fazit:"})," Der Stack erledigt die Kärrnerarbeit (Modelle tauschen, API-Adapter bereitstellen, Sandbox-Verbindungen herstellen) komplett im Hintergrund. Er agiert als dein persönlicher, treuer Copilot, ohne jemals ungefragt schädliche Operationen auf deinem Hauptsystem auszuführen."]})]})]})]})]})]})}function yY({title:e,hint:t}){return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-xl font-semibold",children:e}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),c.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[c.jsx(lI,{className:"h-8 w-8 text-muted-foreground"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const xY=[{id:"llama-swap",label:"Llama Swap",type:"system"},{id:"mission-control-2",label:"Mission Control 2",type:"user"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user"}];function Mg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}function bY({open:e,onClose:t,defaultTab:r="maintenance"}){const[n,a]=v.useState(null),[o,u]=v.useState([]),[l,f]=v.useState("llama-swap"),[h,p]=v.useState(""),[g,x]=v.useState(!1),[b,j]=v.useState(null),[k,S]=v.useState({}),[N,P]=v.useState("maintenance"),[O,C]=v.useState(!1),[_,A]=v.useState(""),[I,U]=v.useState(!1),[B,K]=v.useState(null);function X(Z,de,tt){K({type:"alert",title:Z,message:de,onConfirm:()=>{K(null),tt&&tt()}})}function $(Z,de,tt){K({type:"confirm",title:Z,message:de,onConfirm:()=>{K(null),tt()},onCancel:()=>K(null)})}function ue(Z){return Z?new Date(Z*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}const[J,ge]=v.useState(""),[we,pe]=v.useState(""),[Y,V]=v.useState(!1),[Q,D]=v.useState(!1);v.useEffect(()=>{e&&(ge(localStorage.getItem("mc_sudo_password")||""),pe(localStorage.getItem("mc_hf_token")||""))},[e]),v.useEffect(()=>{e&&r&&P(r)},[e,r]);const T=v.useRef(null);function ee(){Me("/api/maintenance/updates").then(a).catch(Z=>console.error("Error loading updates",Z))}function ie(){Me("/api/jobs").then(Z=>u(Z.jobs||[])).catch(Z=>console.error("Error loading jobs",Z))}function re(Z){x(!0),j(null),Me(`/api/maintenance/logs?service=${Z}&lines=150`).then(de=>{de.ok?p(de.text):(p(`Fehler beim Laden der Logs: ${de.err||"Unbekannter Fehler"}`),(de.status==="incorrect_password"||de.status==="password_required")&&j(de.status))}).catch(de=>p(`Fehler: ${de.message}`)).finally(()=>{x(!1),setTimeout(()=>{T.current&&(T.current.scrollTop=T.current.scrollHeight)},50)})}v.useEffect(()=>{if(!e)return;ee(),ie();const Z=setInterval(()=>{ie(),ee()},3e3);return()=>clearInterval(Z)},[e]),v.useEffect(()=>{!e||N!=="logs"||re(l)},[e,N,l]);async function ce(){try{await Me("/api/maintenance/os-update",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler beim Starten des OS-Updates: ${Z.message}`)}}async function me(){try{await Me("/api/maintenance/engine-update",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler beim Engine-Update: ${Z.message}`)}}async function Oe(){C(!0);try{await Me("/api/maintenance/check-updates",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler bei der Update-Suche: ${Z.message}`)}finally{C(!1)}}async function te(Z,de){try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:Z,role:de})}),X("Gestartet",`Modell-Upgrade für '${de}' (${Z}) gestartet.`),ie(),P("maintenance")}catch(tt){X("Fehler",`Fehler beim Starten des Modell-Upgrades: ${tt.message}`)}}async function ke(){$("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Me("/api/maintenance/reboot",{method:"POST"}),X("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(Z){X("Fehler",`Fehler beim Reboot: ${Z.message}`)}})}async function _e(){U(!0),A("Snapshot wird erzeugt...");try{const Z=await Me("/api/system/backup",{method:"POST"});A(Z.ok?`Snapshot erzeugt: ${Z.snapshot} (${Z.files.length} Dateien)`:"Keine Änderungen zu sichern.")}catch(Z){A(`Fehler: ${Z.message}`)}finally{U(!1)}}async function oe(Z){S(de=>({...de,[Z]:!0}));try{const de=await Me("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:Z})});de.ok?X("Dienst neu gestartet",`Dienst ${Z} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&l===Z&&re(Z)}):X("Fehler",`Fehler beim Neustart: ${de.err||"Unbekannter Fehler"}`)}catch(de){X("Fehler",`Fehler beim Neustart: ${de.message}`)}finally{S(de=>({...de,[Z]:!1}))}}async function Xe(Z){try{await Me(`/api/jobs/${Z}/cancel`,{method:"POST"}),ie()}catch(de){X("Fehler",`Fehler beim Abbrechen: ${de.message}`)}}return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:fe("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),c.jsxs("div",{className:fe("fixed inset-y-0 right-0 w-full sm:w-[500px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[c.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(_n,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),c.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[c.jsx("button",{onClick:()=>P("maintenance"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),c.jsx("button",{onClick:()=>P("logs"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),c.jsx("button",{onClick:()=>P("settings"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Wartungsaktionen"}),c.jsxs("div",{className:"flex items-center gap-2",children:[(n==null?void 0:n.last_check)&&c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["Zuletzt gesucht: ",ue(n.last_check)]}),c.jsxs("button",{onClick:Oe,disabled:O,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[c.jsx(cu,{className:fe("h-3 w-3",O&&"animate-spin")}),"Nach Updates suchen"]})]})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[c.jsxs("button",{onClick:ce,className:"flex flex-col items-start gap-1 p-4 rounded-xl border border-border/60 bg-background/20 hover:border-primary/50 transition-all text-left group",children:[c.jsx(wu,{className:"h-5 w-5 text-cyan-400 mb-1 group-hover:scale-105 transition-transform"}),c.jsx("span",{className:"text-xs font-semibold",children:"OS Update (apt)"}),c.jsx("span",{className:"text-[10px] text-muted-foreground",children:n!=null&&n.os?`${n.os} Updates verfügbar`:"Auf neuestem Stand"})]}),c.jsxs("button",{onClick:me,className:"flex flex-col items-start gap-1 p-4 rounded-xl border border-border/60 bg-background/20 hover:border-primary/50 transition-all text-left group",children:[c.jsx(n2,{className:"h-5 w-5 text-violet-400 mb-1 group-hover:scale-105 transition-transform"}),c.jsx("span",{className:"text-xs font-semibold",children:"Engine Update"}),c.jsx("span",{className:"text-[10px] text-muted-foreground",children:n!=null&&n.engine?"Update verfügbar":"Auf neuestem Stand"})]})]}),c.jsxs("button",{onClick:ke,className:"flex w-full items-center gap-3 p-3 rounded-xl border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[c.jsx(bI,{className:"h-4.5 w-4.5"}),c.jsxs("div",{children:[c.jsx("div",{children:"Host-System neu starten (Reboot)"}),c.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet das gesamte Betriebssystem des Homelabs neu"})]})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"System-Backup & Snapshot"}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-background/20 space-y-3",children:[c.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Git-Snapshot der aktuellen Konfigurationen und des System-Zustands erzeugen."}),c.jsxs("button",{onClick:_e,disabled:I,className:"w-full h-9 flex items-center justify-center gap-1.5 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shadow-md shadow-primary/10",children:[c.jsx(wI,{className:fe("h-4 w-4",I&&"animate-pulse")})," Snapshot erstellen"]}),_&&c.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]})]}),(n==null?void 0:n.model_list)&&n.model_list.length>0&&c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Verfügbare Modell-Upgrades"}),(n==null?void 0:n.last_check)&&c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["Gesucht: ",ue(n.last_check)]})]}),c.jsx("div",{className:"space-y-2",children:n.model_list.map(Z=>c.jsx("div",{className:"p-3 rounded-xl border border-border/60 bg-background/20 flex flex-col gap-2",children:c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-xs font-semibold",children:Z.title}),c.jsx("div",{className:"text-[10px] font-mono text-muted-foreground",children:Z.repo}),c.jsxs("div",{className:"text-[10px] text-primary font-semibold uppercase mt-0.5",children:["Rolle: ",Z.role]})]}),c.jsxs("button",{onClick:()=>te(Z.repo,Z.role),className:"flex items-center gap-1.5 text-[10px] font-semibold text-emerald-400 hover:text-emerald-300 border border-emerald-500/20 bg-emerald-500/5 hover:bg-emerald-500/10 px-2 py-1 rounded-lg transition-colors shrink-0",children:[c.jsx(no,{className:"h-3.5 w-3.5"}),"Upgrade"]})]})},Z.role))})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),c.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(Z=>Z.state==="running"||Z.state==="queued").length," Aktiv"]})]}),c.jsx("div",{className:"space-y-3",children:o.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(Z=>{const de=Z.state==="running"||Z.state==="queued";return c.jsxs("div",{className:fe("p-3 rounded-xl border transition-all duration-300",de?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[de&&c.jsxs("span",{className:"flex h-2 w-2 relative",children:[c.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),c.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),Z.label]}),c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[c.jsxs("span",{children:["ID: ",Z.id]}),c.jsx("span",{children:"•"}),c.jsx("span",{className:fe(Z.state==="done"&&"text-emerald-400",Z.state==="failed"&&"text-red-400",Z.state==="running"&&"text-primary",Z.state==="queued"&&"text-amber-400",Z.state==="canceled"&&"text-muted-foreground"),children:Z.state})]})]}),de&&c.jsx("button",{onClick:()=>Xe(Z.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),Z.state==="running"&&c.jsxs("div",{className:"mt-3 space-y-1",children:[c.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${Z.progress??0}%`}})}),c.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[c.jsxs("span",{children:[Z.progress??0,"%"]}),Z.done_bytes!=null&&Z.total_bytes!=null&&c.jsxs("span",{children:[Mg(Z.done_bytes)," / ",Mg(Z.total_bytes),Z.rate_bps!=null&&` (${Mg(Z.rate_bps)}/s)`]}),Z.eta_s!=null&&c.jsxs("span",{children:["ETA: ",Z.eta_s,"s"]})]})]})]},Z.id)})})]})]}),N==="logs"&&c.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("select",{value:l,onChange:Z=>f(Z.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:xY.map(Z=>c.jsxs("option",{value:Z.id,children:[Z.label," (",Z.type==="system"?"systemd-root":"user",")"]},Z.id))}),c.jsxs("button",{onClick:()=>oe(l),disabled:k[l],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[c.jsx(cu,{className:fe("h-3.5 w-3.5",k[l]&&"animate-spin")}),"Restart"]})]}),c.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[c.jsxs("div",{className:"flex h-9 items-center justify-between px-4 border-b border-border/40 bg-black/30 shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground",children:[c.jsx(ju,{className:"h-3 w-3 text-primary"}),c.jsxs("span",{children:["stdout/stderr - ",l]})]}),c.jsx("button",{onClick:()=>re(l),disabled:g,className:"text-muted-foreground hover:text-foreground transition-colors",children:c.jsx(cu,{className:fe("h-3 w-3",g&&"animate-spin")})})]}),c.jsx("pre",{ref:T,className:"flex-1 p-4 overflow-y-auto text-[10px] font-mono text-cyan-300/90 whitespace-pre-wrap select-text leading-relaxed scrollbar-thin",children:b==="password_required"||b==="incorrect_password"?c.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center h-full space-y-3",children:[c.jsx(Cs,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),c.jsx("div",{className:"text-xs font-semibold text-amber-300",children:b==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),c.jsxs("p",{className:"text-[10px] text-muted-foreground max-w-xs leading-normal",children:["Für das Auslesen der systemd-Logs von ",l," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),c.jsx("button",{onClick:()=>P("settings"),className:"px-3 py-1.5 text-[10px] font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-md transition-colors mt-2",children:"Sudo-Passwort eintragen"})]}):g&&!h?c.jsx("span",{className:"text-muted-foreground",children:"Lade Logs..."}):h||c.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."})})]})]}),N==="settings"&&c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),c.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[c.jsx(wu,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:Y?"text":"password",value:J,onChange:Z=>ge(Z.target.value),placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),c.jsx("button",{type:"button",onClick:()=>V(!Y),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:Y?c.jsx(Z1,{className:"h-4 w-4"}):c.jsx(Qg,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[c.jsx(fI,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:Q?"text":"password",value:we,onChange:Z=>pe(Z.target.value),placeholder:"hf_...",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),c.jsx("button",{type:"button",onClick:()=>D(!Q),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:Q?c.jsx(Z1,{className:"h-4 w-4"}):c.jsx(Qg,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),c.jsxs("div",{className:"flex gap-3 pt-2",children:[c.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",J),localStorage.setItem("mc_hf_token",we),X("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),c.jsx("button",{onClick:()=>{ge(""),pe(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),X("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})]})]}),B&&c.jsx(s_,{type:B.type,title:B.title,message:B.message,onConfirm:B.onConfirm,onCancel:B.onCancel})]})}function wY(){var g,x,b,j,k;O4();const[e,t]=v.useState("dashboard"),[r,n]=v.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[a,o]=v.useState(!1),[u,l]=v.useState("maintenance"),{data:f}=$3(),{data:h}=lh(2e4);v.useEffect(()=>{document.documentElement.classList.add("dark")},[]),v.useEffect(()=>{const S=N=>{var O;l(((O=N.detail)==null?void 0:O.tab)||"maintenance"),o(!0)};return window.addEventListener("open-system-drawer",S),()=>window.removeEventListener("open-system-drawer",S)},[]),v.useEffect(()=>{const S=N=>{var O;const P=(O=N.detail)==null?void 0:O.view;P&&t(P)};return window.addEventListener("mc-navigate",S),()=>window.removeEventListener("mc-navigate",S)},[]);const p=Zg.find(S=>S.id===e);return c.jsxs("div",{className:"flex h-full relative",children:[c.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[c.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),c.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),c.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),c.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),c.jsx(D3,{onNavigate:t}),c.jsx(bY,{open:a,onClose:()=>o(!1),defaultTab:u}),c.jsxs("aside",{className:fe("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",r?"w-16":"w-60"),children:[c.jsxs("div",{className:fe("flex items-center py-4 border-b border-border/40 shrink-0",r?"flex-col gap-3 px-2":"justify-between px-5"),children:[c.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[c.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!r&&c.jsxs("div",{className:"leading-tight",children:[c.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),c.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),c.jsx("button",{onClick:()=>{n(S=>{const N=!S;return localStorage.setItem("mc_sidebar_collapsed",N.toString()),N})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:r?"Maximieren":"Minimieren",children:r?c.jsx(r2,{className:"h-4 w-4"}):c.jsx(nI,{className:"h-4 w-4"})})]}),c.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:Zg.map(S=>c.jsxs("button",{onClick:()=>t(S.id),className:fe("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",r?"justify-center p-2.5":"gap-3 px-3 py-2",e===S.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:r?S.label:void 0,children:[c.jsx(S.icon,{className:"h-4.5 w-4.5 shrink-0"}),!r&&c.jsx("span",{className:"truncate",children:S.label})]},S.id))}),c.jsx("div",{className:fe("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",r?"px-2 text-center":"px-5"),children:r?c.jsx("div",{className:"flex justify-center",children:c.jsx("span",{className:fe("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",f?f.engine_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:f?`Engine ${f.engine_reachable?"online":"offline"}`:"Backend offline"})}):c.jsxs("div",{className:"space-y-2 text-left",children:[f?c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full animate-pulse",f.engine_reachable?"bg-emerald-500":"bg-amber-500")}),c.jsxs("span",{className:"truncate",children:["Engine ",f.engine_reachable?"online":"offline"]})]}):c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",c.jsx("span",{className:"truncate",children:"Backend offline"})]}),(h==null?void 0:h.versions)&&c.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[c.jsxs("div",{className:"truncate",title:h.versions.mc2?`${h.versions.mc2.branch}-${h.versions.mc2.hash}${h.versions.mc2.dirty?"*":""} (${h.versions.mc2.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"MC2:"})," ",h.versions.mc2?`${h.versions.mc2.hash}${h.versions.mc2.dirty?"*":""}`:"—"]}),c.jsxs("div",{className:"truncate",title:((g=h.versions.engine)==null?void 0:g.type)==="git"?`${h.versions.engine.branch}-${h.versions.engine.hash}${h.versions.engine.dirty?"*":""} (${h.versions.engine.date})`:((x=h.versions.engine)==null?void 0:x.version_text)||"unbekannt",children:[c.jsx("strong",{children:"Engine:"})," ",((b=h.versions.engine)==null?void 0:b.type)==="git"?`${h.versions.engine.hash}${h.versions.engine.dirty?"*":""}`:((k=(j=h.versions.engine)==null?void 0:j.version_text)==null?void 0:k.split(" ").pop())||"—"]}),c.jsxs("div",{className:"truncate",title:h.versions.hermes_ui?`${h.versions.hermes_ui.branch}-${h.versions.hermes_ui.hash}${h.versions.hermes_ui.dirty?"*":""} (${h.versions.hermes_ui.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"Hermes UI:"})," ",h.versions.hermes_ui?`${h.versions.hermes_ui.hash}${h.versions.hermes_ui.dirty?"*":""}`:"—"]}),c.jsxs("div",{className:"truncate",title:h.versions.hermes_agent?`${h.versions.hermes_agent.branch}-${h.versions.hermes_agent.hash}${h.versions.hermes_agent.dirty?"*":""} (${h.versions.hermes_agent.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"Hermes Agent:"})," ",h.versions.hermes_agent?`${h.versions.hermes_agent.hash}${h.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),c.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[c.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[c.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:p.hint}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),c.jsxs("button",{onClick:()=>{const S=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(S)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[c.jsx(sI,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:"Suchen"}),c.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),c.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[e==="dashboard"&&c.jsx(JQ,{}),e==="models"&&c.jsx(oY,{}),e==="connect"&&c.jsx(sY,{}),e==="memory"&&c.jsx(pY,{}),e==="agent"&&c.jsx(mY,{}),e==="terminal"&&c.jsx(gY,{}),e==="guide"&&c.jsx(vY,{}),!["dashboard","models","connect","memory","agent","terminal","guide"].includes(e)&&c.jsx(yY,{title:p.label,hint:p.hint})]})]})]})}const jY=new zM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});hM.createRoot(document.getElementById("root")).render(c.jsx(FN.StrictMode,{children:c.jsx(FM,{client:jY,children:c.jsx(wY,{})})}));export{FN as R,kd as S,Xg as T,Fs as a,SI as b,fM as c,iy as g,c as j,fC as l,v as r}; +...`}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/25 rounded-xl border border-border/30 text-[10px]",children:[c.jsx("div",{className:"font-bold text-foreground",children:"Wo gibt es Skills & wo liegen sie?"}),c.jsxs("ul",{className:"list-disc pl-4 space-y-2.5 text-muted-foreground",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"skills.sh Registry & CLI:"})," Das offizielle offene Portal für Agent-Skills (",c.jsx("a",{href:"https://skills.sh/",target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold",children:"skills.sh"}),"). Du kannst Skills direkt über das Terminal suchen und in deinem Projekt installieren:",c.jsxs("div",{className:"mt-1 font-mono text-[9px] bg-background/40 p-2 rounded border border-border/30 text-cyan-300",children:["# Nach Skills suchen:",c.jsx("br",{}),c.jsx("span",{className:"text-foreground",children:"npx skills find"}),c.jsx("br",{}),"# Skill zum aktuellen Projekt hinzufügen:",c.jsx("br",{}),c.jsx("span",{className:"text-foreground",children:"npx skills add [owner/repo]"})]})]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Globaler Pfad:"})," ",c.jsx("code",{className:"text-foreground select-all",children:"C:\\Users\\TobisPC\\.gemini\\config\\plugins\\agent-skills\\skills\\"}),". Hier sind deine vorinstallierten, global verfügbaren Skills (wie ",c.jsx("i",{children:"code-simplification"}),", ",c.jsx("i",{children:"api-and-interface-design"}),", etc.) abgelegt."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Projekt-Pfad:"})," ",c.jsx("code",{className:"text-foreground select-all",children:".agents/skills/"}),". Lege diesen Ordner im Root eines beliebigen Projekts an. Dein lokaler Editor-Agent (z.B. Roo Code) liest ihn beim Starten automatisch ein."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Vorlagen / Beispiele:"})," Kopiere einfach bestehende Skills aus dem globalen Verzeichnis oder erstelle deine eigenen, indem du eine ",c.jsx("code",{children:"SKILL.md"})," mit YAML-Header (name, description) anlegst."]})]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(_n,{className:"h-5 w-5 text-indigo-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"4. Arbeiten mit Hermes"}),c.jsx("span",{className:"text-[9px] text-indigo-400 font-mono",children:"Autonomer Box-Agent"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 leading-normal",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"Was ist das?"})," Hermes ist der auf der Box installierte, autonome Hintergrund-Agent. Er verwaltet das Dateisystem und kann über REST (Port 8642) oder eine interaktive ChatUI (Port 8787) gesteuert werden."]}),c.jsx("p",{children:c.jsx("strong",{children:"Best Practices für Hermes:"})}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Chat-Kontext sauber halten:"})," Starte regelmäßig neue Chats. Zu große Historien verlangsamen den Agenten und führen zu Halluzinationen."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Gehirn festlegen:"})," Konfiguriere im Gateway die Modell-Rolle ",c.jsx("code",{children:"brain"})," für Hermes, damit er automatisch das passende Modell per Llama Swap lädt."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Sandbox umgehen:"})," Erweitere Hermes' System-Prompt (`~/.hermes/SOUL.md` / Config), um Befehle über SSH an deinen Windows-PC zu leiten."]})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4 md:col-span-2",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(ku,{className:"h-5 w-5 text-amber-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"5. Richtiges Arbeiten mit Tools (Dateien, Terminal, DevTools)"}),c.jsx("span",{className:"text-[9px] text-amber-400 font-mono",children:"Fehler vermeiden & Kosten senken"})]})]}),c.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-xs text-muted-foreground leading-normal",children:[c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(ju,{className:"h-3.5 w-3.5 text-primary"})," Terminal"]}),c.jsxs("p",{className:"text-[11px]",children:["Verwende nur non-interaktive Befehle. Hänge bei langen Tasks (wie dev-Servern) ein ",c.jsx("code",{children:"&"})," an oder nutze die integrierte Job-Verwaltung. Verwende niemals interaktive Eingabeaufforderungen."]})]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(Vg,{className:"h-3.5 w-3.5 text-cyan-400"})," Dateimanager"]}),c.jsxs("p",{className:"text-[11px]",children:["Überschreibe keine ganzen Dateien, wenn du nur eine Zeile ändern willst. Verwende gezielte Ersetzungs-Tools (wie ",c.jsx("code",{children:"replace_file_content"}),"). Das spart massiv Token-Kosten und beugt Fehlern vor."]})]}),c.jsxs("div",{className:"space-y-1.5 p-3 bg-background/10 rounded-xl border border-border/30",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1",children:[c.jsx(ku,{className:"h-3.5 w-3.5 text-violet-400"})," Browser DevTools"]}),c.jsx("p",{className:"text-[11px]",children:"Koppele deine Debug-Dienste mit dem Chrome-DevTools-Plugin. So kann der Agent Fehler in der Konsole live analysieren und das DOM verifizieren, anstatt blind zu raten."})]})]})]}),c.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 p-6 shadow-lg shadow-black/10 space-y-4 md:col-span-2",children:[c.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 pb-3",children:[c.jsx(wu,{className:"h-5 w-5 text-emerald-400"}),c.jsxs("div",{children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Wie autonom ist Mission Control 2 wirklich?"}),c.jsx("span",{className:"text-[9px] text-emerald-400 font-mono",children:"Die Grenze zwischen Automatisierung und Kontrolle"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-normal",children:[c.jsxs("p",{children:["Mission Control 2 ist als ",c.jsx("strong",{children:"semi-autonomes Gateway"})," konzipiert. Es besitzt die Fähigkeit, komplexe Workflows komplett selbstständig durchzuführen, unterliegt jedoch strikten Sicherheitsplanken:"]}),c.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 pt-1",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1 text-[11px]",children:[c.jsx(X1,{className:"h-3 w-3 text-emerald-400"})," Was läuft vollautomatisch?"]}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-[11px]",children:[c.jsx("li",{children:"Modellaustausch (Routing) per llama-swap je nach Anfragetyp (z.B. Code vs. Reasoning)."}),c.jsx("li",{children:"Hintergrund-Synchronisation und Speicherung von Gedächtniseinträgen (Memory)."}),c.jsx("li",{children:"Modell-Installation und API-Key-Injektionen in Gateway-Verbindungen."})]})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("h4",{className:"font-bold text-foreground flex items-center gap-1 text-[11px]",children:[c.jsx(X1,{className:"h-3 w-3 text-amber-400"})," Wo ist menschliche Freigabe nötig?"]}),c.jsxs("ul",{className:"list-disc pl-4 space-y-1 text-[11px]",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Systembefehle:"})," Das Ausführen von Terminal-Kommandos auf deinem PC erfordert standardmäßig deine Bestätigung."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Kritische Systemeingriffe:"})," OS-Updates, Engine-Rebuilds und Host-Reboots müssen manuell über das Dashboard ausgelöst werden."]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Gedächtnis-Löschung:"})," Permanentes Verwerfen von gesammelten Memorys wird von dir freigegeben."]})]})]})]}),c.jsxs("p",{className:"text-[11px] bg-background/25 p-3 rounded-xl border border-border/30 mt-2",children:[c.jsx("strong",{children:"Fazit:"})," Der Stack erledigt die Kärrnerarbeit (Modelle tauschen, API-Adapter bereitstellen, Sandbox-Verbindungen herstellen) komplett im Hintergrund. Er agiert als dein persönlicher, treuer Copilot, ohne jemals ungefragt schädliche Operationen auf deinem Hauptsystem auszuführen."]})]})]})]})]})]})}function vY({title:e,hint:t}){return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-xl font-semibold",children:e}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),c.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[c.jsx(lI,{className:"h-8 w-8 text-muted-foreground"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const yY=[{id:"llama-swap",label:"Llama Swap",type:"system"},{id:"mission-control-2",label:"Mission Control 2",type:"user"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user"}];function Mg(e){return e==null?"":e>1024**3?`${(e/1024**3).toFixed(2)} GB`:`${(e/1024**2).toFixed(1)} MB`}function xY({open:e,onClose:t,defaultTab:r="maintenance"}){const[n,a]=v.useState(null),[o,u]=v.useState([]),[l,f]=v.useState("llama-swap"),[h,p]=v.useState(""),[g,x]=v.useState(!1),[b,j]=v.useState(null),[k,S]=v.useState({}),[N,P]=v.useState("maintenance"),[O,C]=v.useState(!1),[_,A]=v.useState(""),[I,U]=v.useState(!1),[B,K]=v.useState(null);function X(Z,de,tt){K({type:"alert",title:Z,message:de,onConfirm:()=>{K(null),tt&&tt()}})}function $(Z,de,tt){K({type:"confirm",title:Z,message:de,onConfirm:()=>{K(null),tt()},onCancel:()=>K(null)})}function ue(Z){return Z?new Date(Z*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}const[J,ge]=v.useState(""),[we,pe]=v.useState(""),[Y,V]=v.useState(!1),[Q,D]=v.useState(!1);v.useEffect(()=>{e&&(ge(localStorage.getItem("mc_sudo_password")||""),pe(localStorage.getItem("mc_hf_token")||""))},[e]),v.useEffect(()=>{e&&r&&P(r)},[e,r]);const T=v.useRef(null);function ee(){Me("/api/maintenance/updates").then(a).catch(Z=>console.error("Error loading updates",Z))}function ie(){Me("/api/jobs").then(Z=>u(Z.jobs||[])).catch(Z=>console.error("Error loading jobs",Z))}function re(Z){x(!0),j(null),Me(`/api/maintenance/logs?service=${Z}&lines=150`).then(de=>{de.ok?p(de.text):(p(`Fehler beim Laden der Logs: ${de.err||"Unbekannter Fehler"}`),(de.status==="incorrect_password"||de.status==="password_required")&&j(de.status))}).catch(de=>p(`Fehler: ${de.message}`)).finally(()=>{x(!1),setTimeout(()=>{T.current&&(T.current.scrollTop=T.current.scrollHeight)},50)})}v.useEffect(()=>{if(!e)return;ee(),ie();const Z=setInterval(()=>{ie(),ee()},3e3);return()=>clearInterval(Z)},[e]),v.useEffect(()=>{!e||N!=="logs"||re(l)},[e,N,l]);async function ce(){try{await Me("/api/maintenance/os-update",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler beim Starten des OS-Updates: ${Z.message}`)}}async function me(){try{await Me("/api/maintenance/engine-update",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler beim Engine-Update: ${Z.message}`)}}async function Oe(){C(!0);try{await Me("/api/maintenance/check-updates",{method:"POST"}),ie(),P("maintenance")}catch(Z){X("Fehler",`Fehler bei der Update-Suche: ${Z.message}`)}finally{C(!1)}}async function te(Z,de){try{await Me("/api/models/install",{method:"POST",body:JSON.stringify({repo:Z,role:de})}),X("Gestartet",`Modell-Upgrade für '${de}' (${Z}) gestartet.`),ie(),P("maintenance")}catch(tt){X("Fehler",`Fehler beim Starten des Modell-Upgrades: ${tt.message}`)}}async function ke(){$("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Me("/api/maintenance/reboot",{method:"POST"}),X("Reboot","Reboot ausgelöst. System startet neu...",()=>{t()})}catch(Z){X("Fehler",`Fehler beim Reboot: ${Z.message}`)}})}async function _e(){U(!0),A("Snapshot wird erzeugt...");try{const Z=await Me("/api/system/backup",{method:"POST"});A(Z.ok?`Snapshot erzeugt: ${Z.snapshot} (${Z.files.length} Dateien)`:"Keine Änderungen zu sichern.")}catch(Z){A(`Fehler: ${Z.message}`)}finally{U(!1)}}async function oe(Z){S(de=>({...de,[Z]:!0}));try{const de=await Me("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:Z})});de.ok?X("Dienst neu gestartet",`Dienst ${Z} wurde erfolgreich neu gestartet.`,()=>{N==="logs"&&l===Z&&re(Z)}):X("Fehler",`Fehler beim Neustart: ${de.err||"Unbekannter Fehler"}`)}catch(de){X("Fehler",`Fehler beim Neustart: ${de.message}`)}finally{S(de=>({...de,[Z]:!1}))}}async function Xe(Z){try{await Me(`/api/jobs/${Z}/cancel`,{method:"POST"}),ie()}catch(de){X("Fehler",`Fehler beim Abbrechen: ${de.message}`)}}return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:fe("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:t}),c.jsxs("div",{className:fe("fixed inset-y-0 right-0 w-full sm:w-[500px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",e?"translate-x-0":"translate-x-full"),children:[c.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(_n,{className:"h-4.5 w-4.5 text-primary"}),c.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),c.jsx("button",{onClick:t,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:c.jsx(oi,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[c.jsx("button",{onClick:()=>P("maintenance"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),c.jsx("button",{onClick:()=>P("logs"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),c.jsx("button",{onClick:()=>P("settings"),className:fe("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",N==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[N==="maintenance"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Wartungsaktionen"}),c.jsxs("div",{className:"flex items-center gap-2",children:[(n==null?void 0:n.last_check)&&c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["Zuletzt gesucht: ",ue(n.last_check)]}),c.jsxs("button",{onClick:Oe,disabled:O,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[c.jsx(cu,{className:fe("h-3 w-3",O&&"animate-spin")}),"Nach Updates suchen"]})]})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[c.jsxs("button",{onClick:ce,className:"flex flex-col items-start gap-1 p-4 rounded-xl border border-border/60 bg-background/20 hover:border-primary/50 transition-all text-left group",children:[c.jsx(wu,{className:"h-5 w-5 text-cyan-400 mb-1 group-hover:scale-105 transition-transform"}),c.jsx("span",{className:"text-xs font-semibold",children:"OS Update (apt)"}),c.jsx("span",{className:"text-[10px] text-muted-foreground",children:n!=null&&n.os?`${n.os} Updates verfügbar`:"Auf neuestem Stand"})]}),c.jsxs("button",{onClick:me,className:"flex flex-col items-start gap-1 p-4 rounded-xl border border-border/60 bg-background/20 hover:border-primary/50 transition-all text-left group",children:[c.jsx(n2,{className:"h-5 w-5 text-violet-400 mb-1 group-hover:scale-105 transition-transform"}),c.jsx("span",{className:"text-xs font-semibold",children:"Engine Update"}),c.jsx("span",{className:"text-[10px] text-muted-foreground",children:n!=null&&n.engine?"Update verfügbar":"Auf neuestem Stand"})]})]}),c.jsxs("button",{onClick:ke,className:"flex w-full items-center gap-3 p-3 rounded-xl border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[c.jsx(bI,{className:"h-4.5 w-4.5"}),c.jsxs("div",{children:[c.jsx("div",{children:"Host-System neu starten (Reboot)"}),c.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet das gesamte Betriebssystem des Homelabs neu"})]})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"System-Backup & Snapshot"}),c.jsxs("div",{className:"p-4 rounded-xl border border-border/60 bg-background/20 space-y-3",children:[c.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Git-Snapshot der aktuellen Konfigurationen und des System-Zustands erzeugen."}),c.jsxs("button",{onClick:_e,disabled:I,className:"w-full h-9 flex items-center justify-center gap-1.5 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shadow-md shadow-primary/10",children:[c.jsx(wI,{className:fe("h-4 w-4",I&&"animate-pulse")})," Snapshot erstellen"]}),_&&c.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:_})]})]}),(n==null?void 0:n.model_list)&&n.model_list.length>0&&c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Verfügbare Modell-Upgrades"}),(n==null?void 0:n.last_check)&&c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["Gesucht: ",ue(n.last_check)]})]}),c.jsx("div",{className:"space-y-2",children:n.model_list.map(Z=>c.jsx("div",{className:"p-3 rounded-xl border border-border/60 bg-background/20 flex flex-col gap-2",children:c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-xs font-semibold",children:Z.title}),c.jsx("div",{className:"text-[10px] font-mono text-muted-foreground",children:Z.repo}),c.jsxs("div",{className:"text-[10px] text-primary font-semibold uppercase mt-0.5",children:["Rolle: ",Z.role]})]}),c.jsxs("button",{onClick:()=>te(Z.repo,Z.role),className:"flex items-center gap-1.5 text-[10px] font-semibold text-emerald-400 hover:text-emerald-300 border border-emerald-500/20 bg-emerald-500/5 hover:bg-emerald-500/10 px-2 py-1 rounded-lg transition-colors shrink-0",children:[c.jsx(no,{className:"h-3.5 w-3.5"}),"Upgrade"]})]})},Z.role))})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),c.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[o.filter(Z=>Z.state==="running"||Z.state==="queued").length," Aktiv"]})]}),c.jsx("div",{className:"space-y-3",children:o.length===0?c.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):o.map(Z=>{const de=Z.state==="running"||Z.state==="queued";return c.jsxs("div",{className:fe("p-3 rounded-xl border transition-all duration-300",de?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[de&&c.jsxs("span",{className:"flex h-2 w-2 relative",children:[c.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),c.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),Z.label]}),c.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[c.jsxs("span",{children:["ID: ",Z.id]}),c.jsx("span",{children:"•"}),c.jsx("span",{className:fe(Z.state==="done"&&"text-emerald-400",Z.state==="failed"&&"text-red-400",Z.state==="running"&&"text-primary",Z.state==="queued"&&"text-amber-400",Z.state==="canceled"&&"text-muted-foreground"),children:Z.state})]})]}),de&&c.jsx("button",{onClick:()=>Xe(Z.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),Z.state==="running"&&c.jsxs("div",{className:"mt-3 space-y-1",children:[c.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${Z.progress??0}%`}})}),c.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[c.jsxs("span",{children:[Z.progress??0,"%"]}),Z.done_bytes!=null&&Z.total_bytes!=null&&c.jsxs("span",{children:[Mg(Z.done_bytes)," / ",Mg(Z.total_bytes),Z.rate_bps!=null&&` (${Mg(Z.rate_bps)}/s)`]}),Z.eta_s!=null&&c.jsxs("span",{children:["ETA: ",Z.eta_s,"s"]})]})]})]},Z.id)})})]})]}),N==="logs"&&c.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("select",{value:l,onChange:Z=>f(Z.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:yY.map(Z=>c.jsxs("option",{value:Z.id,children:[Z.label," (",Z.type==="system"?"systemd-root":"user",")"]},Z.id))}),c.jsxs("button",{onClick:()=>oe(l),disabled:k[l],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[c.jsx(cu,{className:fe("h-3.5 w-3.5",k[l]&&"animate-spin")}),"Restart"]})]}),c.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[c.jsxs("div",{className:"flex h-9 items-center justify-between px-4 border-b border-border/40 bg-black/30 shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground",children:[c.jsx(ju,{className:"h-3 w-3 text-primary"}),c.jsxs("span",{children:["stdout/stderr - ",l]})]}),c.jsx("button",{onClick:()=>re(l),disabled:g,className:"text-muted-foreground hover:text-foreground transition-colors",children:c.jsx(cu,{className:fe("h-3 w-3",g&&"animate-spin")})})]}),c.jsx("pre",{ref:T,className:"flex-1 p-4 overflow-y-auto text-[10px] font-mono text-cyan-300/90 whitespace-pre-wrap select-text leading-relaxed scrollbar-thin",children:b==="password_required"||b==="incorrect_password"?c.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center h-full space-y-3",children:[c.jsx(Cs,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),c.jsx("div",{className:"text-xs font-semibold text-amber-300",children:b==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),c.jsxs("p",{className:"text-[10px] text-muted-foreground max-w-xs leading-normal",children:["Für das Auslesen der systemd-Logs von ",l," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),c.jsx("button",{onClick:()=>P("settings"),className:"px-3 py-1.5 text-[10px] font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-md transition-colors mt-2",children:"Sudo-Passwort eintragen"})]}):g&&!h?c.jsx("span",{className:"text-muted-foreground",children:"Lade Logs..."}):h||c.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."})})]})]}),N==="settings"&&c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),c.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[c.jsx(wu,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:Y?"text":"password",value:J,onChange:Z=>ge(Z.target.value),placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),c.jsx("button",{type:"button",onClick:()=>V(!Y),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:Y?c.jsx(Z1,{className:"h-4 w-4"}):c.jsx(Qg,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[c.jsx(fI,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),c.jsxs("div",{className:"relative",children:[c.jsx("input",{type:Q?"text":"password",value:we,onChange:Z=>pe(Z.target.value),placeholder:"hf_...",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),c.jsx("button",{type:"button",onClick:()=>D(!Q),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:Q?c.jsx(Z1,{className:"h-4 w-4"}):c.jsx(Qg,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),c.jsxs("div",{className:"flex gap-3 pt-2",children:[c.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",J),localStorage.setItem("mc_hf_token",we),X("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),c.jsx("button",{onClick:()=>{ge(""),pe(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),X("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})]})]}),B&&c.jsx(s_,{type:B.type,title:B.title,message:B.message,onConfirm:B.onConfirm,onCancel:B.onCancel})]})}function bY(){var g,x,b,j,k;A4();const[e,t]=v.useState("dashboard"),[r,n]=v.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[a,o]=v.useState(!1),[u,l]=v.useState("maintenance"),{data:f}=R3(),{data:h}=lh(2e4);v.useEffect(()=>{document.documentElement.classList.add("dark")},[]),v.useEffect(()=>{const S=N=>{var O;l(((O=N.detail)==null?void 0:O.tab)||"maintenance"),o(!0)};return window.addEventListener("open-system-drawer",S),()=>window.removeEventListener("open-system-drawer",S)},[]),v.useEffect(()=>{const S=N=>{var O;const P=(O=N.detail)==null?void 0:O.view;P&&t(P)};return window.addEventListener("mc-navigate",S),()=>window.removeEventListener("mc-navigate",S)},[]);const p=Zg.find(S=>S.id===e);return c.jsxs("div",{className:"flex h-full relative",children:[c.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[c.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),c.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),c.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),c.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),c.jsx(T3,{onNavigate:t}),c.jsx(xY,{open:a,onClose:()=>o(!1),defaultTab:u}),c.jsxs("aside",{className:fe("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",r?"w-16":"w-60"),children:[c.jsxs("div",{className:fe("flex items-center py-4 border-b border-border/40 shrink-0",r?"flex-col gap-3 px-2":"justify-between px-5"),children:[c.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[c.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!r&&c.jsxs("div",{className:"leading-tight",children:[c.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),c.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),c.jsx("button",{onClick:()=>{n(S=>{const N=!S;return localStorage.setItem("mc_sidebar_collapsed",N.toString()),N})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:r?"Maximieren":"Minimieren",children:r?c.jsx(r2,{className:"h-4 w-4"}):c.jsx(nI,{className:"h-4 w-4"})})]}),c.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:Zg.map(S=>c.jsxs("button",{onClick:()=>t(S.id),className:fe("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",r?"justify-center p-2.5":"gap-3 px-3 py-2",e===S.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:r?S.label:void 0,children:[c.jsx(S.icon,{className:"h-4.5 w-4.5 shrink-0"}),!r&&c.jsx("span",{className:"truncate",children:S.label})]},S.id))}),c.jsx("div",{className:fe("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",r?"px-2 text-center":"px-5"),children:r?c.jsx("div",{className:"flex justify-center",children:c.jsx("span",{className:fe("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",f?f.engine_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:f?`Engine ${f.engine_reachable?"online":"offline"}`:"Backend offline"})}):c.jsxs("div",{className:"space-y-2 text-left",children:[f?c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:fe("h-2 w-2 rounded-full animate-pulse",f.engine_reachable?"bg-emerald-500":"bg-amber-500")}),c.jsxs("span",{className:"truncate",children:["Engine ",f.engine_reachable?"online":"offline"]})]}):c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",c.jsx("span",{className:"truncate",children:"Backend offline"})]}),(h==null?void 0:h.versions)&&c.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[c.jsxs("div",{className:"truncate",title:h.versions.mc2?`${h.versions.mc2.branch}-${h.versions.mc2.hash}${h.versions.mc2.dirty?"*":""} (${h.versions.mc2.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"MC2:"})," ",h.versions.mc2?`${h.versions.mc2.hash}${h.versions.mc2.dirty?"*":""}`:"—"]}),c.jsxs("div",{className:"truncate",title:((g=h.versions.engine)==null?void 0:g.type)==="git"?`${h.versions.engine.branch}-${h.versions.engine.hash}${h.versions.engine.dirty?"*":""} (${h.versions.engine.date})`:((x=h.versions.engine)==null?void 0:x.version_text)||"unbekannt",children:[c.jsx("strong",{children:"Engine:"})," ",((b=h.versions.engine)==null?void 0:b.type)==="git"?`${h.versions.engine.hash}${h.versions.engine.dirty?"*":""}`:((k=(j=h.versions.engine)==null?void 0:j.version_text)==null?void 0:k.split(" ").pop())||"—"]}),c.jsxs("div",{className:"truncate",title:h.versions.hermes_ui?`${h.versions.hermes_ui.branch}-${h.versions.hermes_ui.hash}${h.versions.hermes_ui.dirty?"*":""} (${h.versions.hermes_ui.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"Hermes UI:"})," ",h.versions.hermes_ui?`${h.versions.hermes_ui.hash}${h.versions.hermes_ui.dirty?"*":""}`:"—"]}),c.jsxs("div",{className:"truncate",title:h.versions.hermes_agent?`${h.versions.hermes_agent.branch}-${h.versions.hermes_agent.hash}${h.versions.hermes_agent.dirty?"*":""} (${h.versions.hermes_agent.date})`:"nicht gefunden",children:[c.jsx("strong",{children:"Hermes Agent:"})," ",h.versions.hermes_agent?`${h.versions.hermes_agent.hash}${h.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),c.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[c.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[c.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:p.hint}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),c.jsxs("button",{onClick:()=>{const S=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(S)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[c.jsx(sI,{className:"h-3.5 w-3.5"}),c.jsx("span",{children:"Suchen"}),c.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),c.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[e==="dashboard"&&c.jsx(ZQ,{}),e==="models"&&c.jsx(aY,{}),e==="connect"&&c.jsx(oY,{}),e==="memory"&&c.jsx(hY,{}),e==="agent"&&c.jsx(pY,{}),e==="terminal"&&c.jsx(mY,{}),e==="guide"&&c.jsx(gY,{}),!["dashboard","models","connect","memory","agent","terminal","guide"].includes(e)&&c.jsx(vY,{title:p.label,hint:p.hint})]})]})]})}const wY=new zM({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});hM.createRoot(document.getElementById("root")).render(c.jsx(FN.StrictMode,{children:c.jsx(FM,{client:wY,children:c.jsx(bY,{})})}));export{FN as R,kd as S,Xg as T,Fs as a,SI as b,fM as c,iy as g,c as j,fC as l,v as r}; diff --git a/frontend/dist/assets/index-DGdkjhdp.css b/frontend/dist/assets/index-De4PPCGb.css similarity index 55% rename from frontend/dist/assets/index-DGdkjhdp.css rename to frontend/dist/assets/index-De4PPCGb.css index afb6388..422bb00 100644 --- a/frontend/dist/assets/index-DGdkjhdp.css +++ b/frontend/dist/assets/index-De4PPCGb.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-\[-10\%\]{top:-10%}.top-\[30\%\]{top:30%}.right-0{right:0}.right-\[-10\%\]{right:-10%}.right-\[20\%\]{right:20%}.bottom-\[-10\%\]{bottom:-10%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[-10\%\]{left:-10%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-44{height:calc(var(--spacing) * 44)}.h-96{height:calc(var(--spacing) * 96)}.h-\[40\%\]{height:40%}.h-\[50\%\]{height:50%}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-\[68vh\]{min-height:68vh}.min-h-\[90px\]{min-height:90px}.min-h-\[300px\]{min-height:300px}.min-h-\[480px\]{min-height:480px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-60{width:calc(var(--spacing) * 60)}.w-\[40\%\]{width:40%}.w-\[50\%\]{width:50%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[250px\]{max-width:250px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-fit{max-width:fit-content}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scrollbar-thin{scrollbar-width:thin}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/10{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/10{border-color:color-mix(in oklab,hsl(var(--border)) 10%,transparent)}}.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/15{border-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/15{border-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-emerald-500\/50{border-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/50{border-color:color-mix(in oklab,var(--color-emerald-500) 50%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/30{border-color:#625fff4d}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/30{border-color:color-mix(in oklab,var(--color-indigo-500) 30%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/45{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/45{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-l-amber-500\/80{border-left-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.border-l-amber-500\/80{border-left-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.border-l-cyan-500\/80{border-left-color:#00b7d7cc}@supports (color:color-mix(in lab,red,red)){.border-l-cyan-500\/80{border-left-color:color-mix(in oklab,var(--color-cyan-500) 80%,transparent)}}.border-l-indigo-500\/80{border-left-color:#625fffcc}@supports (color:color-mix(in lab,red,red)){.border-l-indigo-500\/80{border-left-color:color-mix(in oklab,var(--color-indigo-500) 80%,transparent)}}.border-l-muted{border-left-color:hsl(var(--muted))}.border-l-pink-500\/80{border-left-color:#f6339acc}@supports (color:color-mix(in lab,red,red)){.border-l-pink-500\/80{border-left-color:color-mix(in oklab,var(--color-pink-500) 80%,transparent)}}.border-l-violet-500\/80{border-left-color:#8d54ffcc}@supports (color:color-mix(in lab,red,red)){.border-l-violet-500\/80{border-left-color:color-mix(in oklab,var(--color-violet-500) 80%,transparent)}}.bg-\[\#070a0f\]{background-color:#070a0f}.bg-\[hsl\(224\,30\%\,6\%\)\]{background-color:#0b0d14}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/25{background-color:#00000040}@supports (color:color-mix(in lab,red,red)){.bg-black\/25{background-color:color-mix(in oklab,var(--color-black) 25%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-card,.bg-card\/10{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/10{background-color:color-mix(in oklab,hsl(var(--card)) 10%,transparent)}}.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-card\/75{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/75{background-color:color-mix(in oklab,hsl(var(--card)) 75%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-card\/90{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,hsl(var(--card)) 90%,transparent)}}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-emerald-500\/\[0\.07\]{background-color:#00bb7f12}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/\[0\.07\]{background-color:color-mix(in oklab,var(--color-emerald-500) 7%,transparent)}}.bg-indigo-500\/5{background-color:#625fff0d}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/5{background-color:color-mix(in oklab,var(--color-indigo-500) 5%,transparent)}}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-muted,.bg-muted\/10{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,hsl(var(--muted)) 10%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted)) 20%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/20{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500) 15%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500{--tw-gradient-from:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500\/20{--tw-gradient-from:#00baa733}@supports (color:color-mix(in lab,red,red)){.from-teal-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.from-teal-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-indigo-500\/15{--tw-gradient-via:#625fff26}@supports (color:color-mix(in lab,red,red)){.via-indigo-500\/15{--tw-gradient-via:color-mix(in oklab, var(--color-indigo-500) 15%, transparent)}}.via-indigo-500\/15{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-500\/20{--tw-gradient-to:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/20{--tw-gradient-to:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.to-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-500{--tw-gradient-to:var(--color-sky-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-amber-400\/20{fill:#fcbb0033}@supports (color:color-mix(in lab,red,red)){.fill-amber-400\/20{fill:color-mix(in oklab,var(--color-amber-400) 20%,transparent)}}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-px{padding-bottom:1px}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/90{color:#53eafde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/90{color:color-mix(in oklab,var(--color-cyan-300) 90%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground,.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-muted-foreground,.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-orange-300{color:var(--color-orange-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-slate-300{color:var(--color-slate-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-35{opacity:.35}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/5{--tw-shadow-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/10{--tw-shadow-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[130px\]{--tw-blur:blur(130px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[140px\]{--tw-blur:blur(140px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[160px\]{--tw-blur:blur(160px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media(hover:hover){.hover\:border-primary:hover,.hover\:border-primary\/20:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/15:hover{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/15:hover{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.hover\:bg-background\/30:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/30:hover{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/30:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/30:hover{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.hover\:bg-card\/70:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/70:hover{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-indigo-500\/15:hover{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-indigo-500\/15:hover{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/15:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/15:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-400:hover{background-color:var(--color-red-400)}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus,.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:w-\[500px\]{width:500px}.sm\:max-w-\[400px\]{max-width:400px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-auto{align-self:auto}.sm\:p-10{padding:calc(var(--spacing) * 10)}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem}.light{--background:0 0% 100%;--foreground:222 22% 12%;--card:0 0% 100%;--card-foreground:222 22% 12%;--popover:0 0% 100%;--popover-foreground:222 22% 12%;--primary:172 70% 38%;--primary-foreground:0 0% 100%;--muted:220 14% 95%;--muted-foreground:220 9% 42%;--accent:220 14% 94%;--accent-foreground:222 22% 12%;--border:220 13% 88%;--input:220 13% 88%;--ring:172 66% 50%}@keyframes aurora{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-aurora{background-size:200% 200%;animation:25s infinite aurora}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:9999px}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}.rounded-2xl.border.bg-card\/45{position:relative;overflow:hidden;background-color:hsl(var(--card) / .85)!important;border-color:hsl(var(--border) / .95)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d!important}.rounded-2xl.border.bg-card\/45:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;position:absolute;top:0;left:0;right:0;transition:opacity .3s!important}.rounded-2xl.border.bg-card\/45:hover{transform:translateY(-3px);background-color:hsl(var(--card) / .92)!important;border-color:hsl(var(--primary) / .35)!important;box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05)!important}.rounded-2xl.border.bg-card\/45:hover:before{opacity:1}.rounded-xl.border.bg-card\/45{background-color:hsl(var(--card) / .88)!important;border-color:hsl(var(--border) / .9)!important;transition:all .2s!important}.rounded-xl.border.bg-card\/45:hover{background-color:hsl(var(--card) / .95)!important;border-color:hsl(var(--primary) / .3)!important}aside nav button[class*="bg-primary/15"]:not([class*=justify-center]){background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f)!important;color:hsl(var(--primary))!important;border-left:3.5px solid hsl(var(--primary))!important;border-radius:0 var(--radius) var(--radius) 0!important;padding-left:calc(.75rem - 3.5px)!important;box-shadow:inset 0 1px #ffffff05!important}aside nav button[class*="bg-primary/15"][class*=justify-center]{background:hsl(var(--primary) / .18)!important;color:hsl(var(--primary))!important;box-shadow:0 0 12px 1px hsl(var(--primary) / .1)!important;border:1px solid hsl(var(--primary) / .3)!important}::-webkit-scrollbar-thumb{border-radius:9999px;background:hsl(var(--primary) / .25)!important}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)!important}input:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--primary))!important;box-shadow:0 0 0 2px hsl(var(--primary) / .15)!important}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} +@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{inset-block:0}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-\[-10\%\]{top:-10%}.top-\[30\%\]{top:30%}.right-0{right:0}.right-\[-10\%\]{right:-10%}.right-\[20\%\]{right:20%}.bottom-\[-10\%\]{bottom:-10%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[-10\%\]{left:-10%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-full{grid-column:1/-1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-44{height:calc(var(--spacing) * 44)}.h-96{height:calc(var(--spacing) * 96)}.h-\[40\%\]{height:40%}.h-\[50\%\]{height:50%}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-\[68vh\]{min-height:68vh}.min-h-\[90px\]{min-height:90px}.min-h-\[300px\]{min-height:300px}.min-h-\[480px\]{min-height:480px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-5\.5{width:calc(var(--spacing) * 5.5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-60{width:calc(var(--spacing) * 60)}.w-\[40\%\]{width:40%}.w-\[50\%\]{width:50%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[250px\]{max-width:250px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-fit{max-width:fit-content}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scrollbar-thin{scrollbar-width:thin}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/10{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/10{border-color:color-mix(in oklab,hsl(var(--border)) 10%,transparent)}}.border-border\/20{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-border\/70{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,hsl(var(--border)) 70%,transparent)}}.border-border\/80{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,hsl(var(--border)) 80%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.border-cyan-500\/25{border-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/25{border-color:color-mix(in oklab,var(--color-cyan-500) 25%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500) 30%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.border-emerald-500\/15{border-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/15{border-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-emerald-500\/50{border-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/50{border-color:color-mix(in oklab,var(--color-emerald-500) 50%,transparent)}}.border-indigo-500\/25{border-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/25{border-color:color-mix(in oklab,var(--color-indigo-500) 25%,transparent)}}.border-indigo-500\/30{border-color:#625fff4d}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/30{border-color:color-mix(in oklab,var(--color-indigo-500) 30%,transparent)}}.border-indigo-500\/40{border-color:#625fff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/40{border-color:color-mix(in oklab,var(--color-indigo-500) 40%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-pink-500\/25{border-color:#f6339a40}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/25{border-color:color-mix(in oklab,var(--color-pink-500) 25%,transparent)}}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.border-primary\/30{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/45{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/45{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.border-red-500\/25{border-color:color-mix(in oklab,var(--color-red-500) 25%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-slate-500\/25{border-color:#62748e40}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/25{border-color:color-mix(in oklab,var(--color-slate-500) 25%,transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab,red,red)){.border-slate-500\/30{border-color:color-mix(in oklab,var(--color-slate-500) 30%,transparent)}}.border-teal-500\/25{border-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.border-teal-500\/25{border-color:color-mix(in oklab,var(--color-teal-500) 25%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/20{border-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.border-violet-500\/25{border-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/25{border-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.border-l-amber-500\/80{border-left-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.border-l-amber-500\/80{border-left-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.border-l-cyan-500\/80{border-left-color:#00b7d7cc}@supports (color:color-mix(in lab,red,red)){.border-l-cyan-500\/80{border-left-color:color-mix(in oklab,var(--color-cyan-500) 80%,transparent)}}.border-l-indigo-500\/80{border-left-color:#625fffcc}@supports (color:color-mix(in lab,red,red)){.border-l-indigo-500\/80{border-left-color:color-mix(in oklab,var(--color-indigo-500) 80%,transparent)}}.border-l-muted{border-left-color:hsl(var(--muted))}.border-l-pink-500\/80{border-left-color:#f6339acc}@supports (color:color-mix(in lab,red,red)){.border-l-pink-500\/80{border-left-color:color-mix(in oklab,var(--color-pink-500) 80%,transparent)}}.border-l-violet-500\/80{border-left-color:#8d54ffcc}@supports (color:color-mix(in lab,red,red)){.border-l-violet-500\/80{border-left-color:color-mix(in oklab,var(--color-violet-500) 80%,transparent)}}.bg-\[\#070a0f\]{background-color:#070a0f}.bg-\[hsl\(224\,30\%\,6\%\)\]{background-color:#0b0d14}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-background\/10{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}.bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}.bg-background\/25{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/25{background-color:color-mix(in oklab,hsl(var(--background)) 25%,transparent)}}.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/35{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/35{background-color:color-mix(in oklab,hsl(var(--background)) 35%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/25{background-color:#00000040}@supports (color:color-mix(in lab,red,red)){.bg-black\/25{background-color:color-mix(in oklab,var(--color-black) 25%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-card,.bg-card\/10{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/10{background-color:color-mix(in oklab,hsl(var(--card)) 10%,transparent)}}.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/45{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/45{background-color:color-mix(in oklab,hsl(var(--card)) 45%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-card\/75{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/75{background-color:color-mix(in oklab,hsl(var(--card)) 75%,transparent)}}.bg-card\/85{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,hsl(var(--card)) 85%,transparent)}}.bg-card\/90{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,hsl(var(--card)) 90%,transparent)}}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500) 10%,transparent)}}.bg-cyan-500\/15{background-color:#00b7d726}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/15{background-color:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500) 80%,transparent)}}.bg-emerald-500\/\[0\.07\]{background-color:#00bb7f12}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/\[0\.07\]{background-color:color-mix(in oklab,var(--color-emerald-500) 7%,transparent)}}.bg-indigo-500\/5{background-color:#625fff0d}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/5{background-color:color-mix(in oklab,var(--color-indigo-500) 5%,transparent)}}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500) 10%,transparent)}}.bg-indigo-500\/15{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/15{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.bg-muted,.bg-muted\/10{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,hsl(var(--muted)) 10%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted)) 20%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500) 20%,transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-pink-500\/15{background-color:#f6339a26}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/15{background-color:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.bg-popover,.bg-popover\/95{background-color:hsl(var(--popover))}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,hsl(var(--popover)) 95%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/20{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500) 15%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500) 80%,transparent)}}.bg-slate-500\/15{background-color:#62748e26}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/15{background-color:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/20{background-color:color-mix(in oklab,var(--color-slate-500) 20%,transparent)}}.bg-teal-500\/15{background-color:#00baa726}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/15{background-color:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-foreground{--tw-gradient-from:hsl(var(--foreground));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500{--tw-gradient-from:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500\/20{--tw-gradient-from:#00baa733}@supports (color:color-mix(in lab,red,red)){.from-teal-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-teal-500) 20%, transparent)}}.from-teal-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-foreground{--tw-gradient-via:hsl(var(--foreground));--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-indigo-500\/15{--tw-gradient-via:#625fff26}@supports (color:color-mix(in lab,red,red)){.via-indigo-500\/15{--tw-gradient-via:color-mix(in oklab, var(--color-indigo-500) 15%, transparent)}}.via-indigo-500\/15{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:hsl(var(--primary));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-500\/20{--tw-gradient-to:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/20{--tw-gradient-to:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.to-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-500{--tw-gradient-to:var(--color-sky-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-amber-400\/20{fill:#fcbb0033}@supports (color:color-mix(in lab,red,red)){.fill-amber-400\/20{fill:color-mix(in oklab,var(--color-amber-400) 20%,transparent)}}.fill-primary\/20{fill:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.fill-primary\/20{fill:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-px{padding-bottom:1px}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.font-space{font-family:Space Grotesk,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-cyan-200\/90{color:#a2f4fde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-200\/90{color:color-mix(in oklab,var(--color-cyan-200) 90%,transparent)}}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-300\/90{color:#53eafde6}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/90{color:color-mix(in oklab,var(--color-cyan-300) 90%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground,.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-muted-foreground,.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/55{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/55{color:color-mix(in oklab,hsl(var(--muted-foreground)) 55%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/75{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/75{color:color-mix(in oklab,hsl(var(--muted-foreground)) 75%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-orange-300{color:var(--color-orange-300)}.text-pink-400{color:var(--color-pink-400)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.text-primary\/80{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab,red,red)){.text-red-400\/80{color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-slate-300{color:var(--color-slate-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-35{opacity:.35}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-amber-500\/10{--tw-shadow-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.shadow-amber-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/25{--tw-shadow-color:#00000040}@supports (color:color-mix(in lab,red,red)){.shadow-black\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/5{--tw-shadow-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/10{--tw-shadow-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/5{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-red-500\/10{--tw-shadow-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-black\/40{--tw-ring-color:#0006}@supports (color:color-mix(in lab,red,red)){.ring-black\/40{--tw-ring-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[130px\]{--tw-blur:blur(130px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[140px\]{--tw-blur:blur(140px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[160px\]{--tw-blur:blur(160px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media(hover:hover){.hover\:border-primary:hover,.hover\:border-primary\/20:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/45:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/45:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 45%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.hover\:bg-amber-500\/15:hover{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/15:hover{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.hover\:bg-background\/30:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/30:hover{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.hover\:bg-background\/40:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/40:hover{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.hover\:bg-background\/60:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.hover\:bg-background\/80:hover{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/80:hover{background-color:color-mix(in oklab,hsl(var(--background)) 80%,transparent)}}.hover\:bg-card\/30:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/30:hover{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.hover\:bg-card\/70:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/70:hover{background-color:color-mix(in oklab,hsl(var(--card)) 70%,transparent)}}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.hover\:bg-emerald-500\/15:hover{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/15:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.hover\:bg-indigo-500\/15:hover{background-color:#625fff26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-indigo-500\/15:hover{background-color:color-mix(in oklab,var(--color-indigo-500) 15%,transparent)}}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/15:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/15:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-primary\/95:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/95:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 95%,transparent)}}.hover\:bg-red-400:hover{background-color:var(--color-red-400)}.hover\:bg-red-500\/5:hover{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/5:hover{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,hsl(var(--primary)) 80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus,.focus\:ring-primary\/50:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab, hsl(var(--primary)) 50%, transparent)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:w-\[500px\]{width:500px}.sm\:max-w-\[400px\]{max-width:400px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-auto{align-self:auto}.sm\:p-10{padding:calc(var(--spacing) * 10)}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}}:root{--background:224 30% 6%;--foreground:210 20% 92%;--card:224 25% 10%;--card-foreground:210 20% 94%;--popover:224 28% 9%;--popover-foreground:210 20% 94%;--primary:172 72% 50%;--primary-foreground:224 47% 8%;--muted:220 16% 14%;--muted-foreground:215 14% 64%;--accent:220 16% 16%;--accent-foreground:210 20% 94%;--border:222 18% 23%;--input:222 18% 23%;--ring:172 72% 50%;--radius:.75rem}.light{--background:0 0% 100%;--foreground:222 22% 12%;--card:0 0% 100%;--card-foreground:222 22% 12%;--popover:0 0% 100%;--popover-foreground:222 22% 12%;--primary:172 70% 38%;--primary-foreground:0 0% 100%;--muted:220 14% 95%;--muted-foreground:220 9% 42%;--accent:220 14% 94%;--accent-foreground:222 22% 12%;--border:220 13% 88%;--input:220 13% 88%;--ring:172 66% 50%}@keyframes aurora{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-aurora{background-size:200% 200%;animation:25s infinite aurora}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:9999px}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}@keyframes flow-cyan{0%{stroke-dasharray:6 3;stroke-dashoffset:18px}to{stroke-dasharray:6 3;stroke-dashoffset:0}}.animate-flow-cyan{animation:1.2s linear infinite flow-cyan}.rounded-2xl.border.bg-card\/45{position:relative;overflow:hidden;background-color:hsl(var(--card) / .85)!important;border-color:hsl(var(--border) / .95)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d!important}.rounded-2xl.border.bg-card\/45:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;position:absolute;top:0;left:0;right:0;transition:opacity .3s!important}.rounded-2xl.border.bg-card\/45:hover{transform:translateY(-3px);background-color:hsl(var(--card) / .92)!important;border-color:hsl(var(--primary) / .35)!important;box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05)!important}.rounded-2xl.border.bg-card\/45:hover:before{opacity:1}.rounded-xl.border.bg-card\/45{background-color:hsl(var(--card) / .88)!important;border-color:hsl(var(--border) / .9)!important;transition:all .2s!important}.rounded-xl.border.bg-card\/45:hover{background-color:hsl(var(--card) / .95)!important;border-color:hsl(var(--primary) / .3)!important}aside nav button[class*="bg-primary/15"]:not([class*=justify-center]){background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f)!important;color:hsl(var(--primary))!important;border-left:3.5px solid hsl(var(--primary))!important;border-radius:0 var(--radius) var(--radius) 0!important;padding-left:calc(.75rem - 3.5px)!important;box-shadow:inset 0 1px #ffffff05!important}aside nav button[class*="bg-primary/15"][class*=justify-center]{background:hsl(var(--primary) / .18)!important;color:hsl(var(--primary))!important;box-shadow:0 0 12px 1px hsl(var(--primary) / .1)!important;border:1px solid hsl(var(--primary) / .3)!important}::-webkit-scrollbar-thumb{border-radius:9999px;background:hsl(var(--primary) / .25)!important}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)!important}input:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--primary))!important;box-shadow:0 0 0 2px hsl(var(--primary) / .15)!important}@media(min-width:1440px){html{font-size:16.5px}}@media(min-width:1920px){html{font-size:17.5px}}@media(min-width:2560px){html{font-size:19px}}@media(min-width:3440px){html{font-size:20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}} diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 71c0abe..faf4131 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -7,8 +7,8 @@ Mission Control 2.0 - - + +
diff --git a/frontend/src/views/GraphView.tsx b/frontend/src/views/GraphView.tsx index 912b53d..3b4596f 100644 --- a/frontend/src/views/GraphView.tsx +++ b/frontend/src/views/GraphView.tsx @@ -4,10 +4,10 @@ import { Trash2, Sparkles, Share2 } from "lucide-react" import { type MemoryGraph } from "@/lib/api" const CAT_COLOR: Record = { - user: "#22d3ee", instruction: "#a78bfa", stable: "#6366f1", versioned: "#fbbf24", ephemeral: "#f472b6", + identity: "#22d3ee", knowledge: "#6366f1", rules: "#a78bfa", events: "#fbbf24", } const CAT_LABEL: Record = { - user: "User", instruction: "Regel", stable: "Fakt", versioned: "Version", ephemeral: "Temporär", + identity: "Identität", knowledge: "Wissen", rules: "Regeln", events: "Ereignisse", } const AUTO = new Set(["auto", "agent", "hermes"]) diff --git a/frontend/src/views/MemoryView.tsx b/frontend/src/views/MemoryView.tsx index 82b421d..4635275 100644 --- a/frontend/src/views/MemoryView.tsx +++ b/frontend/src/views/MemoryView.tsx @@ -1,6 +1,6 @@ import { useState, useMemo, lazy, Suspense } from "react" import { - Trash2, Sparkles, User, Scroll, Shield, Tag, Clock, Search, Plus, BookOpen, + Trash2, Sparkles, User, Scroll, Shield, Clock, Search, Plus, BookOpen, Share2, List, MessagesSquare, X, Copy, Check, Terminal as TerminalIcon, Send, } from "lucide-react" import { api, type DedupeResult } from "@/lib/api" @@ -12,23 +12,22 @@ import { GraphErrorBoundary } from "./GraphErrorBoundary" // reagraph + three.js sind schwer → erst laden, wenn der Graph-Tab geöffnet wird. const GraphView = lazy(() => import("./GraphView").then((m) => ({ default: m.GraphView }))) -const CATEGORIES = ["user", "instruction", "stable", "versioned", "ephemeral"] +const CATEGORIES = ["identity", "knowledge", "rules", "events"] // Herkunft: automatisch gelernt (Mem0-Extraktion / Agent / Hermes) vs. manuell/Vorlage. const AUTO_SOURCES = new Set(["auto", "agent", "hermes"]) const CAT_CONFIG: Record = { - user: { label: "User", icon: User, bg: "bg-cyan-500/10", text: "text-cyan-400" }, - instruction: { label: "Regel", icon: Scroll, bg: "bg-violet-500/10", text: "text-violet-400" }, - stable: { label: "Fakt", icon: Shield, bg: "bg-indigo-500/10", text: "text-indigo-400" }, - versioned: { label: "Version", icon: Tag, bg: "bg-amber-500/10", text: "text-amber-400" }, - ephemeral: { label: "Temporär", icon: Clock, bg: "bg-pink-500/10", text: "text-pink-400" }, + identity: { label: "Identität", icon: User, bg: "bg-cyan-500/10", text: "text-cyan-400" }, + knowledge: { label: "Wissen", icon: Shield, bg: "bg-indigo-500/10", text: "text-indigo-400" }, + rules: { label: "Regeln", icon: Scroll, bg: "bg-violet-500/10", text: "text-violet-400" }, + events: { label: "Ereignisse", icon: Clock, bg: "bg-amber-500/10", text: "text-amber-400" }, } const DEFAULT_CAT = { label: "Gedächtnis", icon: BookOpen, bg: "bg-muted/10", text: "text-muted-foreground" } const BORDER_CLASSES: Record = { - user: "border-l-cyan-500/80", instruction: "border-l-violet-500/80", stable: "border-l-indigo-500/80", - versioned: "border-l-amber-500/80", ephemeral: "border-l-pink-500/80", + identity: "border-l-cyan-500/80", knowledge: "border-l-indigo-500/80", + rules: "border-l-violet-500/80", events: "border-l-amber-500/80", } // Onboarding-Prompt: der Nutzer startet damit ein Gespräch mit Hermes (Terminal/Telegram). @@ -46,7 +45,7 @@ export function MemoryView() { const [filter, setFilter] = useState("") const [q, setQ] = useState("") const [content, setContent] = useState("") - const [category, setCategory] = useState("stable") + const [category, setCategory] = useState("knowledge") const [deduping, setDeduping] = useState(false) const [copied, setCopied] = useState(false) const [view, setView] = useState<"liste" | "graph">("graph") diff --git a/mcp/mcp_memory.py b/mcp/mcp_memory.py index b18052f..cd98dca 100644 --- a/mcp/mcp_memory.py +++ b/mcp/mcp_memory.py @@ -55,11 +55,11 @@ def _delete(path: str): def get_memories(category: str = "") -> str: """Lädt gespeicherte Fakten/Entscheidungen aus dem geteilten Gedächtnis. Nutze dies EINMAL am Session-Beginn, wenn du Projekt-Kontext brauchst — nicht wiederholt. - category: user | instruction | stable | versioned | ephemeral | (leer = alle)""" + category: identity | knowledge | rules | events | (leer = alle)""" items = _get("/api/memory", **({"category": category} if category else {})) if not items: return "Keine Memories gespeichert." - icon = {"stable": "🔵", "versioned": "🟡", "ephemeral": "⏱", "user": "👤", "instruction": "📋"} + icon = {"identity": "👤", "knowledge": "🔵", "rules": "📋", "events": "🕒"} return "\n".join( f"{icon.get(m['category'], '·')} [{m['category']}] {m['content']} (ID: {m['id'][:8]})" for m in items @@ -81,12 +81,12 @@ def search_memories(q: str) -> str: @mcp.tool() -def add_memory(content: str, category: str = "stable", source: str = "agent") -> str: +def add_memory(content: str, category: str = "knowledge", source: str = "agent") -> str: """Speichert EINEN dauerhaften Fakt im geteilten Gedächtnis (alle Tools sehen ihn). Nur aufrufen, WENN gerade etwas Dauerhaftes entstanden ist (Konvention, Architektur- Entscheidung, Tech-Version, Nutzer-Präferenz) UND es noch nicht existiert (vorher search_memories!). Knapp & atomar. Existiert ein passender Eintrag → update_memory. - category: user | instruction | stable | versioned | ephemeral""" + category: identity (Nutzer/Vorlieben) | knowledge (Fakten/Stack) | rules (Regeln/Konventionen) | events (Ereignisse/Entscheidungen)""" m = _post("/api/memory", {"content": content, "category": category, "source": source}) return f"Gespeichert (ID: {m['id'][:8]}): {content}" diff --git a/mem0_service/app.py b/mem0_service/app.py index d444026..49624c0 100644 --- a/mem0_service/app.py +++ b/mem0_service/app.py @@ -45,9 +45,19 @@ API_KEY = os.environ.get("MEM0_API_KEY", "sk-local") # llama.cpp ignoriert den LLM_MAX_TOKENS = int(os.environ.get("MEM0_LLM_MAX_TOKENS", "2048")) SEARCH_TOP_K = int(os.environ.get("MEM0_SEARCH_TOP_K", "50")) -# 5 Kategorien wie im alten System (UI-Kompatibilität). Mem0 selbst kennt keine -# Kategorien — wir führen sie als Metadaten mit. -CATEGORIES = ("user", "instruction", "stable", "versioned", "ephemeral") +# Kategorien = fundierte Memory-Taxonomie (semantisch/prozedural/episodisch), bewusst knapp (4). +# Mem0-OSS kann nicht nativ klassifizieren (Cloud-Feature) → wir lassen das Hirn beim Lernen +# einordnen (classify_facts). Die Beschreibungen steuern die Treffsicherheit der Auto-Zuordnung. +CATEGORIES = ("identity", "knowledge", "rules", "events") +DEFAULT_CATEGORY = "knowledge" +CATEGORY_DESCRIPTIONS = { + "identity": "Identität & Vorlieben des Nutzers: wer er ist (Name, Rolle), wie er angesprochen werden " + "will, persönliche Vorlieben und seine Arbeitsweise.", + "knowledge": "Wissen & Fakten: stabile Fakten über Stack, Projekte, Tools, Infrastruktur und Umgebung.", + "rules": "Regeln & Konventionen: verbindliche Anweisungen und Workflows — wie etwas gemacht werden " + "soll, Do's und Don'ts.", + "events": "Ereignisse & Entscheidungen: was passiert ist, getroffene Entscheidungen, zeitgebundene Vorgänge.", +} class NoThinkLLM(OpenAILLM): @@ -140,7 +150,7 @@ def _to_item(r: dict, score=None) -> dict: class MemIn(BaseModel): content: str - category: str = "stable" + category: str = DEFAULT_CATEGORY source: str = "manual" @@ -153,7 +163,8 @@ class LearnIn(BaseModel): text: str | None = None messages: list[dict] | None = None source: str = "auto" - category: str = "stable" + category: str = DEFAULT_CATEGORY + classify: bool = True # Hirn ordnet die gelernten Fakten automatisch ein @app.get("/health") @@ -277,10 +288,38 @@ def graph(min_score: float = 0.45, top_k: int = 3) -> dict: return {"nodes": nodes, "edges": edges} +def classify_facts(facts: list[tuple[str, str]]) -> dict: + """Ordnet jeden Fakt per LLM GENAU einer Kategorie zu → {id: category}. + Nutzt dasselbe (Thinking-freie) Hirn wie die Extraktion. Fehler = leeres Mapping (Fallback).""" + if not facts: + return {} + import json as _json + import re as _re + cat_lines = "\n".join(f"- {k}: {v}" for k, v in CATEGORY_DESCRIPTIONS.items()) + system = ( + "Du bist ein präziser Klassifikator für ein Langzeitgedächtnis. Ordne jeden Fakt GENAU EINER " + "Kategorie zu. Verfügbare Kategorien (nur diese Slugs verwenden):\n" + cat_lines + + "\nAntworte NUR als JSON-Objekt der Form {\"\": \"\", …}." + ) + body = "\n".join(f"{fid}: {txt}" for fid, txt in facts) + try: + resp = mem().llm.generate_response( + messages=[{"role": "system", "content": system}, + {"role": "user", "content": "Fakten:\n" + body}], + response_format={"type": "json_object"}, + ) + m = _re.search(r"\{.*\}", resp or "", _re.S) + data = _json.loads(m.group(0)) if m else {} + return {str(k): v for k, v in data.items() if v in CATEGORIES} + except Exception: + log.exception("Auto-Klassifikation fehlgeschlagen") + return {} + + @app.post("/learn") def learn(body: LearnIn) -> dict: """Auto-Lernen: Gesprächs-Turns/Text durchreichen → Mem0 EXTRAHIERT Fakten selbst - (infer=True) und entscheidet ADD/UPDATE/NONE gegen das bestehende Gedächtnis.""" + (infer=True). Anschließend ordnet das Hirn jeden neuen Fakt automatisch einer Kategorie zu.""" msgs = body.messages if not msgs and body.text: msgs = [{"role": "user", "content": body.text}] @@ -290,9 +329,26 @@ def learn(body: LearnIn) -> dict: msgs, user_id=USER_ID, infer=True, metadata={"category": body.category, "source": body.source}, ) + results = res.get("results", []) + + cats: dict = {} + if body.classify: + to_classify = [(r["id"], r.get("memory", "")) for r in results + if r.get("id") and r.get("memory") and r.get("event") in ("ADD", "UPDATE")] + cats = classify_facts(to_classify) + for r in results: + cat = cats.get(r.get("id")) + if cat: + try: + mem().update(r["id"], data=r.get("memory", ""), + metadata={"category": cat, "source": body.source}) + except Exception: + log.debug("Kategorie-Update fehlgeschlagen für %s", r.get("id")) + return {"results": [ - {"id": r.get("id"), "content": r.get("memory"), "event": r.get("event")} - for r in res.get("results", []) + {"id": r.get("id"), "content": r.get("memory"), "event": r.get("event"), + "category": cats.get(r.get("id"), body.category)} + for r in results ]}