import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{B as a,Bt as o,Ct as s,Dt as c,G as l,J as u,Kt as d,Ot as f,P as p,Pt as m,Q as h,St as g,Ut as _,Vt as v,Wt as y,Y as b,Z as x,a as S,c as C,ct as w,i as T,k as E,l as D,ln as O,xt as k,z as A,zt as j}from"./abfragen-CLTLeU-R.js";import{n as M,t as N}from"./useSelector-DBNxxw17.js";import{n as P}from"./useMatch-DDVpPKJI.js";import{t as F}from"./chevron-right-DF8ikrVh.js";import{t as I}from"./button-BHVKhtQ6.js";import{E as L,H as R,T as z,U as B,h as V,m as H,ut as U,w as W}from"./index-hnnYWPzT.js";import{a as G,i as ee,n as te,r as K,t as ne}from"./sheet-DG7u1mB-.js";import{a as re,r as ie,s as ae,t as q}from"./Auftraege-pD8-zIac.js";import{t as J}from"./breite-k-QN6GPl.js";function oe(e){let t=M();return N(t.stores.location,P(e,t))}var Y=r(),X=t(e(),1),Z=n(),Q=new Intl.NumberFormat(`de-DE`),se=240,ce=24,le={ArrowLeft:e=>Math.max(0,e-1),ArrowRight:(e,t)=>Math.min(t-1,e+1),Home:()=>0,End:(e,t)=>t-1};function ue(e){let t=(0,Y.c)(20),{saeule:n,reihen:r,summe:a,className:o,links:s}=e,c;t[0]===o?c=t[1]:(c=i(`flex flex-col gap-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 py-2`,o),t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s===void 0?void 0:{left:s},t[2]=s,t[3]=l);let u;t[4]===n.lang?u=t[5]:(u=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:n.lang}),t[4]=n.lang,t[5]=u);let d;if(t[6]!==r||t[7]!==n.werte){let e;t[9]===n.werte?e=t[10]:(e=e=>(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 text-sm`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 shrink-0 self-center rounded-full`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(n.werte[e.name]??0)}),(0,Z.jsx)(`span`,{className:`min-w-0 text-text-3`,children:e.name})]},e.name),t[9]=n.werte,t[10]=e),d=r.map(e),t[6]=r,t[7]=n.werte,t[8]=d}else d=t[8];let f;t[11]!==r.length||t[12]!==a?(f=r.length>1&&(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 border-t border-white/[0.06] pt-1 text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(a)}),(0,Z.jsx)(`span`,{className:`text-text-3`,children:`zusammen`})]}),t[11]=r.length,t[12]=a,t[13]=f):f=t[13];let p;return t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d||t[18]!==f?(p=(0,Z.jsxs)(`div`,{role:`status`,className:c,style:l,children:[u,d,f]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function de(e){let t=(0,Y.c)(92),{saeulen:n,reihen:r,titel:a,summen:o,hoehe:s,spalte:c}=e,l=o===void 0?`alle`:o,u=s===void 0?200:s,d=c===void 0?`Zeitraum`:c,[f,p]=J(),[m,h]=(0,X.useState)(null),g=n.length,_,v,y,b,x,S,C,w,T,E;if(t[0]!==p||t[1]!==u||t[2]!==m||t[3]!==g||t[4]!==f||t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==l||t[9]!==a){let e;t[20]===n?e=t[21]:(e=e=>n.some(t=>(t.werte[e.name]??0)>0),t[20]=n,t[21]=e);let o=r.filter(e),s=n.map(e=>o.reduce((t,n)=>t+(e.werte[n.name]??0),0)),c=Math.max(0,...s),D=L(c),O=D[D.length-1],k;t[22]===O?k=t[23]:(k=Q.format(O),t[22]=O,t[23]=k);let A=Math.max(28,k.length*7+12),j=n.some(ge)?34:22,M;t[24]!==A||t[25]!==j?(M={links:A,rechts:4,oben:20,unten:j},t[24]=A,t[25]=j,t[26]=M):M=t[26];let N=M,P=Math.max(1,p-N.links-N.rechts),F=u-N.oben-N.unten,I=P/Math.max(1,g),R=Math.min(ce,Math.max(3,I*.72)),B;t[27]!==F||t[28]!==O||t[29]!==N.oben?(B=e=>N.oben+F-e/O*F,t[27]=F,t[28]=O,t[29]=N.oben,t[30]=B):B=t[30];let V=B,H=N.oben+F,U;t[31]!==I||t[32]!==N.links?(U=e=>N.links+(e+.5)*I,t[31]=I,t[32]=N.links,t[33]=U):U=t[33];let G=U,ee;t[34]===n?ee=t[35]:(ee=Math.max(1,...n.map(he)),t[34]=n,t[35]=ee);let te=ee*6.6+8,K;t[36]!==I||t[37]!==te?(K=[1,3,6,12].find(e=>e*I>=te)??24,t[36]=I,t[37]=te,t[38]=K):K=t[38];let ne=K,re=s.indexOf(c),ie=I<34,ae;t[39]===g?ae=t[40]:(ae=function(e){if(g===0)return;let t=e.currentTarget.getBoundingClientRect();h(Math.min(g-1,Math.max(0,Math.floor((e.clientX-t.left)/t.width*g))))},t[39]=g,t[40]=ae);let q=ae,J;t[41]===g?J=t[42]:(J=function(e){let t=le[e.key];g!==0&&t&&(e.preventDefault(),h(e=>t(e??g-1,g)))},t[41]=g,t[42]=J);let oe=J,Y=m===null?void 0:n[m],X=p>=360,de=m===null?0:Math.max(0,Math.min(p-se,G(m)+12+se>p?G(m)-12-se:G(m)+12));_=`flex flex-col gap-2`,v=o.length>1&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:o.map(me)});let _e;t[43]===g?_e=t[44]:(_e=()=>h(e=>e??(g?g-1:null)),t[43]=g,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>h(null),t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==I||t[48]!==m||t[49]!==F||t[50]!==N.links||t[51]!==N.oben?(ye=Y&&m!==null&&(0,Z.jsx)(`rect`,{x:N.links+m*I,y:N.oben-4,width:I,height:F+4,rx:4,fill:`var(--erhaben)`}),t[46]=Y,t[47]=I,t[48]=m,t[49]=F,t[50]=N.links,t[51]=N.oben,t[52]=ye):ye=t[52];let be;t[53]!==p||t[54]!==N.links||t[55]!==N.rechts||t[56]!==V?(be=e=>(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`line`,{x1:N.links,x2:p-N.rechts,y1:V(e),y2:V(e),strokeWidth:1,stroke:e===0?`var(--linie-stark)`:`var(--linie)`}),(0,Z.jsx)(`text`,{x:N.links-8,y:V(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:Q.format(e)})]},e),t[53]=p,t[54]=N.links,t[55]=N.rechts,t[56]=V,t[57]=be):be=t[57];let xe;t[58]!==P||t[59]!==F||t[60]!==c||t[61]!==N.links||t[62]!==N.oben?(xe=c===0&&(0,Z.jsx)(`text`,{x:N.links+P/2,y:N.oben+F/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Keine Anfragen in diesem Zeitraum`}),t[58]=P,t[59]=F,t[60]=c,t[61]=N.links,t[62]=N.oben,t[63]=xe):xe=t[63];let Se;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{e.pointerType!==`touch`&&h(null)},t[64]=Se):Se=t[64];let Ce;t[65]!==u||t[66]!==P||t[67]!==N.links||t[68]!==q?(Ce=(0,Z.jsx)(`rect`,{x:N.links,y:0,width:P,height:u,fill:`transparent`,onPointerMove:q,onPointerDown:q,onPointerLeave:Se}),t[65]=u,t[66]=P,t[67]=N.links,t[68]=q,t[69]=Ce):Ce=t[69],y=(0,Z.jsxs)(`div`,{ref:f,className:`relative w-full`,children:[(0,Z.jsxs)(`svg`,{width:p,height:u,viewBox:`0 0 ${p} ${u}`,role:`img`,"aria-label":a,tabIndex:0,onKeyDown:oe,onFocus:_e,onBlur:ve,className:`block h-auto max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[ye,D.map(be),n.map((e,t)=>{let n=G(t)-R/2;return(0,Z.jsxs)(`g`,{children:[z(o.map(t=>e.werte[t.name]??0),V).filter(pe).map(e=>e.oben?(0,Z.jsx)(`path`,{d:W(n,e.y,R,e.hoehe),fill:o[e.index].farbe},e.index):(0,Z.jsx)(`rect`,{x:n,y:e.y,width:R,height:e.hoehe,fill:o[e.index].farbe},e.index)),s[t]>0&&(l===`alle`||t===re)&&(0,Z.jsx)(`text`,{x:G(t),y:V(s[t])-6,textAnchor:`middle`,className:i(`fill-text-2 font-mono`,ie?`text-[10px]`:`text-[11px]`),children:Q.format(s[t])}),(e.raster??t)%ne===0&&(0,Z.jsxs)(`text`,{x:G(t),y:H+15,textAnchor:`middle`,className:`fill-text-3 font-mono text-[11px]`,children:[e.achse,e.achse2&&(0,Z.jsx)(`tspan`,{x:G(t),dy:13,className:`text-[10px]`,children:e.achse2})]})]},e.schluessel)}),xe,Ce]}),Y&&m!==null&&X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m],links:de,className:`pointer-events-none absolute top-1 z-10 w-60 shadow-lg`})]}),b=Y&&m!==null&&!X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m]}),T=`text-sm`,t[70]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[70]=E):E=t[70],w=`mt-2 overflow-x-auto`,S=`w-full border-collapse text-xs`;let we;t[71]===d?we=t[72]:(we=(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-left font-normal`,children:d}),t[71]=d,t[72]=we),C=(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`text-text-3`,children:[we,o.map(fe),o.length>1&&(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 text-right font-normal`,children:`Zusammen`})]})}),x=n.map((e,t)=>(0,Z.jsxs)(`tr`,{className:`border-t border-white/[0.06]`,children:[(0,Z.jsx)(`th`,{scope:`row`,className:`py-1 pr-3 text-left font-normal text-text-3`,children:e.lang}),o.map(t=>(0,Z.jsx)(`td`,{className:`ziffern py-1 pr-3 text-right text-text-2`,children:Q.format(e.werte[t.name]??0)},t.name)),o.length>1&&(0,Z.jsx)(`td`,{className:`ziffern py-1 text-right text-foreground`,children:Q.format(s[t])})]},e.schluessel)),t[0]=p,t[1]=u,t[2]=m,t[3]=g,t[4]=f,t[5]=r,t[6]=n,t[7]=d,t[8]=l,t[9]=a,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else _=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let D;t[73]===x?D=t[74]:(D=(0,Z.jsx)(`tbody`,{children:x}),t[73]=x,t[74]=D);let O;t[75]!==D||t[76]!==S||t[77]!==C?(O=(0,Z.jsxs)(`table`,{className:S,children:[C,D]}),t[75]=D,t[76]=S,t[77]=C,t[78]=O):O=t[78];let k;t[79]!==O||t[80]!==w?(k=(0,Z.jsx)(`div`,{className:w,children:O}),t[79]=O,t[80]=w,t[81]=k):k=t[81];let A;t[82]!==k||t[83]!==T||t[84]!==E?(A=(0,Z.jsxs)(`details`,{className:T,children:[E,k]}),t[82]=k,t[83]=T,t[84]=E,t[85]=A):A=t[85];let j;return t[86]!==_||t[87]!==v||t[88]!==y||t[89]!==b||t[90]!==A?(j=(0,Z.jsxs)(`div`,{className:_,children:[v,y,b,A]}),t[86]=_,t[87]=v,t[88]=y,t[89]=b,t[90]=A,t[91]=j):j=t[91],j}function fe(e){return(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-right font-normal [overflow-wrap:anywhere]`,children:e.name},e.name)}function pe(e){return e.hoehe>0}function me(e){return(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),e.name]},e.name)}function he(e){return e.achse.length}function ge(e){return e.achse2}var _e=`Europe/Berlin`,ve=[`var(--reihe-1)`,`var(--reihe-2)`,`var(--reihe-3)`],ye={name:`Weitere`,farbe:`var(--reihe-weitere)`},be=new Intl.NumberFormat(`de-DE`),xe=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Se=new Intl.DateTimeFormat(`en-CA`,{timeZone:_e}),Ce=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:_e}),we=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,hourCycle:`h23`,timeZone:_e}),Te=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`UTC`}),Ee=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,timeZone:`UTC`}),$=e=>be.format(e);function De(e){if(!(e>0))return`0 %`;let t=e*100;return t<.1?`unter 0,1 %`:`${t<10?xe.format(t):be.format(Math.round(t))} %`}function Oe(e,t=!1){if(e==null||!Number.isFinite(e)||e<0)return`–`;if(Math.round(e*1e3)<1e3)return`${Math.round(e*1e3)} ms`;if(e<9.95)return`${xe.format(e)} s`;let n=Math.round(e);if(n<60)return`${n} s`;if(n<3600&&!t)return n%60?`${Math.floor(n/60)} min ${n%60} s`:`${n/60} min`;let r=Math.round(e/60);return r<60?`${r} min`:r%60?`${Math.floor(r/60)} h ${r%60} min`:`${r/60} h`}var ke={400:`fehlerhafte Anfrage`,404:`nicht gefunden`,408:`Zeitüberschreitung`,413:`Anfrage zu groß`,429:`zu viele Anfragen`,499:`vom Absender abgebrochen`,500:`Fehler beim Modell`,502:`Modell nicht erreichbar`,503:`gerade nicht verfügbar`,504:`Zeitüberschreitung`};function Ae(e){return Object.entries(e??{}).sort(([e,t],[n,r])=>r-t||e.localeCompare(n)).map(([e,t])=>ke[e]?`${$(t)}× ${ke[e]} (${e})`:`${$(t)}× Status ${e}`).join(` · `)}function je(e){return e===null||e<.01?{art:`grau`,wort:null}:e>=.05?{art:`rot`,wort:`hoch`}:{art:`bernstein`,wort:`auffällig`}}var Me=e=>String(e).padStart(2,`0`),Ne=e=>Object.values(e??{}).reduce((e,t)=>e+t,0),Pe=e=>Te.format(e).replace(`.`,``);function Fe(e){return Number(we.formatToParts(e).find(e=>e.type===`hour`)?.value??0)%24}function Ie(e){let[,t,n]=e.split(`-`);return`${Ee.format(new Date(`${e}T12:00:00Z`))}, ${n}.${t}.`}function Le(e,t=new Date){let n=e.stand?new Date(e.stand):t,r=Se.format(n),i=new Date(Date.parse(`${r}T12:00:00Z`)-864e5).toISOString().slice(0,10),a=e.gesamt?.anfragen??e.absender.reduce((e,t)=>e+t.anfragen,0),o=e.gesamt?.dauer_summe_s??null,s=new Map(e.absender.map((e,t)=>[e.name,e.reihe??t])),c=e.absender.map(e=>{let t=s.get(e.name)??ve.length,n=t[e.name,e.reihe])),u=[];for(let e of[...c].sort((e,t)=>(s.get(e.name)??99)-(s.get(t.name)??99)))u.some(t=>t.name===e.reihe)||u.push({name:e.reihe,farbe:e.farbe});let d=e=>{let t={};for(let[n,r]of Object.entries(e??{})){let e=l.get(n)??ye.name;t[e]=(t[e]??0)+r,e===ye.name&&!u.some(t=>t.name===e)&&u.push({...ye})}return t},f=Object.keys(e.je_tag??{}).sort(),p=f.map(t=>{let i=t===r;return{schluessel:t,achse:Pe(new Date(`${t}T12:00:00Z`)),achse2:i?`heute`:`${Number(t.slice(8))}.`,lang:`${Ie(t)}${i?` (heute bis ${Ce.format(n)})`:``}`,werte:d(e.je_tag[t])}}),m;if(e.stunden?.length)m=e.stunden.map((e,t,n)=>{let a=new Date(e.beginn),o=Fe(a),s=Se.format(a),c=s===r?`Heute`:s===i?`Gestern`:Ie(s),l=t===n.length-1?` bis jetzt`:`–${Me((o+1)%24)}:00`;return{schluessel:e.beginn,achse:`${Me(o)}:00`,raster:o,lang:`${c} ${Me(o)}:00${l}`,werte:d(e.je_absender)}});else{let t=Fe(n),r=e.letzte_24h??[];m=[...r.slice(t+1),...r.slice(0,t+1)].map(e=>{let t=Number(e.stunde);return{schluessel:e.stunde,achse:`${Me(t)}:00`,raster:t,lang:`${Me(t)}:00–${Me((t+1)%24)}:00`,werte:d(e.je_absender)}})}let h=f.filter(e=>e!==r),g=e.seit?Se.format(new Date(e.seit)):null,_=e.ladevorgaenge??Object.entries(e.zuletzt_geladen??{}).sort(([,e],[,t])=>Date.parse(t)-Date.parse(e)).map(([e,t])=>({modell:e,anzahl:null,zeiten:[t]}));return{absender:c,reihen:u,tage:p,stunden:m,gesamt:{anfragen:a,fehler:e.gesamt?.fehler??null,fehlerCodes:e.gesamt?.fehler_codes??{},typisch:e.gesamt?.dauer_typisch_s??null,p90:e.gesamt?.dauer_p90_s??null,summe:o},heute:Ne(e.je_tag?.[r]),gestern:Ne(e.je_tag?.[i]),schnitt:h.length?h.reduce((t,n)=>t+Ne(e.je_tag[n]),0)/h.length:null,zeitraum:g?`seit ${Pe(new Date(`${g}T12:00:00Z`))} ${g.slice(8)}.${g.slice(5,7)}.`:`letzte ${e.tage} Tage`,stand:e.stand?Ce.format(n):null,modelle:_}}var Re={grau:`text-foreground`,bernstein:`text-bernstein`,rot:`text-rot-text`};function ze(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,art:o}=e,s=o===void 0?`grau`:o,c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=c);let l=Re[s],u;t[2]===l?u=t[3]:(u=i(`font-anzeige text-[28px] leading-none font-bold`,l),t[2]=l,t[3]=u);let d;t[4]!==u||t[5]!==r?(d=(0,Z.jsx)(`span`,{className:u,children:r}),t[4]=u,t[5]=r,t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=f);let p;return t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 flaeche-innen rounded-2xl px-3.5 py-3`,children:[c,d,f]}),t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var Be=`lg:grid-cols-[minmax(0,1.5fr)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,0.8fr)]`;function Ve(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,leise:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 lg:hidden`,children:n}),t[0]=n,t[1]=s);let c=o?`text-text-3`:`text-foreground`,l;t[2]===c?l=t[3]:(l=i(`ziffern text-sm`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,Z.jsx)(`span`,{className:l,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=d);let f;return t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,Z.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[s,u,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function He(e){let t=(0,Y.c)(5),{zeilen:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2 text-[10.5px] tracking-[0.14em] text-text-3 lg:grid`,Be),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Absender`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Anfragen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Typische Antwort`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rechenzeit`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Fehler`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`})]}),t[0]=r):r=t[0];let a;t[1]===n?a=t[2]:(a=n.map(Ue),t[1]=n,t[2]=a);let o;return t[3]===a?o=t[4]:(o=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Nutzung je Absender`,className:`flex flex-col`,children:[r,a]}),t[3]=a,t[4]=o),o}function Ue(e){return(0,Z.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2.5 border-t border-white/[0.06] py-3 lg:items-start`,Be),children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-2 text-[15px] font-medium lg:col-span-1`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:e.name})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex min-w-0 flex-col gap-1.5 lg:col-span-1`,children:[(0,Z.jsxs)(`span`,{className:`text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:$(e.anfragen)}),(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · `,De(e.anteil),` aller Anfragen`]})]}),(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-56 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.max(1,e.anteil*100)}%`,background:e.farbe}})})]}),(0,Z.jsx)(Ve,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(Ve,{label:`Rechenzeit`,wert:Oe(e.summe,!0),zusatz:e.zeitAnteil===null?void 0:`${De(e.zeitAnteil)} aller Rechenzeit`}),(0,Z.jsx)(Ve,{label:`Fehler`,leise:e.fehler===0,wert:e.fehler===null?`–`:e.fehler===0?`keine`:`${$(e.fehler)} · ${De(e.fehler/e.anfragen)}`,zusatz:e.fehler?Ae(e.fehlerCodes):void 0}),(0,Z.jsx)(Ve,{label:`Zuletzt`,wert:e.zuletzt?k(e.zuletzt):`–`})]},e.name)}function We(e){let t=(0,Y.c)(11),{titel:n,zusatz:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,Z.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r}),t[2]=r,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==i||t[8]!==s||t[9]!==n?(c=(0,Z.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 flaeche-innen rounded-2xl p-4`,children:[s,i]}),t[7]=i,t[8]=s,t[9]=n,t[10]=c):c=t[10],c}function Ge(e){let t=(0,Y.c)(29),{modelle:n,rollen:r}=e;if(n.length===0)return null;let i,a,o,s,c,l;if(t[0]!==n){let e=n.every(Je)?n.reduce(qe,0):null;l=`group flaeche-innen rounded-2xl px-4 open:pb-2`,s=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(F,{className:`size-4 shrink-0 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Wann welches Modell geladen wurde`]}),t[7]=c):c=t[7],i=`ziffern text-sm text-text-2`,a=n.length===1?`1 Modell`:`${n.length} Modelle`,o=e===null?``:` · ${$(e)}× geladen`,t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=c,t[6]=l}else i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6];let u;t[8]!==i||t[9]!==a||t[10]!==o?(u=(0,Z.jsxs)(`span`,{className:i,children:[a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=u):u=t[11];let d;t[12]!==s||t[13]!==c||t[14]!==u?(d=(0,Z.jsxs)(`summary`,{className:s,children:[c,u]}),t[12]=s,t[13]=c,t[14]=u,t[15]=d):d=t[15];let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(`p`,{className:`pb-1 text-sm text-text-2`,children:`Gezählt wird, wie oft sich ein Modell nach dem Laden bereit meldete: nach einem Neustart von llama-swap oder wenn es auf Abruf gebraucht wurde.`}),t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett hidden gap-x-4 py-2 text-[10.5px] tracking-[0.14em] text-text-3 sm:grid sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)]`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Modell`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Geladen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Davor`})]}),t[17]=p):p=t[17];let m;if(t[18]!==n||t[19]!==r){let e;t[21]===r?e=t[22]:(e=e=>(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)] sm:items-baseline`,children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.modell}),r[e.modell]&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r[e.modell]})]}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-sm text-text-2 sm:text-left`,children:e.anzahl===null?`–`:`${$(e.anzahl)}×`}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-2 sm:col-span-1`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-text-3 sm:hidden`,children:`zuletzt `}),k(e.zeiten[0])]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-3 sm:col-span-1`,children:[e.zeiten.length>1&&(0,Z.jsx)(`span`,{className:`font-sans sm:hidden`,children:`davor `}),e.zeiten.length>1?e.zeiten.slice(1,4).map(Ke).join(` · `):(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`–`})]})]},e.modell),t[21]=r,t[22]=e),m=n.map(e),t[18]=n,t[19]=r,t[20]=m}else m=t[20];let h;t[23]===m?h=t[24]:(h=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Ladevorgänge je Modell`,className:`flex flex-col`,children:[p,m]}),t[23]=m,t[24]=h);let g;return t[25]!==h||t[26]!==l||t[27]!==d?(g=(0,Z.jsxs)(`details`,{className:l,children:[d,f,h]}),t[25]=h,t[26]=l,t[27]=d,t[28]=g):g=t[28],g}function Ke(e){return k(e)}function qe(e,t){return e+(t.anzahl??0)}function Je(e){return e.anzahl!==null}function Ye(e){let t=(0,Y.c)(23),{nutzung:n,laedt:r,fehler:i,rollen:a}=e,o;t[0]===a?o=t[1]:(o=a===void 0?{}:a,t[0]=a,t[1]=o);let s=o;if(!n){let e;return t[2]!==i||t[3]!==r?(e=(0,Z.jsx)(H,{titel:`Wer nutzt die Modelle`,children:r?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[2]=i,t[3]=r,t[4]=e):e=t[4],e}let c,l,u,d,f;if(t[5]!==n){l=Le(n);let e=l.gesamt,r=e.fehler!==null&&e.anfragen?e.fehler/e.anfragen:null,i;t[11]===r?i=t[12]:(i=je(r),t[11]=r,t[12]=i);let a=i;c=H,u=`Wer nutzt die Modelle`,d=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[l.zeitraum,l.stand?` · Stand ${l.stand}`:``]}),f=e.anfragen===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,Z.jsx)(ze,{label:`Anfragen`,wert:$(e.anfragen),zusatz:l.schnitt===null?void 0:`im Schnitt ${$(Math.round(l.schnitt))} am Tag`}),(0,Z.jsx)(ze,{label:`Heute`,wert:$(l.heute),zusatz:`${l.stand?`bis ${l.stand} · `:``}gestern ${$(l.gestern)}`}),(0,Z.jsx)(ze,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(ze,{label:`Fehler`,wert:e.fehler===null?`–`:$(e.fehler),art:a.art,zusatz:e.fehler===null?void 0:e.fehler===0?`alle beantwortet`:`${De(r??0)} der Anfragen${a.wort?` · ${a.wort}`:``}`})]}),(0,Z.jsx)(He,{zeilen:l.absender}),(0,Z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Z.jsx)(We,{titel:`Anfragen je Tag`,zusatz:`letzte 7 Tage, heute bis jetzt`,children:(0,Z.jsx)(de,{saeulen:l.tage,reihen:l.reihen,spalte:`Tag`,titel:`Anfragen je Tag der letzten 7 Tage, gestapelt nach Absender`})}),(0,Z.jsx)(We,{titel:`Anfragen je Stunde`,zusatz:`letzte 24 Stunden`,children:(0,Z.jsx)(de,{saeulen:l.stunden,reihen:l.reihen,spalte:`Stunde`,summen:`hoechste`,titel:`Anfragen je Stunde der letzten 24 Stunden, gestapelt nach Absender`})})]})]}),t[5]=n,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[13]!==l.modelle||t[14]!==s?(p=(0,Z.jsx)(Ge,{modelle:l.modelle,rollen:s}),t[13]=l.modelle,t[14]=s,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat-Anfragen an llama-swap, gelesen aus seinem Protokoll und alle 10 Minuten neu gerechnet. NerdQuiz fragt direkt dort an, Lucy und OpenChamber über MC2. Antwortzeit: bis die Antwort ganz da war. Rechenzeit: alle Antwortzeiten zusammen, gleichzeitige Anfragen zählen einzeln.`}),t[16]=m):m=t[16];let h;return t[17]!==c||t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p?(h=(0,Z.jsxs)(c,{titel:u,rechts:d,children:[f,p,m]}),t[17]=c,t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=h):h=t[22],h}var Xe={coder:`Coder`};function Ze(e){let t=(0,Y.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=E(),[o,l]=(0,X.useState)(``),[u,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(null),[h,g]=(0,X.useState)(``),[_,v]=(0,X.useState)(null),b=(0,X.useRef)(!1),x,S;t[0]===u?(x=t[1],S=t[2]):(x=[`hf-suche`,u],S=()=>y(`/api/hf/search?q=${encodeURIComponent(u)}`),t[0]=u,t[1]=x,t[2]=S);let C=u.length>1,w;t[3]!==x||t[4]!==S||t[5]!==C?(w={queryKey:x,queryFn:S,enabled:C},t[3]=x,t[4]=S,t[5]=C,t[6]=w):w=t[6];let T=d(w),D,O;t[7]===p?(D=t[8],O=t[9]):(D=[`hf-quants`,p],O=()=>y(`/api/hf/quants?repo=${encodeURIComponent(p??``)}`),t[7]=p,t[8]=D,t[9]=O);let k=!!p,A;t[10]!==D||t[11]!==O||t[12]!==k?(A={queryKey:D,queryFn:O,enabled:k},t[10]=D,t[11]=O,t[12]=k,t[13]=A):A=t[13];let j=d(A),M,N,P,F,L,R,z,B,H,U,W,re,q;if(t[14]!==_||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==j.data||t[20]!==j.error||t[21]!==j.isError||t[22]!==j.isFetching||t[23]!==p||t[24]!==h||t[25]!==i||t[26]!==T){let e=(j.data?.quants??[]).map($e),u=h?Xe[h]??h:null,d;t[40]!==p||t[41]!==h||t[42]!==i||t[43]!==u?(d=u&&p?ae(p,u,i[h]):null,t[40]=p,t[41]=h,t[42]=i,t[43]=u,t[44]=d):d=t[44],P=d;let y;t[45]!==_||t[46]!==a||t[47]!==r||t[48]!==p||t[49]!==h?(y=function(){p&&_&&!b.current&&(b.current=!0,a.mutate({repo:p,quant:_.quant,rolle:h||null},{onSuccess:e=>{v(null),e.ok!==!1&&r()},onError:()=>v(null),onSettled:()=>{b.current=!1}}))},t[45]=_,t[46]=a,t[47]=r,t[48]=p,t[49]=h,t[50]=y):y=t[50],F=y,N=ne,W=n,t[51]===r?re=t[52]:(re=e=>!e&&r(),t[51]=r,t[52]=re),M=te,z=`right`,B=`gap-3 overflow-y-auto border-white/10 bg-[#0e121a] data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,Z.jsxs)(ee,{children:[(0,Z.jsx)(G,{className:`text-[19px] font-semibold`,children:`Modelle selbst suchen`}),(0,Z.jsx)(K,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=H):H=t[53];let x;t[54]===o?x=t[55]:(x=e=>{e.preventDefault(),m(null),f(o.trim())},t[54]=o,t[55]=x);let S;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=S):S=t[56];let C;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>l(e.target.value),t[57]=C):C=t[57];let w;t[58]===o?w=t[59]:(w=(0,Z.jsx)(`input`,{id:`hf-suche`,value:o,onChange:C,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-cyan/60 focus:bg-white/[0.06]`}),t[58]=o,t[59]=w);let E;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(I,{type:`submit`,children:`Suchen`}),t[60]=E):E=t[60],t[61]!==x||t[62]!==w?(U=(0,Z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:x,children:[S,w,E]}),t[61]=x,t[62]=w,t[63]=U):U=t[63],q=`flex flex-col px-4 pb-4`,t[64]!==p||t[65]!==T?(L=!p&&(0,Z.jsxs)(Z.Fragment,{children:[T.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!T.isFetching&&T.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,T.error.message]}),!T.isFetching&&T.data?.results.length===0&&(0,Z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),T.data?.results.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>m(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-white/[0.06] py-2 text-left hover:text-cyan`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,Z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[c(e.downloads),` ↓`]})]},e.repo))]}),t[64]=p,t[65]=T,t[66]=L):L=t[66],R=p&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:p}),(0,Z.jsx)(I,{variant:`ghost`,size:`sm`,onClick:()=>m(null),children:`Zurück`})]}),(0,Z.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,Z.jsxs)(`select`,{value:h,onChange:e=>g(e.target.value),className:`h-11 min-w-0 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-foreground`,children:[(0,Z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(Xe).map(Qe)]})]}),P&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:P}),j.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!j.isFetching&&j.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,j.error.message]}),!j.isFetching&&j.data&&e.length===0&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-white/[0.06] py-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:s(n,1)}):null,(0,Z.jsx)(I,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>v({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=_,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=j.data,t[20]=j.error,t[21]=j.isError,t[22]=j.isFetching,t[23]=p,t[24]=h,t[25]=i,t[26]=T,t[27]=M,t[28]=N,t[29]=P,t[30]=F,t[31]=L,t[32]=R,t[33]=z,t[34]=B,t[35]=H,t[36]=U,t[37]=W,t[38]=re,t[39]=q}else M=t[27],N=t[28],P=t[29],F=t[30],L=t[31],R=t[32],z=t[33],B=t[34],H=t[35],U=t[36],W=t[37],re=t[38],q=t[39];let J;t[67]!==L||t[68]!==R||t[69]!==q?(J=(0,Z.jsxs)(`div`,{className:q,children:[L,R]}),t[67]=L,t[68]=R,t[69]=q,t[70]=J):J=t[70];let oe=_!==null,Q;t[71]!==_||t[72]!==p?(Q=_&&p?`${p} (${_.quant}${_.bytes?`, ${s(_.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(_.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=_,t[72]=p,t[73]=Q):Q=t[73];let se=a.isPending?`Wird gestartet …`:`Installieren`,ce=a.isPending,le;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>v(null),t[74]=le):le=t[74];let ue;t[75]===P?ue=t[76]:(ue=P&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:P}),t[75]=P,t[76]=ue);let de=!!h,fe;t[77]===de?fe=t[78]:(fe=ie(de),t[77]=de,t[78]=fe);let pe;t[79]===fe?pe=t[80]:(pe=(0,Z.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:fe}),t[79]=fe,t[80]=pe);let me;t[81]!==a.isPending||t[82]!==F||t[83]!==oe||t[84]!==Q||t[85]!==se||t[86]!==ue||t[87]!==pe?(me=(0,Z.jsxs)(V,{offen:oe,titel:`Modell installieren?`,text:Q,knopf:se,gesperrt:ce,onNein:le,onJa:F,children:[ue,pe]}),t[81]=a.isPending,t[82]=F,t[83]=oe,t[84]=Q,t[85]=se,t[86]=ue,t[87]=pe,t[88]=me):me=t[88];let he;t[89]!==M||t[90]!==z||t[91]!==B||t[92]!==H||t[93]!==U||t[94]!==J||t[95]!==me?(he=(0,Z.jsxs)(M,{side:z,className:B,children:[H,U,J,me]}),t[89]=M,t[90]=z,t[91]=B,t[92]=H,t[93]=U,t[94]=J,t[95]=me,t[96]=he):he=t[96];let ge;return t[97]!==N||t[98]!==W||t[99]!==re||t[100]!==he?(ge=(0,Z.jsx)(N,{open:W,onOpenChange:re,children:he}),t[97]=N,t[98]=W,t[99]=re,t[100]=he,t[101]=ge):ge=t[101],ge}function Qe(e){let[t,n]=e;return(0,Z.jsx)(`option`,{value:t,children:n},t)}function $e(e){return typeof e==`string`?{quant:e}:e}var et=115;function tt(e){let t=(0,Y.c)(55),{modelle:n,laufend:r}=e,i=f(),a=w(),o,s,c,l,u,d,p,m,h,_;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=g(i?.ram_total??a.data?.box.ram_total)??122.7,f=g(i?.ram_used??a.data?.box.ram_used)??0,v;t[15]===r?v=t[16]:(v=e=>r.includes(e.name),t[15]=r,t[16]=v);let y=n.filter(v).reduce(nt,0);s=Math.max(0,f-y);let b=t=>`${Math.min(100,t/e*100)}%`;o=H,m=`Speicher`,h=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(f),` von `,Math.round(e),` GB belegt · Grenze ~`,et,` GB`]});let x=`Speicher: ${Math.round(f)} von ${Math.round(e)} GB belegt`,S=b(f),C;t[17]===S?C=t[18]:(C={width:S},t[17]=S,t[18]=C);let w=`${f?y/f*100:0}%`,T;t[19]===w?T=t[20]:(T=(0,Z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:w}}),t[19]=w,t[20]=T);let E=`${f?s/f*100:0}%`,D;t[21]===E?D=t[22]:(D=(0,Z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:E}}),t[21]=E,t[22]=D);let O;t[23]!==C||t[24]!==T||t[25]!==D?(O=(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:C,children:[T,D]}),t[23]=C,t[24]=T,t[25]=D,t[26]=O):O=t[26];let k=b(et),A;t[27]===k?A=t[28]:(A=(0,Z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==x||t[30]!==O||t[31]!==A?(_=(0,Z.jsxs)(`div`,{className:`relative h-8 overflow-hidden rounded-xl bg-white/[0.06]`,role:`img`,"aria-label":x,children:[O,A]}),t[29]=x,t[30]=O,t[31]=A,t[32]=_):_=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,d=Math.round(y),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=p,t[12]=m,t[13]=h,t[14]=_}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],p=t[11],m=t[12],h=t[13],_=t[14];let v;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==d?(v=(0,Z.jsxs)(`span`,{className:c,children:[l,u,d,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=d,t[38]=v):v=t[38];let y;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=y):y=t[39];let b;t[40]===s?b=t[41]:(b=Math.round(s),t[40]=s,t[41]=b);let x;t[42]===b?x=t[43]:(x=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[y,` Cache, Dienste, System: `,b,` GB`]}),t[42]=b,t[43]=x);let S;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=S):S=t[44];let C;t[45]!==x||t[46]!==p||t[47]!==v?(C=(0,Z.jsxs)(`div`,{className:p,children:[v,x,S]}),t[45]=x,t[46]=p,t[47]=v,t[48]=C):C=t[48];let T;return t[49]!==o||t[50]!==C||t[51]!==m||t[52]!==h||t[53]!==_?(T=(0,Z.jsxs)(o,{titel:m,rechts:h,children:[_,C]}),t[49]=o,t[50]=C,t[51]=m,t[52]=h,t[53]=_,t[54]=T):T=t[54],T}function nt(e,t){return e+(g(t.size_bytes)??0)}function rt(e){let t=(0,Y.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function it(e){let t=(0,Y.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,c=A();if(!r){let e;t[0]===n?e=t[1]:(e=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(R,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-white/15 p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let l;t[9]!==r.ctx||t[10]!==r.parallel_slots?(l=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=l):l=t[11];let u=l,d=!!r.capabilities?.vision||!!i,f;t[12]===n?f=t[13]:(f=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[12]=n,t[13]=f);let p=a?`gruen`:`grau`,m=a?`Geladen`:`Auf Abruf`,h;t[14]!==p||t[15]!==m?(h=(0,Z.jsx)(R,{art:p,children:m}),t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]!==f||t[18]!==h?(g=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[f,h]}),t[17]=f,t[18]=h,t[19]=g):g=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,Z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let v;t[22]===r.size_bytes?v=t[23]:(v=s(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,Z.jsx)(rt,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=u?`${u}k`:`–`,x;t[26]===b?x=t[27]:(x=(0,Z.jsx)(rt,{name:`Kontext`,wert:b}),t[26]=b,t[27]=x);let S=d?`ja`:`nein`,C;t[28]===S?C=t[29]:(C=(0,Z.jsx)(rt,{name:`Bilder`,wert:S}),t[28]=S,t[29]=C);let w;t[30]!==x||t[31]!==C||t[32]!==y?(w=(0,Z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,x,C]}),t[30]=x,t[31]=C,t[32]=y,t[33]=w):w=t[33];let T=r.spec_active?` Mit Draft-Beschleunigung.`:``,E=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,D;t[34]!==o||t[35]!==T||t[36]!==E?(D=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,T,E]}),t[34]=o,t[35]=T,t[36]=E,t[37]=D):D=t[37];let O;t[38]!==c||t[39]!==a||t[40]!==r.name?(O=!a&&(0,Z.jsx)(I,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>c.mutate(r.name),disabled:c.isPending,children:`Jetzt laden`}),t[38]=c,t[39]=a,t[40]=r.name,t[41]=O):O=t[41];let k;return t[42]!==w||t[43]!==D||t[44]!==O||t[45]!==g||t[46]!==_?(k=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 flaeche rounded-2xl p-5`,children:[g,_,w,D,O]}),t[42]=w,t[43]=D,t[44]=O,t[45]=g,t[46]=_,t[47]=k):k=t[47],k}var at={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},ot={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function st(e){let t=(0,Y.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-[10.5px] tracking-[0.14em] text-text-3`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`flaeche-innen rounded-xl px-3 py-2 text-sm`,children:[a,e.map(ct)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ct(e){let[t,n]=e;return(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-white/[0.06] py-1`,children:[(0,Z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${ot[n.urteil??``]??`text-text-2`}`,children:o(n.kandidat,n.einheit)}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:o(n.baseline,n.einheit)})]},t)}function lt(e){let t=(0,Y.c)(80),{k:n,test:r,heute:i}=e,a=b(),o=h(),[s,c]=(0,X.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,Z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,g;t[3]===p?g=t[4]:(g=(0,Z.jsx)(R,{art:`cyan`,children:p}),t[3]=p,t[4]=g);let _;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(_=n.groesse_gb!=null&&(0,Z.jsx)(R,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=_):_=t[8];let v=at[n.status]??`grau`,y=m[n.status]??n.status,x;t[9]!==v||t[10]!==y?(x=(0,Z.jsx)(R,{art:v,children:y}),t[9]=v,t[10]=y,t[11]=x):x=t[11];let S;t[12]!==f||t[13]!==g||t[14]!==_||t[15]!==x?(S=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,g,_,x]}),t[12]=f,t[13]=g,t[14]=_,t[15]=x,t[16]=S):S=t[16];let C;t[17]===n.groesse_gb?C=t[18]:(C=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=C);let w;t[19]!==n.begruendung||t[20]!==C?(w=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[C,n.begruendung]}),t[19]=n.begruendung,t[20]=C,t[21]=w):w=t[21];let T;t[22]!==n.status||t[23]!==r?(T=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,Z.jsx)(st,{test:r}),t[22]=n.status,t[23]=r,t[24]=T):T=t[24];let E;t[25]!==n.begruendung||t[26]!==n.testbar_grund?(E=n.testbar_grund&&!n.begruendung.startsWith(`Läuft gerade`)&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:n.testbar_grund}),t[25]=n.begruendung,t[26]=n.testbar_grund,t[27]=E):E=t[27];let D;t[28]!==a.isPending||t[29]!==n.status||t[30]!==n.testbar_jetzt||t[31]!==u||t[32]!==o.isPending?(D=u&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.testbar_jetzt&&(0,Z.jsx)(I,{variant:`info`,size:`sm`,disabled:o.isPending,onClick:()=>c(`testen`),children:`Jetzt testen`}),n.status===`bestanden`&&(0,Z.jsx)(I,{size:`sm`,disabled:a.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,Z.jsx)(I,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[28]=a.isPending,t[29]=n.status,t[30]=n.testbar_jetzt,t[31]=u,t[32]=o.isPending,t[33]=D):D=t[33];let O=s===`uebernehmen`,k=`${n.name} übernehmen?`,A=d?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,j;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>c(null),t[34]=j):j=t[34];let M;t[35]!==a||t[36]!==s||t[37]!==n.id||t[38]!==n.name?(M=()=>{s===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[35]=a,t[36]=s,t[37]=n.id,t[38]=n.name,t[39]=M):M=t[39];let N;t[40]!==a.isPending||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==M?(N=(0,Z.jsx)(V,{offen:O,titel:k,text:A,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:j,onJa:M}),t[40]=a.isPending,t[41]=O,t[42]=k,t[43]=A,t[44]=M,t[45]=N):N=t[45];let P=s===`testen`,F=`${n.name} jetzt testen?`,L;t[46]===n.groesse_gb?L=t[47]:(L=n.groesse_gb==null?``:` (${n.groesse_gb.toLocaleString(`de-DE`)} GB)`,t[46]=n.groesse_gb,t[47]=L);let z=`Das Radar lädt ${n.name}${L} herunter, falls nötig, misst das heutige Modell der Rolle und dann den Kandidaten. Das dauert je nach Download eine halbe bis zwei Stunden. Solange antworten Lucy und NerdQuiz etwas langsamer; ein geladener Coder wird dafür entladen, und wird er währenddessen gebraucht, bricht der Test ab. Das Ergebnis kommt als Meldung; fällt der Kandidat durch, werden seine Dateien gelöscht.`,B;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(B=()=>c(null),t[48]=B):B=t[48];let H;t[49]!==s||t[50]!==n.id||t[51]!==n.name||t[52]!==o?(H=()=>{s===`testen`&&(o.mutate({id:n.id,name:n.name}),c(null))},t[49]=s,t[50]=n.id,t[51]=n.name,t[52]=o,t[53]=H):H=t[53];let U;t[54]!==P||t[55]!==F||t[56]!==z||t[57]!==H||t[58]!==o.isPending?(U=(0,Z.jsx)(V,{offen:P,titel:F,text:z,knopf:`Jetzt testen`,gesperrt:o.isPending,onNein:B,onJa:H}),t[54]=P,t[55]=F,t[56]=z,t[57]=H,t[58]=o.isPending,t[59]=U):U=t[59];let W=s===`verwerfen`,G=`${n.name} verwerfen?`,ee;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>c(null),t[60]=ee):ee=t[60];let te;t[61]!==a||t[62]!==s||t[63]!==n.id||t[64]!==n.name?(te=()=>{s===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[61]=a,t[62]=s,t[63]=n.id,t[64]=n.name,t[65]=te):te=t[65];let K;t[66]!==a.isPending||t[67]!==W||t[68]!==G||t[69]!==te?(K=(0,Z.jsx)(V,{offen:W,gefahr:!0,titel:G,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:ee,onJa:te}),t[66]=a.isPending,t[67]=W,t[68]=G,t[69]=te,t[70]=K):K=t[70];let ne;return t[71]!==w||t[72]!==T||t[73]!==E||t[74]!==D||t[75]!==N||t[76]!==U||t[77]!==K||t[78]!==S?(ne=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-white/[0.06] py-3.5`,children:[S,w,T,E,D,N,U,K]}),t[71]=w,t[72]=T,t[73]=E,t[74]=D,t[75]=N,t[76]=U,t[77]=K,t[78]=S,t[79]=ne):ne=t[79],ne}function ut(e){let t=(0,Y.c)(30),{hirn:n,coder:r}=e,i=u(),a=x(),o=p(),s=O(),c=o.data?.jobs,l=(c??[]).filter(ft).at(-1),d=a.data?.job_id,f;t[0]!==d||t[1]!==c?(f=!!d&&!!c&&!c.some(e=>e.id===d),t[0]=d,t[1]=c,t[2]=f):f=t[2];let m=f,h=a.isPending||m||l!==void 0&&j(l),g=(0,X.useRef)(h);if((0,X.useEffect)(()=>{g.current&&!h&&s.invalidateQueries({queryKey:[`radar`]}),g.current=h},[h,s]),i.isError&&!i.data){let e=i.error instanceof _&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,Z.jsx)(H,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let v=i.data,y=H,b;t[6]===a?b=t[7]:(b=()=>a.mutate(void 0),t[6]=a,t[7]=b);let S=h?`Sucht …`:`Jetzt suchen`,C;t[8]!==h||t[9]!==b||t[10]!==S?(C=(0,Z.jsx)(I,{variant:`info`,size:`sm`,onClick:b,disabled:h,children:S}),t[8]=h,t[9]=b,t[10]=S,t[11]=C):C=t[11];let w;t[12]===v?w=t[13]:(w=v?.naechster_test?` Nächster Test: ${k(v.naechster_test)}.`:``,t[12]=v,t[13]=w);let T=h?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,E;t[14]!==w||t[15]!==T?(E=(0,Z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche. Tagsüber geht es mit „Jetzt testen“, wenn der Kandidat samt Coder in den Speicher passt.`,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D=!h&&l?.state===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,re(l)??`ohne Meldung`]}),A;t[17]!==r||t[18]!==v||t[19]!==n?(A=v?v.kandidaten.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:v.kandidaten.map(e=>(0,Z.jsx)(lt,{k:e,test:v.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=v,t[19]=n,t[20]=A):A=t[20];let M;t[21]===v?M=t[22]:(M=v&&v.tests.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`etikett text-[10.5px] tracking-[0.12em] text-text-3`,children:`Letzte Tests`}),v.tests.slice(0,3).map(dt)]}),t[21]=v,t[22]=M);let N;return t[23]!==y||t[24]!==E||t[25]!==D||t[26]!==A||t[27]!==M||t[28]!==C?(N=(0,Z.jsxs)(y,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:C,children:[E,D,A,M]}),t[23]=y,t[24]=E,t[25]=D,t[26]=A,t[27]=M,t[28]=C,t[29]=N):N=t[29],N}function dt(e){return(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-text-3`,children:k(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ft(e){return e.group===`radar`}var pt=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function mt(e){let t=(0,Y.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(F,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]===i?l=t[9]:(l=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=l);let u;return t[10]!==c||t[11]!==l?(u=(0,Z.jsxs)(`details`,{className:`group flaeche-innen rounded-2xl px-4 open:pb-2`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function ht(){let e=(0,Y.c)(37),t=C(),n=D(),[r,i]=(0,X.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(gt,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(vt,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,Z.jsxs)(H,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=H,o=`Aufräumen`,s=r.length>0?(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,Z.jsx)(mt,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,Z.jsx)(R,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,Z.jsx)(I,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let m=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,h;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>i(null),e[19]=h):h=e[19];let g;e[20]!==r||e[21]!==n?(g=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=g):g=e[22];let _;e[23]!==n.isPending||e[24]!==g||e[25]!==d||e[26]!==f||e[27]!==m?(_=(0,Z.jsx)(V,{offen:d,gefahr:!0,titel:f,text:m,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:h,onJa:g}),e[23]=n.isPending,e[24]=g,e[25]=d,e[26]=f,e[27]=m,e[28]=_):_=e[28];let v;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(vt,{}),e[29]=v):v=e[29];let y;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==_||e[34]!==c||e[35]!==l?(y=(0,Z.jsxs)(a,{titel:o,rechts:s,children:[c,l,_,v]}),e[30]=a,e[31]=o,e[32]=s,e[33]=_,e[34]=c,e[35]=l,e[36]=y):y=e[36],y}function gt(e,t){return e+t.groesse_gb}function _t(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function vt(){let e=(0,Y.c)(23),t=S(),n=T(),[r,i]=(0,X.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(yt,0);a=`flex flex-col gap-2`,o=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,Z.jsxs)(mt,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${_t(s)}`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,Z.jsx)(R,{children:`Altrest`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,Z.jsx)(I,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let u=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,d;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>i(null),e[9]=d):d=e[9];let f;e[10]!==r||e[11]!==n?(f=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=f):f=e[12];let p;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==u||e[17]!==f?(p=(0,Z.jsx)(V,{offen:s,gefahr:!0,titel:c,text:u,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:d,onJa:f}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=u,e[17]=f,e[18]=p):p=e[18];let m;return e[19]!==a||e[20]!==o||e[21]!==p?(m=(0,Z.jsxs)(`div`,{className:a,children:[o,p]}),e[19]=a,e[20]=o,e[21]=p,e[22]=m):m=e[22],m}function yt(e,t){return e+t.groesse_bytes}function bt(){let e=(0,Y.c)(69),t=a(),n=l(),r=u(),i=p(),[o,c]=(0,X.useState)(!1),d;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(d={select:wt},e[0]=d):d=e[0];let f=oe(d),m=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,h,g;if(e[1]!==m||e[2]!==f?(h=()=>{m&&f===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},g=[m,f],e[1]=m,e[2]=f,e[3]=h,e[4]=g):(h=e[3],g=e[4]),(0,X.useEffect)(h,g),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(B,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,Z.jsx)(B,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let _=t.data.models,v=t.data.running,y,b,x,S,C,w,T,E,D,O,A,j,M;if(e[8]!==v||e[9]!==_||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=_.find(Ct);b=_.find(St);let r;e[26]===_?r=e[27]:(r=(e,t)=>e?_.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[26]=_,e[27]=r);let i=r,a=i(t,`vision`);x=i(b,`coder-bild`);let o=_.filter(e=>![t,b,a,x].includes(e)),l;e[28]===n.data?.zuletzt_geladen?l=e[29]:(l=n.data?.zuletzt_geladen??{},e[28]=n.data?.zuletzt_geladen,e[29]=l);let u=l,d={};for(let[e,n]of[[t,`Hirn`],[b,`Coder`],[a,`Bild-Zwilling des Hirns`],[x,`Bild-Zwilling des Coders`]])e&&(d[e.name]=n);e[30]!==v||e[31]!==_?(j=(0,Z.jsx)(tt,{modelle:_,laufend:v}),e[30]=v,e[31]=_,e[32]=j):j=e[32],e[33]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Z.jsx)(q,{alsPanel:!0}),e[33]=M):M=e[33];let f;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(it,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[34]=f):f=e[34],S=(0,Z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,Z.jsx)(it,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&v.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,Z.jsx)(it,{titel:`Coder`,modell:b,zwilling:x,laeuft:!!b&&v.includes(b.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),f]}),C=(0,Z.jsx)(Ye,{nutzung:n.data,laedt:n.isPending,fehler:n.error?.message??null,rollen:d});let p=t?.name,m=b?.name;e[35]!==p||e[36]!==m?(w=(0,Z.jsx)(ut,{hirn:p,coder:m}),e[35]=p,e[36]=m,e[37]=w):w=e[37],y=H,D=`Weitere Einträge`,e[38]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Z.jsxs)(I,{variant:`outline`,size:`sm`,onClick:()=>c(!0),children:[(0,Z.jsx)(U,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[38]=O):O=e[38],A=o.length===0&&(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),T=`m-0 flex list-none flex-col p-0`;let h;e[39]!==v||e[40]!==u?(h=e=>(0,Z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:s(e.size_bytes)}),(0,Z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:v.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${k(u[e.name])}`:`länger nicht geladen`})]},e.name),e[39]=v,e[40]=u,e[41]=h):h=e[41],E=o.map(h),e[8]=v,e[9]=_,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=y,e[14]=b,e[15]=x,e[16]=S,e[17]=C,e[18]=w,e[19]=T,e[20]=E,e[21]=D,e[22]=O,e[23]=A,e[24]=j,e[25]=M}else y=e[13],b=e[14],x=e[15],S=e[16],C=e[17],w=e[18],T=e[19],E=e[20],D=e[21],O=e[22],A=e[23],j=e[24],M=e[25];let N;e[42]!==T||e[43]!==E?(N=(0,Z.jsx)(`ul`,{className:T,children:E}),e[42]=T,e[43]=E,e[44]=N):N=e[44];let P;e[45]!==y||e[46]!==N||e[47]!==D||e[48]!==O||e[49]!==A?(P=(0,Z.jsxs)(y,{titel:D,rechts:O,children:[A,N]}),e[45]=y,e[46]=N,e[47]=D,e[48]=O,e[49]=A,e[50]=P):P=e[50];let F;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Z.jsx)(ht,{}),e[51]=F):F=e[51];let L;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(L=()=>c(!1),e[52]=L):L=e[52];let R;e[53]!==b||e[54]!==x?(R=b?{name:b.name,zwilling:!!x,weitere:b.aliases.filter(xt)}:void 0,e[53]=b,e[54]=x,e[55]=R):R=e[55];let z;e[56]===R?z=e[57]:(z={coder:R},e[56]=R,e[57]=z);let V;e[58]!==o||e[59]!==z?(V=(0,Z.jsx)(Ze,{offen:o,onSchliessen:L,rollenJetzt:z}),e[58]=o,e[59]=z,e[60]=V):V=e[60];let W;return e[61]!==S||e[62]!==C||e[63]!==w||e[64]!==P||e[65]!==V||e[66]!==j||e[67]!==M?(W=(0,Z.jsxs)(Z.Fragment,{children:[j,M,S,C,w,P,F,V]}),e[61]=S,e[62]=C,e[63]=w,e[64]=P,e[65]=V,e[66]=j,e[67]=M,e[68]=W):W=e[68],W}function xt(e){return e.toLowerCase()!==`coder`}function St(e){return v(e)===`coder`}function Ct(e){return v(e)===`hirn`}function wt(e){return e.hash}export{lt as Kandidat,bt as ModelleSeite};