From 24a0694b808bfa940dd7e38425a9c658fd251d0d Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 28 Aug 2026 09:56:26 +0200 Subject: [PATCH] =?UTF-8?q?feat(palette):=20P6=20=E2=80=94=20die=20Palette?= =?UTF-8?q?=20wird=20zum=20Bedienwerkzeug=20(=C2=A74.6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bisher listete Strg+K die elf Navigations-Eintraege: ein Sprungbrett. Jetzt tippt man, WAS man will, nicht wo es liegt. Gehe zu die 11 Ziele — direkt aus NAV, damit es nie zwei Listen gibt Tun Wartung/Logs oeffnen, Updates suchen, Snapshot, Motor neu starten Finden das Getippte in Chronik oder Wissens-Vault suchen An Lucy das Getippte als Idee erfassen ## Die Sicherheitsregel ist verdrahtet, nicht nur beschrieben Die Palette ist schnell genug, dass "Strg+K, mot, Enter" den Motor neu startet, bevor man es zu Ende gedacht hat. Jeder eingreifende Befehl traegt darum `rueckfrage`; die Oberflaeche haelt dann an und sagt erst, was passieren WIRD: "Alle geladenen Modelle fallen dabei aus dem Speicher und muessen neu aufwaermen — das dauert je nach Modell ueber 20 Sekunden. Laufende Antworten brechen ab." Ein Test prueft die Regel generisch: Jeder Befehl, dessen Label auf "neu starten", "loeschen", "deploy", "reboot" o. AE. passt, MUSS eine Rueckfrage haben. Wer kuenftig einen eingreifenden Befehl ohne Rueckfrage ergaenzt, macht die Ampel rot. "An Lucy" erfasst mit `art: "idee"` — durchdenken, nicht bauen. `"projekt"` wuerde sofort ein Repo anlegen; das darf aus einem Tastendruck nie passieren. Auch das ist getestet. ## Die "Finden"-Eintraege fuehren nicht ins Leere Sie brauchten erst ein Ziel — sonst haette ich genau die leere Leitung gebaut, die ich beim Werkzeug-Verlauf vermieden habe: ChronikView neues Suchfeld, filtert ueber Betreff/Text/Quelle, Wort in der URL (/chronik?q=…), Trefferzahl in der Ueberschrift, "Filter aufheben" im Leer-Zustand WissenView hatte das Suchfeld schon, aber nur lokal — jetzt aus /wissen?suche= gespeist und damit teilbar ## Verifiziert im Browser Strg+K oeffnet, "Gehe zu" (11) + "Tun" (5); leere Gruppen bleiben verborgen Text tippen -> "Finden" (2) und "An Lucy" (1) erscheinen "Motor neu starten" traegt den Chip "fragt nach"; Auswahl zeigt die Rueckfrage mit vollem Folgentext — es wird NICHTS gestartet "Abbrechen" fuehrt zurueck in die Liste, keine Meldung, kein Aufruf 54 Tests gruen (10 neue) · ESLint 0 Fehler · Einstieg 118 762 B gzip / Budget 125 000. Co-Authored-By: Claude Opus 5 --- ...View-CW6l1s2v.js => AgentView-DgKqlZTR.js} | 2 +- ...IgN4P-.js => AuftragsbuchView-WPZv57nm.js} | 2 +- frontend/dist/assets/ChronikView-BpNpbHag.js | 31 +++ frontend/dist/assets/ChronikView-DfFt5COR.js | 31 --- .../dist/assets/CommandPalette-FxofQTPj.js | 41 ---- .../dist/assets/CommandPalette-L89cO5ZN.js | 51 +++++ ...ew-BdqWBHRP.js => ConnectView-U6cUckmd.js} | 2 +- ...View-Coe5WKp_.js => GuideView-BIajrEL5.js} | 2 +- ...t-Crw42hu2.js => IdeenAnsicht-C0oq2uu1.js} | 2 +- ...obsBar-B0XdGtEh.js => JobsBar-DqqfGkDz.js} | 2 +- ...ew-CsAZfGsS.js => KonsoleView-CLFb1i3h.js} | 2 +- ...rCKJU.js => LiveAreaChartImpl-Bzha3ivD.js} | 2 +- ...iew-Dn4Ryn0Z.js => ModelsView-DMJ2Z3kM.js} | 2 +- ...l-D0h88ho8.js => SectionLabel-CWIt51pc.js} | 2 +- ...iew-BPwq8_ZP.js => SkillsView-bgnrIBeZ.js} | 2 +- ...r-BqYzprU9.js => SystemDrawer-BFlT9oNB.js} | 30 +-- ...iew-Cm8edL44.js => WissenView-CNMl8olT.js} | 30 +-- ...ht-DrtT4MFG.js => arrow-right-BuSI6b_d.js} | 2 +- ...n-hb9Pt4vA.js => chevron-down-DCnAAqHq.js} | 2 +- .../{clock-geHux9wJ.js => clock-Dgmp--tr.js} | 2 +- .../dist/assets/cloud-download-U4tFtHIE.js | 11 + ...e-xml-CWTq52sX.js => code-xml-CizGFoHx.js} | 2 +- ...-DPeXL_3q.js => external-link-A-cVlKY7.js} | 2 +- ...text-BN2uI732.js => file-text-CgoPL5rz.js} | 2 +- ...{hammer-CE6Zn7Q-.js => hammer-B3FRhAF9.js} | 2 +- frontend/dist/assets/index-BKD_njTm.js | 1 + frontend/dist/assets/index-C0bSwoXg.css | 1 - .../{index-DvtGY8-b.js => index-C3tzC6TG.js} | 34 +-- frontend/dist/assets/index-CLtv5X6m.js | 1 - frontend/dist/assets/index-mvq7yy8w.css | 1 + ...{layers-DGDzGr16.js => layers-y7VoVedk.js} | 2 +- .../{power-t1doBEG9.js => power-cDUHwtRA.js} | 2 +- ...-cw-CTp9Wnlo.js => refresh-cw-COF4ZaAx.js} | 2 +- ...{search-CES9eee3.js => search-CMGuC7tW.js} | 2 +- ...{shield-DuTFhOFM.js => shield-DhFhR3yI.js} | 2 +- .../{zap-fipupct_.js => zap-BmFVNuAf.js} | 2 +- frontend/dist/index.html | 4 +- frontend/src/app/palette/register.test.ts | 104 ++++++++++ frontend/src/app/palette/register.ts | 194 ++++++++++++++++++ frontend/src/app/router.tsx | 25 ++- frontend/src/components/CommandPalette.tsx | 194 +++++++++++++----- frontend/src/views/ChronikView.tsx | 48 ++++- frontend/src/views/WissenView.tsx | 10 +- 43 files changed, 671 insertions(+), 219 deletions(-) rename frontend/dist/assets/{AgentView-CW6l1s2v.js => AgentView-DgKqlZTR.js} (98%) rename frontend/dist/assets/{AuftragsbuchView-CwIgN4P-.js => AuftragsbuchView-WPZv57nm.js} (98%) create mode 100644 frontend/dist/assets/ChronikView-BpNpbHag.js delete mode 100644 frontend/dist/assets/ChronikView-DfFt5COR.js delete mode 100644 frontend/dist/assets/CommandPalette-FxofQTPj.js create mode 100644 frontend/dist/assets/CommandPalette-L89cO5ZN.js rename frontend/dist/assets/{ConnectView-BdqWBHRP.js => ConnectView-U6cUckmd.js} (98%) rename frontend/dist/assets/{GuideView-Coe5WKp_.js => GuideView-BIajrEL5.js} (99%) rename frontend/dist/assets/{IdeenAnsicht-Crw42hu2.js => IdeenAnsicht-C0oq2uu1.js} (98%) rename frontend/dist/assets/{JobsBar-B0XdGtEh.js => JobsBar-DqqfGkDz.js} (96%) rename frontend/dist/assets/{KonsoleView-CsAZfGsS.js => KonsoleView-CLFb1i3h.js} (94%) rename frontend/dist/assets/{LiveAreaChartImpl-DDkrCKJU.js => LiveAreaChartImpl-Bzha3ivD.js} (99%) rename frontend/dist/assets/{ModelsView-Dn4Ryn0Z.js => ModelsView-DMJ2Z3kM.js} (99%) rename frontend/dist/assets/{SectionLabel-D0h88ho8.js => SectionLabel-CWIt51pc.js} (76%) rename frontend/dist/assets/{SkillsView-BPwq8_ZP.js => SkillsView-bgnrIBeZ.js} (98%) rename frontend/dist/assets/{SystemDrawer-BqYzprU9.js => SystemDrawer-BFlT9oNB.js} (88%) rename frontend/dist/assets/{WissenView-Cm8edL44.js => WissenView-CNMl8olT.js} (65%) rename frontend/dist/assets/{arrow-right-DrtT4MFG.js => arrow-right-BuSI6b_d.js} (86%) rename frontend/dist/assets/{chevron-down-hb9Pt4vA.js => chevron-down-DCnAAqHq.js} (85%) rename frontend/dist/assets/{clock-geHux9wJ.js => clock-Dgmp--tr.js} (88%) create mode 100644 frontend/dist/assets/cloud-download-U4tFtHIE.js rename frontend/dist/assets/{code-xml-CWTq52sX.js => code-xml-CizGFoHx.js} (88%) rename frontend/dist/assets/{external-link-DPeXL_3q.js => external-link-A-cVlKY7.js} (89%) rename frontend/dist/assets/{file-text-BN2uI732.js => file-text-CgoPL5rz.js} (91%) rename frontend/dist/assets/{hammer-CE6Zn7Q-.js => hammer-B3FRhAF9.js} (91%) create mode 100644 frontend/dist/assets/index-BKD_njTm.js delete mode 100644 frontend/dist/assets/index-C0bSwoXg.css rename frontend/dist/assets/{index-DvtGY8-b.js => index-C3tzC6TG.js} (67%) delete mode 100644 frontend/dist/assets/index-CLtv5X6m.js create mode 100644 frontend/dist/assets/index-mvq7yy8w.css rename frontend/dist/assets/{layers-DGDzGr16.js => layers-y7VoVedk.js} (91%) rename frontend/dist/assets/{power-t1doBEG9.js => power-cDUHwtRA.js} (87%) rename frontend/dist/assets/{refresh-cw-CTp9Wnlo.js => refresh-cw-COF4ZaAx.js} (91%) rename frontend/dist/assets/{search-CES9eee3.js => search-CMGuC7tW.js} (88%) rename frontend/dist/assets/{shield-DuTFhOFM.js => shield-DhFhR3yI.js} (90%) rename frontend/dist/assets/{zap-fipupct_.js => zap-BmFVNuAf.js} (96%) create mode 100644 frontend/src/app/palette/register.test.ts create mode 100644 frontend/src/app/palette/register.ts diff --git a/frontend/dist/assets/AgentView-CW6l1s2v.js b/frontend/dist/assets/AgentView-DgKqlZTR.js similarity index 98% rename from frontend/dist/assets/AgentView-CW6l1s2v.js rename to frontend/dist/assets/AgentView-DgKqlZTR.js index 7e52efc..b3d4fbc 100644 --- a/frontend/dist/assets/AgentView-CW6l1s2v.js +++ b/frontend/dist/assets/AgentView-DgKqlZTR.js @@ -1,4 +1,4 @@ -import{c as B,M as T,j as e,N as p,W as g,b as n,J as D,T as G,z as L,O as $,f as R,k as F,u as I,r as q,P as y,Q as v,t as w,X as U,C as k,n as _,q as u}from"./index-DvtGY8-b.js";import{S}from"./SectionLabel-D0h88ho8.js";import{C as K}from"./clock-geHux9wJ.js";import{E as O}from"./external-link-DPeXL_3q.js";import{S as Q}from"./shield-DuTFhOFM.js";/** +import{c as B,M as T,j as e,N as p,W as g,b as n,J as D,T as G,z as L,O as $,f as R,k as F,u as I,r as q,P as y,Q as v,t as w,X as U,C as k,n as _,q as u}from"./index-C3tzC6TG.js";import{S}from"./SectionLabel-CWIt51pc.js";import{C as K}from"./clock-Dgmp--tr.js";import{E as O}from"./external-link-A-cVlKY7.js";import{S as Q}from"./shield-DhFhR3yI.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/AuftragsbuchView-CwIgN4P-.js b/frontend/dist/assets/AuftragsbuchView-WPZv57nm.js similarity index 98% rename from frontend/dist/assets/AuftragsbuchView-CwIgN4P-.js rename to frontend/dist/assets/AuftragsbuchView-WPZv57nm.js index c2b890f..547ee2b 100644 --- a/frontend/dist/assets/AuftragsbuchView-CwIgN4P-.js +++ b/frontend/dist/assets/AuftragsbuchView-WPZv57nm.js @@ -1,4 +1,4 @@ -import{c as W,z as G,a2 as H,a3 as T,u as F,k as O,r as u,j as e,b as N,L as m,C as E,$ as P,a1 as z,a4 as R,X as I,T as B,G as V,n as $,a5 as _,q}from"./index-DvtGY8-b.js";import{S}from"./SectionLabel-D0h88ho8.js";import{R as U}from"./refresh-cw-CTp9Wnlo.js";import{A as Q}from"./arrow-right-DrtT4MFG.js";import{C as K}from"./clock-geHux9wJ.js";import{C as M}from"./chevron-down-hb9Pt4vA.js";import{H as Z}from"./hammer-CE6Zn7Q-.js";/** +import{c as W,z as G,a2 as H,a3 as T,u as F,k as O,r as u,j as e,b as N,L as m,C as E,$ as P,a1 as z,a4 as R,X as I,T as B,G as V,n as $,a5 as _,q}from"./index-C3tzC6TG.js";import{S}from"./SectionLabel-CWIt51pc.js";import{R as U}from"./refresh-cw-COF4ZaAx.js";import{A as Q}from"./arrow-right-BuSI6b_d.js";import{C as K}from"./clock-Dgmp--tr.js";import{C as M}from"./chevron-down-DCnAAqHq.js";import{H as Z}from"./hammer-B3FRhAF9.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/ChronikView-BpNpbHag.js b/frontend/dist/assets/ChronikView-BpNpbHag.js new file mode 100644 index 0000000..1d4415c --- /dev/null +++ b/frontend/dist/assets/ChronikView-BpNpbHag.js @@ -0,0 +1,31 @@ +import{c as h,ai as S,r as u,z as C,A as M,j as e,aj as z,L as k,a1 as A,R as v,a5 as D,ak as B,al as L,b as Z,am as q,u as E,k as R,n as y,q as T}from"./index-C3tzC6TG.js";import{S as $}from"./search-CMGuC7tW.js";/** + * @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 U=h("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]);/** + * @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 j=h("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** + * @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 V=h("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** + * @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 H=h("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + * @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 O=h("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + * @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 P=h("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),W={sentry:{icon:L,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:B,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:V,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:O,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:P,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:D,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:v,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:U,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:A,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},F={icon:H,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function J(s){return new Date(s*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function I(){const{data:s=[],isLoading:x}=S(),[c,g]=u.useState(!0),f=C(),{q:i=""}=M({from:"/chronik"}),m=r=>f({to:"/chronik",search:r?{q:r}:{},replace:!0}),d=u.useMemo(()=>{const r=i.trim().toLowerCase();return r?s.filter(n=>n.subject.toLowerCase().includes(r)||n.text.toLowerCase().includes(r)||n.source.toLowerCase().includes(r)):s},[s,i]),p=u.useMemo(()=>{const r=[];for(const n of d){const a=J(n.ts),l=r[r.length-1];l&&l.day===a?l.items.push(n):r.push({day:a,items:[n]})}return r},[d]);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{children:[e.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:"Chronik"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),e.jsx(_,{}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(z,{className:"h-3.5 w-3.5"})," Verlauf",i&&e.jsxs("span",{className:"normal-case text-primary",children:["· ",d.length," von ",s.length]})]}),e.jsxs("div",{className:"relative ml-auto w-full sm:w-64",children:[e.jsx($,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),e.jsx("input",{type:"search",value:i,onChange:r=>m(r.target.value),placeholder:"Verlauf durchsuchen …","aria-label":"Chronik durchsuchen",className:"h-8 w-full rounded-lg border border-border/60 bg-background/40 pl-8 pr-3 text-xs text-foreground outline-none transition-colors focus:border-primary"})]})]}),x&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(k,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!x&&d.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:i?e.jsxs(e.Fragment,{children:["Nichts zu „",i,'" im Verlauf. ',e.jsx("button",{onClick:()=>m(""),className:"cursor-pointer text-primary underline underline-offset-2",children:"Filter aufheben"})]}):"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),p.map(({day:r,items:n})=>e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:r}),e.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(c?n.slice(0,8):n).map(a=>{const l=W[a.source]??F,b=l.icon;return e.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[e.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:Z("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",l.cls),children:[e.jsx(b,{className:"h-3 w-3"})," ",l.label]}),a.subject&&e.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:a.subject}),e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(a.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),e.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:a.text})]},a.id)}),c&&n.length>8&&e.jsxs("button",{onClick:()=>g(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[n.length-8," weitere anzeigen"]})]})]},r))]})]})}function _(){const{data:s}=q(),x=E(),{showAlert:c,showConfirm:g,dialogElement:f}=R(),[i,m]=u.useState(null),[d,p]=u.useState(!1),[r,n]=u.useState(!1),a=(s==null?void 0:s.backups)??[],l=r?a:a.slice(0,4);function b(t){const o=t.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return o?`${o[3]}.${o[2]}.${o[1]}, ${o[4]}:${o[5]} Uhr`:t.snapshot}async function w(t){m(t.file);try{await y("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:t.file})}),c("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(o){c("Start fehlgeschlagen",String((o==null?void 0:o.message)||o))}finally{m(null)}}async function N(){p(!0);try{const t=await y("/api/system/backup",{method:"POST"});t.ok?c("Gesichert",`Snapshot ${t.snapshot} wurde angelegt.`):c("Backup fehlgeschlagen",t.error||"Unbekannter Fehler"),x.invalidateQueries({queryKey:T.zeitmaschine})}catch(t){c("Backup fehlgeschlagen",String((t==null?void 0:t.message)||t))}finally{p(!1)}}return e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(j,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),e.jsxs("button",{onClick:N,disabled:d||!(s!=null&&s.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[d?e.jsx(k,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(j,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),s&&!s.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(s==null?void 0:s.available)&&a.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),l.length>0&&e.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:l.map((t,o)=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[b(t)," ",o===0&&e.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),e.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:t.file,children:[t.size_mb.toLocaleString("de-DE")," MB · ",t.file]})]}),e.jsxs("button",{disabled:i!==null,onClick:()=>g("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${b(t)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>w(t)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[i===t.file?e.jsx(k,{className:"h-3 w-3 animate-spin"}):e.jsx(v,{className:"h-3 w-3"})," Zurück"]})]},t.file))}),a.length>4&&!r&&e.jsxs("button",{onClick:()=>n(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",a.length," Snapshots anzeigen"]}),f]})}export{I as ChronikView}; diff --git a/frontend/dist/assets/ChronikView-DfFt5COR.js b/frontend/dist/assets/ChronikView-DfFt5COR.js deleted file mode 100644 index fa9d1cc..0000000 --- a/frontend/dist/assets/ChronikView-DfFt5COR.js +++ /dev/null @@ -1,31 +0,0 @@ -import{c as d,ai as S,r as h,j as e,aj as M,L as p,a1 as z,R as j,a5 as C,ak as D,al as A,b as B,am as Z,u as E,k as L,n as k,q}from"./index-DvtGY8-b.js";/** - * @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 R=d("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]);/** - * @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 y=d("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/** - * @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 T=d("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** - * @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 $=d("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** - * @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 U=d("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** - * @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 H=d("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),O={sentry:{icon:A,label:"Health-Wächter",cls:"text-red-300 bg-red-500/10 border-red-500/25"},alarm:{icon:D,label:"Alarm",cls:"text-red-200 bg-red-500/15 border-red-500/40"},notify:{icon:T,label:"Meldung",cls:"text-sky-300 bg-sky-500/10 border-sky-500/25"},"chef-gutachter":{icon:U,label:"Morgenlage",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"},radar:{icon:H,label:"Radar",cls:"text-teal-300 bg-teal-500/10 border-teal-500/25"},auftragsbuch:{icon:C,label:"Auftragsbuch",cls:"text-primary bg-primary/10 border-primary/25"},zeitmaschine:{icon:j,label:"Zeitmaschine",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},reminder:{icon:R,label:"Erinnerung",cls:"text-amber-300 bg-amber-500/10 border-amber-500/25"},traum:{icon:z,label:"Traum",cls:"text-violet-300 bg-violet-500/10 border-violet-500/25"}},P={icon:$,label:"Box",cls:"text-muted-foreground bg-background/40 border-border/50"};function W(r){return new Date(r*1e3).toLocaleDateString("de-DE",{weekday:"long",day:"2-digit",month:"long"})}function _(){const{data:r=[],isLoading:u}=S(),[i,x]=h.useState(!0),b=h.useMemo(()=>{const o=[];for(const n of r){const a=W(n.ts),l=o[o.length-1];l&&l.day===a?l.items.push(n):o.push({day:a,items:[n]})}return o},[r]);return e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{children:[e.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:"Chronik"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Was deine Box von allein getan und gemeldet hat — und die Zeitmaschine, falls du zu einem früheren Stand zurück willst."})]}),e.jsx(J,{}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(M,{className:"h-3.5 w-3.5"})," Verlauf"]}),u&&e.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[e.jsx(p,{className:"h-4 w-4 animate-spin"})," Chronik wird geladen …"]}),!u&&r.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}),b.map(({day:o,items:n})=>e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-xs font-bold text-foreground/70",children:o}),e.jsxs("div",{className:"space-y-2 border-l-2 border-border/40 pl-4",children:[(i?n.slice(0,8):n).map(a=>{const l=O[a.source]??P,m=l.icon;return e.jsxs("div",{className:"relative rounded-xl border border-border/50 bg-card/40 p-3 backdrop-blur-sm",children:[e.jsx("span",{className:"absolute -left-[23px] top-4 h-2.5 w-2.5 rounded-full bg-border ring-4 ring-background/60"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:B("flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-bold",l.cls),children:[e.jsx(m,{className:"h-3 w-3"})," ",l.label]}),a.subject&&e.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:a.subject}),e.jsx("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/60",children:new Date(a.ts*1e3).toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit"})})]}),e.jsx("p",{className:"mt-1.5 whitespace-pre-wrap text-xs leading-relaxed text-foreground/85",children:a.text})]},a.id)}),i&&n.length>8&&e.jsxs("button",{onClick:()=>x(!1),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:[n.length-8," weitere anzeigen"]})]})]},o))]})]})}function J(){const{data:r}=Z(),u=E(),{showAlert:i,showConfirm:x,dialogElement:b}=L(),[o,n]=h.useState(null),[a,l]=h.useState(!1),[m,v]=h.useState(!1),c=(r==null?void 0:r.backups)??[],g=m?c:c.slice(0,4);function f(t){const s=t.snapshot.match(/^(\d{4})-?(\d{2})-?(\d{2})[T_-](\d{2})[-:]?(\d{2})/);return s?`${s[3]}.${s[2]}.${s[1]}, ${s[4]}:${s[5]} Uhr`:t.snapshot}async function w(t){n(t.file);try{await k("/api/zeitmaschine/restore",{method:"POST",body:JSON.stringify({file:t.file})}),i("Zeitmaschine läuft","Die Wiederherstellung wurde gestartet. Die Dienste starten gleich neu — die Zentrale ist kurz weg und meldet sich von selbst zurück. Vorher wurde automatisch ein Sicherheits-Backup des jetzigen Zustands gemacht.")}catch(s){i("Start fehlgeschlagen",String((s==null?void 0:s.message)||s))}finally{n(null)}}async function N(){l(!0);try{const t=await k("/api/system/backup",{method:"POST"});t.ok?i("Gesichert",`Snapshot ${t.snapshot} wurde angelegt.`):i("Backup fehlgeschlagen",t.error||"Unbekannter Fehler"),u.invalidateQueries({queryKey:q.zeitmaschine})}catch(t){i("Backup fehlgeschlagen",String((t==null?void 0:t.message)||t))}finally{l(!1)}}return e.jsxs("section",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(y,{className:"h-3.5 w-3.5"})," Zeitmaschine — gesicherte Stände"]}),e.jsxs("button",{onClick:N,disabled:a||!(r!=null&&r.available),className:"flex h-8 items-center gap-1.5 rounded-lg border border-border/60 bg-card/45 px-2.5 text-[11px] font-semibold text-muted-foreground hover:text-foreground hover:border-primary/40 transition-all cursor-pointer disabled:opacity-50",children:[a?e.jsx(p,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(y,{className:"h-3.5 w-3.5"})," Jetzt sichern"]})]}),r&&!r.available&&e.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Die Snapshots liegen auf der Box — im lokalen Dev-Modus nicht verfügbar."}),(r==null?void 0:r.available)&&c.length===0&&e.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-5 text-center text-xs text-muted-foreground",children:'Noch keine Snapshots. Das nächtliche Backup (03:30) legt sie automatisch an — oder „Jetzt sichern".'}),g.length>0&&e.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:g.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border/50 bg-card/40 p-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-xs font-semibold text-foreground",children:[f(t)," ",s===0&&e.jsx("span",{className:"ml-1 rounded bg-emerald-500/10 px-1.5 py-0.5 text-[9px] font-bold text-emerald-300",children:"neuester"})]}),e.jsxs("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",title:t.file,children:[t.size_mb.toLocaleString("de-DE")," MB · ",t.file]})]}),e.jsxs("button",{disabled:o!==null,onClick:()=>x("Wirklich zu diesem Stand zurück?",`Die Box wird auf den Snapshot vom ${f(t)} zurückgesetzt (Gedächtnis, Hermes-Config, Modell-Router). Der JETZIGE Zustand wird vorher automatisch gesichert — der Schritt ist also umkehrbar. Die Dienste starten neu, die Zentrale ist kurz weg.`,()=>w(t)),className:"flex h-8 shrink-0 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-2.5 text-[10px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[o===t.file?e.jsx(p,{className:"h-3 w-3 animate-spin"}):e.jsx(j,{className:"h-3 w-3"})," Zurück"]})]},t.file))}),c.length>4&&!m&&e.jsxs("button",{onClick:()=>v(!0),className:"text-[11px] text-muted-foreground underline hover:text-foreground",children:["Alle ",c.length," Snapshots anzeigen"]}),b]})}export{_ as ChronikView}; diff --git a/frontend/dist/assets/CommandPalette-FxofQTPj.js b/frontend/dist/assets/CommandPalette-FxofQTPj.js deleted file mode 100644 index d3cef67..0000000 --- a/frontend/dist/assets/CommandPalette-FxofQTPj.js +++ /dev/null @@ -1,41 +0,0 @@ -import{r as a,j as C,at as Be,z as Gt,au as qt}from"./index-DvtGY8-b.js";import{r as mt}from"./index-CLtv5X6m.js";var qe=1,Zt=.9,Qt=.8,Jt=.17,Pe=.1,Oe=.999,en=.9999,tn=.99,nn=/[\\\/_+.#"@\[\(\{&]/,rn=/[\\\/_+.#"@\[\(\{&]/g,on=/[\s-]/,pt=/[\s-]/g;function Fe(e,t,n,r,o,i,u){if(i===t.length)return o===e.length?qe:tn;var c=`${o},${i}`;if(u[c]!==void 0)return u[c];for(var v=r.charAt(i),s=n.indexOf(v,o),l=0,d,h,p,S;s>=0;)d=Fe(e,t,n,r,s+1,i+1,u),d>l&&(s===o?d*=qe:nn.test(e.charAt(s-1))?(d*=Qt,p=e.slice(o,s-1).match(rn),p&&o>0&&(d*=Math.pow(Oe,p.length))):on.test(e.charAt(s-1))?(d*=Zt,S=e.slice(o,s-1).match(pt),S&&o>0&&(d*=Math.pow(Oe,S.length))):(d*=Jt,o>0&&(d*=Math.pow(Oe,s-o))),e.charAt(s)!==t.charAt(i)&&(d*=en)),(dd&&(d=h*Pe)),d>l&&(l=d),s=n.indexOf(v,s+1);return u[c]=l,l}function Ze(e){return e.toLowerCase().replace(pt," ")}function an(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Fe(e,t,Ze(e),Ze(t),0,0,{})}function z(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Qe(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=Qe(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o{var w;const{scope:h,children:p,...S}=d,m=((w=h==null?void 0:h[e])==null?void 0:w[v])||c,g=a.useMemo(()=>S,Object.values(S));return C.jsx(m.Provider,{value:g,children:p})};s.displayName=i+"Provider";function l(d,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[v])||c,S=a.useContext(p);if(S)return S;if(u!==void 0)return u;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[s,l]}const o=()=>{const i=n.map(u=>a.createContext(u));return function(c){const v=(c==null?void 0:c[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:v}}),[c,v])}};return o.scopeName=e,[r,un(o,...t)]}function un(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const u=r.reduce((c,{useScope:v,scopeName:s})=>{const d=v(i)[`__scope${s}`];return{...c,...d}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return n.scopeName=t.scopeName,n}var ce=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},sn=Be[" useId ".trim().toString()]||(()=>{}),ln=0;function K(e){const[t,n]=a.useState(sn());return ce(()=>{n(r=>r??String(ln++))},[e]),t?`radix-${t}`:""}var dn=Be[" useInsertionEffect ".trim().toString()]||ce;function fn({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,u]=vn({defaultProp:t,onChange:n}),c=e!==void 0,v=c?e:o;{const l=a.useRef(e!==void 0);a.useEffect(()=>{const d=l.current;d!==c&&console.warn(`${r} is changing from ${d?"controlled":"uncontrolled"} to ${c?"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.`),l.current=c},[c,r])}const s=a.useCallback(l=>{var d;if(c){const h=mn(l)?l(e):l;h!==e&&((d=u.current)==null||d.call(u,h))}else i(l)},[c,e,i,u]);return[v,s]}function vn({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return dn(()=>{i.current=t},[t]),a.useEffect(()=>{var u;o.current!==n&&((u=i.current)==null||u.call(i,n),o.current=n)},[n,o]),[n,r,i]}function mn(e){return typeof e=="function"}function ht(e){const t=a.forwardRef((n,r)=>{let{children:o,...i}=n,u=null,c=!1;const v=[];Je(o)&&typeof de=="function"&&(o=de(o._payload)),a.Children.forEach(o,h=>{var p;if(bn(h)){c=!0;const S=h;let m="child"in S.props?S.props.child:S.props.children;Je(m)&&typeof de=="function"&&(m=de(m._payload)),u=hn(S,m),v.push((p=u==null?void 0:u.props)==null?void 0:p.children)}else v.push(h)}),u?u=a.cloneElement(u,void 0,v):!c&&a.Children.count(o)===1&&a.isValidElement(o)&&(u=o);const s=u?yn(u):void 0,l=X(r,s);if(!u){if(o||o===0)throw new Error(c?Cn(e):Sn(e));return o}const d=gn(i,u.props??{});return u.type!==a.Fragment&&(d.ref=r?l:s),a.cloneElement(u,d)});return t.displayName=`${e}.Slot`,t}var pn=Symbol.for("radix.slottable"),hn=(e,t)=>{if("child"in e.props){const n=e.props.child;return a.isValidElement(n)?a.cloneElement(n,void 0,e.props.children(n.props.children)):null}return a.isValidElement(t)?t:null};function gn(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...c)=>{const v=i(...c);return o(...c),v}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function yn(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function bn(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pn}var En=Symbol.for("react.lazy");function Je(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===En&&"_payload"in e&&wn(e._payload)}function wn(e){return typeof e=="object"&&e!==null&&"then"in e}var Sn=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Cn=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,de=Be[" use ".trim().toString()],Rn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],M=Rn.reduce((e,t)=>{const n=ht(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:u,...c}=o,v=u?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),C.jsx(v,{...c,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function xn(e,t){e&&mt.flushSync(()=>e.dispatchEvent(t))}function ue(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}function Dn(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Pn="DismissableLayer",_e="dismissableLayer.update",On="dismissableLayer.pointerDownOutside",Nn="dismissableLayer.focusOutside",et,$e=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),gt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:u,onInteractOutside:c,onDismiss:v,...s}=e,l=a.useContext($e),[d,h]=a.useState(null),p=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=a.useState({}),m=X(t,A=>h(A)),g=Array.from(l.layers),[w]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),b=g.indexOf(w),R=d?g.indexOf(d):-1,O=l.layersWithOutsidePointerEventsDisabled.size>0,x=R>=b,D=a.useRef(!1),I=Mn(A=>{const F=A.target;if(!(F instanceof Node))return;const _=[...l.branches].some(W=>W.contains(F));!x||_||(i==null||i(A),c==null||c(A),A.defaultPrevented||v==null||v())},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:D,dismissableSurfaces:l.dismissableSurfaces}),U=Tn(A=>{if(r&&D.current)return;const F=A.target;[...l.branches].some(W=>W.contains(F))||(u==null||u(A),c==null||c(A),A.defaultPrevented||v==null||v())},p);return Dn(A=>{R===l.layers.size-1&&(o==null||o(A),!A.defaultPrevented&&v&&(A.preventDefault(),v()))},p),a.useEffect(()=>{if(d)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(et=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),tt(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(d),l.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=et))}},[d,p,n,l]),a.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),tt())},[d,l]),a.useEffect(()=>{const A=()=>S({});return document.addEventListener(_e,A),()=>document.removeEventListener(_e,A)},[]),C.jsx(M.div,{...s,ref:m,style:{pointerEvents:O?x?"auto":"none":void 0,...e.style},onFocusCapture:z(e.onFocusCapture,U.onFocusCapture),onBlurCapture:z(e.onBlurCapture,U.onBlurCapture),onPointerDownCapture:z(e.onPointerDownCapture,I.onPointerDownCapture)})});gt.displayName=Pn;var In="DismissableLayerBranch",An=a.forwardRef((e,t)=>{const n=a.useContext($e),r=a.useRef(null),o=X(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),C.jsx(M.div,{...e,ref:o})});An.displayName=In;function kn(){const e=a.useContext($e),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function Mn(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i}=t,u=ue(e),c=a.useRef(!1),v=a.useRef(!1),s=a.useRef(new Map),l=a.useRef(()=>{});return a.useEffect(()=>{function d(){v.current=!1,o.current=!1,s.current.clear()}function h(){return Array.from(s.current.values()).some(Boolean)}function p(b){if(!v.current)return;const R=b.target;R instanceof Node&&[...i].some(x=>x.contains(R))||s.current.set(b.type,!0),b.type==="click"&&window.setTimeout(()=>{v.current&&l.current()},0)}function S(b){v.current&&s.current.set(b.type,!1)}const m=b=>{if(b.target&&!c.current){let R=function(){n.removeEventListener("click",l.current);const x=h();d(),x||yt(On,u,O,{discrete:!0})};const O={originalEvent:b};v.current=!0,o.current=r&&b.button===0,s.current.clear(),!r||b.button!==0?R():(n.removeEventListener("click",l.current),l.current=R,n.addEventListener("click",l.current,{once:!0}))}else n.removeEventListener("click",l.current),d();c.current=!1},g=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const b of g)n.addEventListener(b,p,!0),n.addEventListener(b,S);const w=window.setTimeout(()=>{n.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(w),n.removeEventListener("pointerdown",m),n.removeEventListener("click",l.current);for(const b of g)n.removeEventListener(b,p,!0),n.removeEventListener(b,S)}},[n,u,r,o,i]),{onPointerDownCapture:()=>c.current=!0}}function Tn(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&yt(Nn,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function tt(){const e=new CustomEvent(_e);document.dispatchEvent(e)}function yt(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?xn(o,i):o.dispatchEvent(i)}var Ne="focusScope.autoFocusOnMount",Ie="focusScope.autoFocusOnUnmount",nt={bubbles:!1,cancelable:!0},Ln="FocusScope",bt=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...u}=e,[c,v]=a.useState(null),s=ue(o),l=ue(i),d=a.useRef(null),h=X(t,m=>v(m)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let m=function(R){if(p.paused||!c)return;const O=R.target;c.contains(O)?d.current=O:V(d.current,{select:!0})},g=function(R){if(p.paused||!c)return;const O=R.relatedTarget;O!==null&&(c.contains(O)||V(d.current,{select:!0}))},w=function(R){if(document.activeElement===document.body)for(const x of R)x.removedNodes.length>0&&V(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const b=new MutationObserver(w);return c&&b.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),b.disconnect()}}},[r,c,p.paused]),a.useEffect(()=>{if(c){ot.add(p);const m=document.activeElement;if(!c.contains(m)){const w=new CustomEvent(Ne,nt);c.addEventListener(Ne,s),c.dispatchEvent(w),w.defaultPrevented||(Fn($n(Et(c)),{select:!0}),document.activeElement===m&&V(c))}return()=>{c.removeEventListener(Ne,s),setTimeout(()=>{const w=new CustomEvent(Ie,nt);c.addEventListener(Ie,l),c.dispatchEvent(w),w.defaultPrevented||V(m??document.body,{select:!0}),c.removeEventListener(Ie,l),ot.remove(p)},0)}}},[c,s,l,p]);const S=a.useCallback(m=>{if(!n&&!r||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,w=document.activeElement;if(g&&w){const b=m.currentTarget,[R,O]=_n(b);R&&O?!m.shiftKey&&w===O?(m.preventDefault(),n&&V(R,{select:!0})):m.shiftKey&&w===R&&(m.preventDefault(),n&&V(O,{select:!0})):w===b&&m.preventDefault()}},[n,r,p.paused]);return C.jsx(M.div,{tabIndex:-1,...u,ref:h,onKeyDown:S})});bt.displayName=Ln;function Fn(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(V(r,{select:t}),document.activeElement!==n)return}function _n(e){const t=Et(e),n=rt(t,e),r=rt(t.reverse(),e);return[n,r]}function Et(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function rt(e,t){for(const n of e)if(!jn(n,{upTo:t}))return n}function jn(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 Wn(e){return e instanceof HTMLInputElement&&"select"in e}function V(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Wn(e)&&t&&e.select()}}var ot=Bn();function Bn(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=at(e,t),e.unshift(t)},remove(t){var n;e=at(e,t),(n=e[0])==null||n.resume()}}}function at(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function $n(e){return e.filter(t=>t.tagName!=="A")}var Un="Portal",wt=a.forwardRef((e,t)=>{var c;const{container:n,...r}=e,[o,i]=a.useState(!1);ce(()=>i(!0),[]);const u=n||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return u?mt.createPortal(C.jsx(M.div,{...r,ref:t}),u):null});wt.displayName=Un;function Kn(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var we=e=>{const{present:t,children:n}=e,r=Vn(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=zn(r.ref,Yn(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};we.displayName="Presence";function Vn(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),u=e?"mounted":"unmounted",[c,v]=Kn(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const s=fe(r.current);i.current=c==="mounted"?s:"none"},[c]),ce(()=>{const s=r.current,l=o.current;if(l!==e){const h=i.current,p=fe(s);e?v("MOUNT"):p==="none"||(s==null?void 0:s.display)==="none"?v("UNMOUNT"):v(l&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,v]),ce(()=>{if(t){let s;const l=t.ownerDocument.defaultView??window,d=p=>{const m=fe(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(v("ANIMATION_END"),!o.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",s=l.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(i.current=fe(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{l.clearTimeout(s),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else v("ANIMATION_END")},[t,v]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(s=>{r.current=s?getComputedStyle(s):null,n(s)},[])}}function it(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function zn(...e){const t=a.useRef(e);return t.current=e,a.useCallback(n=>{const r=t.current;let o=!1;const i=r.map(u=>{const c=it(u,n);return!o&&typeof c=="function"&&(o=!0),c});if(o)return()=>{for(let u=0;u{B||(B={start:ct(),end:ct()});const{start:e,end:t}=B;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),ve++,()=>{ve===1&&(B==null||B.start.remove(),B==null||B.end.remove(),B=null),ve=Math.max(0,ve-1)}},[])}function ct(){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 $=function(){return $=Object.assign||function(t){for(var n,r=1,o=arguments.length;r"u")return lr;var t=dr(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},vr=xt(),ne="data-scroll-locked",mr=function(e,t,n,r){var o=e.left,i=e.top,u=e.right,c=e.gap;return n===void 0&&(n="margin"),` - .`.concat(Gn,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(c,"px ").concat(r,`; - } - body[`).concat(ne,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(i,`px; - padding-right: `).concat(u,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(c,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(ye,` { - right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(be,` { - margin-right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(ye," .").concat(ye,` { - right: 0 `).concat(r,`; - } - - .`).concat(be," .").concat(be,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(ne,`] { - `).concat(qn,": ").concat(c,`px; - } -`)},st=function(){var e=parseInt(document.body.getAttribute(ne)||"0",10);return isFinite(e)?e:0},pr=function(){a.useEffect(function(){return document.body.setAttribute(ne,(st()+1).toString()),function(){var e=st()-1;e<=0?document.body.removeAttribute(ne):document.body.setAttribute(ne,e.toString())}},[])},hr=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;pr();var i=a.useMemo(function(){return fr(o)},[o]);return a.createElement(vr,{styles:mr(i,!t,o,n?"":"!important")})},je=!1;if(typeof window<"u")try{var me=Object.defineProperty({},"passive",{get:function(){return je=!0,!0}});window.addEventListener("test",me,me),window.removeEventListener("test",me,me)}catch{je=!1}var q=je?{passive:!1}:!1,gr=function(e){return e.tagName==="TEXTAREA"},Dt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!gr(e)&&n[t]==="visible")},yr=function(e){return Dt(e,"overflowY")},br=function(e){return Dt(e,"overflowX")},lt=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Pt(e,r);if(o){var i=Ot(e,r),u=i[1],c=i[2];if(u>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Er=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},wr=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Pt=function(e,t){return e==="v"?yr(t):br(t)},Ot=function(e,t){return e==="v"?Er(t):wr(t)},Sr=function(e,t){return e==="h"&&t==="rtl"?-1:1},Cr=function(e,t,n,r,o){var i=Sr(e,window.getComputedStyle(t).direction),u=i*r,c=n.target,v=t.contains(c),s=!1,l=u>0,d=0,h=0;do{if(!c)break;var p=Ot(e,c),S=p[0],m=p[1],g=p[2],w=m-g-i*S;(S||w)&&Pt(e,c)&&(d+=w,h+=S);var b=c.parentNode;c=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!v&&c!==document.body||v&&(t.contains(c)||t===c));return(l&&Math.abs(d)<1||!l&&Math.abs(h)<1)&&(s=!0),s},pe=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},dt=function(e){return[e.deltaX,e.deltaY]},ft=function(e){return e&&"current"in e?e.current:e},Rr=function(e,t){return e[0]===t[0]&&e[1]===t[1]},xr=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},Dr=0,Z=[];function Pr(e){var t=a.useRef([]),n=a.useRef([0,0]),r=a.useRef(),o=a.useState(Dr++)[0],i=a.useState(xt)[0],u=a.useRef(e);a.useEffect(function(){u.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=Xn([e.lockRef.current],(e.shards||[]).map(ft),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=a.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!u.current.allowPinchZoom;var w=pe(m),b=n.current,R="deltaX"in m?m.deltaX:b[0]-w[0],O="deltaY"in m?m.deltaY:b[1]-w[1],x,D=m.target,I=Math.abs(R)>Math.abs(O)?"h":"v";if("touches"in m&&I==="h"&&D.type==="range")return!1;var U=window.getSelection(),A=U&&U.anchorNode,F=A?A===D||A.contains(D):!1;if(F)return!1;var _=lt(I,D);if(!_)return!0;if(_?x=I:(x=I==="v"?"h":"v",_=lt(I,D)),!_)return!1;if(!r.current&&"changedTouches"in m&&(R||O)&&(r.current=x),!x)return!0;var W=r.current||x;return Cr(W,g,m,W==="h"?R:O)},[]),v=a.useCallback(function(m){var g=m;if(!(!Z.length||Z[Z.length-1]!==i)){var w="deltaY"in g?dt(g):pe(g),b=t.current.filter(function(x){return x.name===g.type&&(x.target===g.target||g.target===x.shadowParent)&&Rr(x.delta,w)})[0];if(b&&b.should){g.cancelable&&g.preventDefault();return}if(!b){var R=(u.current.shards||[]).map(ft).filter(Boolean).filter(function(x){return x.contains(g.target)}),O=R.length>0?c(g,R[0]):!u.current.noIsolation;O&&g.cancelable&&g.preventDefault()}}},[]),s=a.useCallback(function(m,g,w,b){var R={name:m,delta:g,target:w,should:b,shadowParent:Or(w)};t.current.push(R),setTimeout(function(){t.current=t.current.filter(function(O){return O!==R})},1)},[]),l=a.useCallback(function(m){n.current=pe(m),r.current=void 0},[]),d=a.useCallback(function(m){s(m.type,dt(m),m.target,c(m,e.lockRef.current))},[]),h=a.useCallback(function(m){s(m.type,pe(m),m.target,c(m,e.lockRef.current))},[]);a.useEffect(function(){return Z.push(i),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:h}),document.addEventListener("wheel",v,q),document.addEventListener("touchmove",v,q),document.addEventListener("touchstart",l,q),function(){Z=Z.filter(function(m){return m!==i}),document.removeEventListener("wheel",v,q),document.removeEventListener("touchmove",v,q),document.removeEventListener("touchstart",l,q)}},[]);var p=e.removeScrollBar,S=e.inert;return a.createElement(a.Fragment,null,S?a.createElement(i,{styles:xr(o)}):null,p?a.createElement(hr,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Or(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Nr=rr(Rt,Pr);var Nt=a.forwardRef(function(e,t){return a.createElement(Se,$({},e,{ref:t,sideCar:Nr}))});Nt.classNames=Se.classNames;var Ir=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Q=new WeakMap,he=new WeakMap,ge={},Te=0,It=function(e){return e&&(e.host||It(e.parentNode))},Ar=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=It(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},kr=function(e,t,n,r){var o=Ar(t,Array.isArray(e)?e:[e]);ge[n]||(ge[n]=new WeakMap);var i=ge[n],u=[],c=new Set,v=new Set(o),s=function(d){!d||c.has(d)||(c.add(d),s(d.parentNode))};o.forEach(s);var l=function(d){!d||v.has(d)||Array.prototype.forEach.call(d.children,function(h){if(c.has(h))l(h);else try{var p=h.getAttribute(r),S=p!==null&&p!=="false",m=(Q.get(h)||0)+1,g=(i.get(h)||0)+1;Q.set(h,m),i.set(h,g),u.push(h),m===1&&S&&he.set(h,!0),g===1&&h.setAttribute(n,"true"),S||h.setAttribute(r,"true")}catch(w){console.error("aria-hidden: cannot operate on ",h,w)}})};return l(t),c.clear(),Te++,function(){u.forEach(function(d){var h=Q.get(d)-1,p=i.get(d)-1;Q.set(d,h),i.set(d,p),h||(he.has(d)||d.removeAttribute(r),he.delete(d)),p||d.removeAttribute(n)}),Te--,Te||(Q=new WeakMap,Q=new WeakMap,he=new WeakMap,ge={})}},Mr=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=Ir(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),kr(r,o,n,"aria-hidden")):function(){return null}},Ce="Dialog",[At]=cn(Ce),[Tr,j]=At(Ce),kt=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:u=!0}=e,c=a.useRef(null),v=a.useRef(null),[s,l]=fn({prop:r,defaultProp:o??!1,onChange:i,caller:Ce});return C.jsx(Tr,{scope:t,triggerRef:c,contentRef:v,contentId:K(),titleId:K(),descriptionId:K(),open:s,onOpenChange:l,onOpenToggle:a.useCallback(()=>l(d=>!d),[l]),modal:u,children:n})};kt.displayName=Ce;var Mt="DialogTrigger",Lr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Mt,n),i=X(t,o.triggerRef);return C.jsx(M.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Ke(o.open),...r,ref:i,onClick:z(e.onClick,o.onOpenToggle)})});Lr.displayName=Mt;var Ue="DialogPortal",[Fr,Tt]=At(Ue,{forceMount:void 0}),Lt=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=j(Ue,t);return C.jsx(Fr,{scope:t,forceMount:n,children:a.Children.map(r,u=>C.jsx(we,{present:n||i.open,children:C.jsx(wt,{asChild:!0,container:o,children:u})}))})};Lt.displayName=Ue;var Ee="DialogOverlay",Ft=a.forwardRef((e,t)=>{const n=Tt(Ee,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=j(Ee,e.__scopeDialog);return i.modal?C.jsx(we,{present:r||i.open,children:C.jsx(jr,{...o,ref:t})}):null});Ft.displayName=Ee;var _r=ht("DialogOverlay.RemoveScroll"),jr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Ee,n),i=kn(),u=X(t,i);return C.jsx(Nt,{as:_r,allowPinchZoom:!0,shards:[o.contentRef],children:C.jsx(M.div,{"data-state":Ke(o.open),...r,ref:u,style:{pointerEvents:"auto",...r.style}})})}),oe="DialogContent",_t=a.forwardRef((e,t)=>{const n=Tt(oe,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=j(oe,e.__scopeDialog);return C.jsx(we,{present:r||i.open,children:i.modal?C.jsx(Wr,{...o,ref:t}):C.jsx(Br,{...o,ref:t})})});_t.displayName=oe;var Wr=a.forwardRef((e,t)=>{const n=j(oe,e.__scopeDialog),r=a.useRef(null),o=X(t,n.contentRef,r);return a.useEffect(()=>{const i=r.current;if(i)return Mr(i)},[]),C.jsx(jt,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:z(e.onCloseAutoFocus,i=>{var u;i.preventDefault(),(u=n.triggerRef.current)==null||u.focus()}),onPointerDownOutside:z(e.onPointerDownOutside,i=>{const u=i.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&i.preventDefault()}),onFocusOutside:z(e.onFocusOutside,i=>i.preventDefault())})}),Br=a.forwardRef((e,t)=>{const n=j(oe,e.__scopeDialog),r=a.useRef(!1),o=a.useRef(!1);return C.jsx(jt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var u,c;(u=e.onCloseAutoFocus)==null||u.call(e,i),i.defaultPrevented||(r.current||(c=n.triggerRef.current)==null||c.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var v,s;(v=e.onInteractOutside)==null||v.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=i.target;((s=n.triggerRef.current)==null?void 0:s.contains(u))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),jt=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...u}=e,c=j(oe,n);return Hn(),C.jsx(C.Fragment,{children:C.jsx(bt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:C.jsx(gt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Ke(c.open),...u,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),Wt="DialogTitle",$r=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Wt,n);return C.jsx(M.h2,{id:o.titleId,...r,ref:t})});$r.displayName=Wt;var Bt="DialogDescription",Ur=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j(Bt,n);return C.jsx(M.p,{id:o.descriptionId,...r,ref:t})});Ur.displayName=Bt;var $t="DialogClose",Kr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=j($t,n);return C.jsx(M.button,{type:"button",...r,ref:t,onClick:z(e.onClick,()=>o.onOpenChange(!1))})});Kr.displayName=$t;function Ke(e){return e?"open":"closed"}var ie='[cmdk-group=""]',Le='[cmdk-group-items=""]',Vr='[cmdk-group-heading=""]',Ut='[cmdk-item=""]',vt=`${Ut}:not([aria-disabled="true"])`,We="cmdk-item-select",ee="data-value",zr=(e,t,n)=>an(e,t,n),Kt=a.createContext(void 0),se=()=>a.useContext(Kt),Vt=a.createContext(void 0),Ve=()=>a.useContext(Vt),zt=a.createContext(void 0),Yt=a.forwardRef((e,t)=>{let n=te(()=>{var f,E;return{search:"",value:(E=(f=e.value)!=null?f:e.defaultValue)!=null?E:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=te(()=>new Set),o=te(()=>new Map),i=te(()=>new Map),u=te(()=>new Set),c=Ht(e),{label:v,children:s,value:l,onValueChange:d,filter:h,shouldFilter:p,loop:S,disablePointerSelection:m=!1,vimBindings:g=!0,...w}=e,b=K(),R=K(),O=K(),x=a.useRef(null),D=no();H(()=>{if(l!==void 0){let f=l.trim();n.current.value=f,I.emit()}},[l]),H(()=>{D(6,ze)},[]);let I=a.useMemo(()=>({subscribe:f=>(u.current.add(f),()=>u.current.delete(f)),snapshot:()=>n.current,setState:(f,E,P)=>{var y,N,k,L;if(!Object.is(n.current[f],E)){if(n.current[f]=E,f==="search")W(),F(),D(1,_);else if(f==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let T=document.getElementById(O);T?T.focus():(y=document.getElementById(b))==null||y.focus()}if(D(7,()=>{var T;n.current.selectedItemId=(T=G())==null?void 0:T.id,I.emit()}),P||D(5,ze),((N=c.current)==null?void 0:N.value)!==void 0){let T=E??"";(L=(k=c.current).onValueChange)==null||L.call(k,T);return}}I.emit()}},emit:()=>{u.current.forEach(f=>f())}}),[]),U=a.useMemo(()=>({value:(f,E,P)=>{var y;E!==((y=i.current.get(f))==null?void 0:y.value)&&(i.current.set(f,{value:E,keywords:P}),n.current.filtered.items.set(f,A(E,P)),D(2,()=>{F(),I.emit()}))},item:(f,E)=>(r.current.add(f),E&&(o.current.has(E)?o.current.get(E).add(f):o.current.set(E,new Set([f]))),D(3,()=>{W(),F(),n.current.value||_(),I.emit()}),()=>{i.current.delete(f),r.current.delete(f),n.current.filtered.items.delete(f);let P=G();D(4,()=>{W(),(P==null?void 0:P.getAttribute("id"))===f&&_(),I.emit()})}),group:f=>(o.current.has(f)||o.current.set(f,new Set),()=>{i.current.delete(f),o.current.delete(f)}),filter:()=>c.current.shouldFilter,label:v||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:O,labelId:R,listInnerRef:x}),[]);function A(f,E){var P,y;let N=(y=(P=c.current)==null?void 0:P.filter)!=null?y:zr;return f?N(f,n.current.search,E):0}function F(){if(!n.current.search||c.current.shouldFilter===!1)return;let f=n.current.filtered.items,E=[];n.current.filtered.groups.forEach(y=>{let N=o.current.get(y),k=0;N.forEach(L=>{let T=f.get(L);k=Math.max(T,k)}),E.push([y,k])});let P=x.current;ae().sort((y,N)=>{var k,L;let T=y.getAttribute("id"),le=N.getAttribute("id");return((k=f.get(le))!=null?k:0)-((L=f.get(T))!=null?L:0)}).forEach(y=>{let N=y.closest(Le);N?N.appendChild(y.parentElement===N?y:y.closest(`${Le} > *`)):P.appendChild(y.parentElement===P?y:y.closest(`${Le} > *`))}),E.sort((y,N)=>N[1]-y[1]).forEach(y=>{var N;let k=(N=x.current)==null?void 0:N.querySelector(`${ie}[${ee}="${encodeURIComponent(y[0])}"]`);k==null||k.parentElement.appendChild(k)})}function _(){let f=ae().find(P=>P.getAttribute("aria-disabled")!=="true"),E=f==null?void 0:f.getAttribute(ee);I.setState("value",E||void 0)}function W(){var f,E,P,y;if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let N=0;for(let k of r.current){let L=(E=(f=i.current.get(k))==null?void 0:f.value)!=null?E:"",T=(y=(P=i.current.get(k))==null?void 0:P.keywords)!=null?y:[],le=A(L,T);n.current.filtered.items.set(k,le),le>0&&N++}for(let[k,L]of o.current)for(let T of L)if(n.current.filtered.items.get(T)>0){n.current.filtered.groups.add(k);break}n.current.filtered.count=N}function ze(){var f,E,P;let y=G();y&&(((f=y.parentElement)==null?void 0:f.firstChild)===y&&((P=(E=y.closest(ie))==null?void 0:E.querySelector(Vr))==null||P.scrollIntoView({block:"nearest"})),y.scrollIntoView({block:"nearest"}))}function G(){var f;return(f=x.current)==null?void 0:f.querySelector(`${Ut}[aria-selected="true"]`)}function ae(){var f;return Array.from(((f=x.current)==null?void 0:f.querySelectorAll(vt))||[])}function xe(f){let E=ae()[f];E&&I.setState("value",E.getAttribute(ee))}function De(f){var E;let P=G(),y=ae(),N=y.findIndex(L=>L===P),k=y[N+f];(E=c.current)!=null&&E.loop&&(k=N+f<0?y[y.length-1]:N+f===y.length?y[0]:y[N+f]),k&&I.setState("value",k.getAttribute(ee))}function Ye(f){let E=G(),P=E==null?void 0:E.closest(ie),y;for(;P&&!y;)P=f>0?eo(P,ie):to(P,ie),y=P==null?void 0:P.querySelector(vt);y?I.setState("value",y.getAttribute(ee)):De(f)}let He=()=>xe(ae().length-1),Xe=f=>{f.preventDefault(),f.metaKey?He():f.altKey?Ye(1):De(1)},Ge=f=>{f.preventDefault(),f.metaKey?xe(0):f.altKey?Ye(-1):De(-1)};return a.createElement(M.div,{ref:t,tabIndex:-1,...w,"cmdk-root":"",onKeyDown:f=>{var E;(E=w.onKeyDown)==null||E.call(w,f);let P=f.nativeEvent.isComposing||f.keyCode===229;if(!(f.defaultPrevented||P))switch(f.key){case"n":case"j":{g&&f.ctrlKey&&Xe(f);break}case"ArrowDown":{Xe(f);break}case"p":case"k":{g&&f.ctrlKey&&Ge(f);break}case"ArrowUp":{Ge(f);break}case"Home":{f.preventDefault(),xe(0);break}case"End":{f.preventDefault(),He();break}case"Enter":{f.preventDefault();let y=G();if(y){let N=new Event(We);y.dispatchEvent(N)}}}}},a.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:oo},v),Re(e,f=>a.createElement(Vt.Provider,{value:I},a.createElement(Kt.Provider,{value:U},f))))}),Yr=a.forwardRef((e,t)=>{var n,r;let o=K(),i=a.useRef(null),u=a.useContext(zt),c=se(),v=Ht(e),s=(r=(n=v.current)==null?void 0:n.forceMount)!=null?r:u==null?void 0:u.forceMount;H(()=>{if(!s)return c.item(o,u==null?void 0:u.id)},[s]);let l=Xt(o,i,[e.value,e.children,i],e.keywords),d=Ve(),h=Y(D=>D.value&&D.value===l.current),p=Y(D=>s||c.filter()===!1?!0:D.search?D.filtered.items.get(o)>0:!0);a.useEffect(()=>{let D=i.current;if(!(!D||e.disabled))return D.addEventListener(We,S),()=>D.removeEventListener(We,S)},[p,e.onSelect,e.disabled]);function S(){var D,I;m(),(I=(D=v.current).onSelect)==null||I.call(D,l.current)}function m(){d.setState("value",l.current,!0)}if(!p)return null;let{disabled:g,value:w,onSelect:b,forceMount:R,keywords:O,...x}=e;return a.createElement(M.div,{ref:re(i,t),...x,id:o,"cmdk-item":"",role:"option","aria-disabled":!!g,"aria-selected":!!h,"data-disabled":!!g,"data-selected":!!h,onPointerMove:g||c.getDisablePointerSelection()?void 0:m,onClick:g?void 0:S},e.children)}),Hr=a.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:o,...i}=e,u=K(),c=a.useRef(null),v=a.useRef(null),s=K(),l=se(),d=Y(p=>o||l.filter()===!1?!0:p.search?p.filtered.groups.has(u):!0);H(()=>l.group(u),[]),Xt(u,c,[e.value,e.heading,v]);let h=a.useMemo(()=>({id:u,forceMount:o}),[o]);return a.createElement(M.div,{ref:re(c,t),...i,"cmdk-group":"",role:"presentation",hidden:d?void 0:!0},n&&a.createElement("div",{ref:v,"cmdk-group-heading":"","aria-hidden":!0,id:s},n),Re(e,p=>a.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?s:void 0},a.createElement(zt.Provider,{value:h},p))))}),Xr=a.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,o=a.useRef(null),i=Y(u=>!u.search);return!n&&!i?null:a.createElement(M.div,{ref:re(o,t),...r,"cmdk-separator":"",role:"separator"})}),Gr=a.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,o=e.value!=null,i=Ve(),u=Y(s=>s.search),c=Y(s=>s.selectedItemId),v=se();return a.useEffect(()=>{e.value!=null&&i.setState("search",e.value)},[e.value]),a.createElement(M.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":v.listId,"aria-labelledby":v.labelId,"aria-activedescendant":c,id:v.inputId,type:"text",value:o?e.value:u,onChange:s=>{o||i.setState("search",s.target.value),n==null||n(s.target.value)}})}),qr=a.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...o}=e,i=a.useRef(null),u=a.useRef(null),c=Y(s=>s.selectedItemId),v=se();return a.useEffect(()=>{if(u.current&&i.current){let s=u.current,l=i.current,d,h=new ResizeObserver(()=>{d=requestAnimationFrame(()=>{let p=s.offsetHeight;l.style.setProperty("--cmdk-list-height",p.toFixed(1)+"px")})});return h.observe(s),()=>{cancelAnimationFrame(d),h.unobserve(s)}}},[]),a.createElement(M.div,{ref:re(i,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:v.listId},Re(e,s=>a.createElement("div",{ref:re(u,v.listInnerRef),"cmdk-list-sizer":""},s)))}),Zr=a.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:o,contentClassName:i,container:u,...c}=e;return a.createElement(kt,{open:n,onOpenChange:r},a.createElement(Lt,{container:u},a.createElement(Ft,{"cmdk-overlay":"",className:o}),a.createElement(_t,{"aria-label":e.label,"cmdk-dialog":"",className:i},a.createElement(Yt,{ref:t,...c}))))}),Qr=a.forwardRef((e,t)=>Y(n=>n.filtered.count===0)?a.createElement(M.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Jr=a.forwardRef((e,t)=>{let{progress:n,children:r,label:o="Loading...",...i}=e;return a.createElement(M.div,{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},Re(e,u=>a.createElement("div",{"aria-hidden":!0},u)))}),J=Object.assign(Yt,{List:qr,Item:Yr,Input:Gr,Group:Hr,Separator:Xr,Dialog:Zr,Empty:Qr,Loading:Jr});function eo(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function to(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Ht(e){let t=a.useRef(e);return H(()=>{t.current=e}),t}var H=typeof window>"u"?a.useEffect:a.useLayoutEffect;function te(e){let t=a.useRef();return t.current===void 0&&(t.current=e()),t}function Y(e){let t=Ve(),n=()=>e(t.snapshot());return a.useSyncExternalStore(t.subscribe,n,n)}function Xt(e,t,n,r=[]){let o=a.useRef(),i=se();return H(()=>{var u;let c=(()=>{var s;for(let l of n){if(typeof l=="string")return l.trim();if(typeof l=="object"&&"current"in l)return l.current?(s=l.current.textContent)==null?void 0:s.trim():o.current}})(),v=r.map(s=>s.trim());i.value(e,c,v),(u=t.current)==null||u.setAttribute(ee,c),o.current=c}),o}var no=()=>{let[e,t]=a.useState(),n=te(()=>new Map);return H(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,o)=>{n.current.set(r,o),t({})}};function ro(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Re({asChild:e,children:t},n){return e&&a.isValidElement(t)?a.cloneElement(ro(t),{ref:t.ref},n(t.props.children)):n(t)}var oo={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function co(){const[e,t]=a.useState(!1),n=Gt();return a.useEffect(()=>{const r=o=>{(o.metaKey||o.ctrlKey)&&o.key.toLowerCase()==="k"&&(o.preventDefault(),t(i=>!i))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),a.useEffect(()=>{const r=()=>t(!0);return window.addEventListener("mc-palette-open",r),()=>window.removeEventListener("mc-palette-open",r)},[]),C.jsx(J.Dialog,{open:e,onOpenChange:t,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain",onClick:()=>t(!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:r=>r.stopPropagation(),children:[C.jsx(J.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(J.List,{className:"max-h-80 overflow-y-auto p-2",children:[C.jsx(J.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),C.jsx(J.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:qt.map(r=>C.jsxs(J.Item,{value:`${r.label} ${r.hint}`,onSelect:()=>{n({to:r.pfad}),t(!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(r.icon,{className:"h-4 w-4 text-primary"}),C.jsx("span",{children:r.label}),C.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:r.hint})]},r.id))})]})]})})}export{co as CommandPalette}; diff --git a/frontend/dist/assets/CommandPalette-L89cO5ZN.js b/frontend/dist/assets/CommandPalette-L89cO5ZN.js new file mode 100644 index 0000000..439d9c2 --- /dev/null +++ b/frontend/dist/assets/CommandPalette-L89cO5ZN.js @@ -0,0 +1,51 @@ +import{c as pt,r as a,j as g,at as Ue,W as Jt,au as Qt,$ as en,av as tn,aw as qe,z as nn,n as rn,T as on,b as an}from"./index-C3tzC6TG.js";import{r as ht}from"./index-BKD_njTm.js";import{C as sn,a as cn}from"./cloud-download-U4tFtHIE.js";import{R as un}from"./refresh-cw-COF4ZaAx.js";import{S as ln}from"./search-CMGuC7tW.js";import{F as dn}from"./file-text-CgoPL5rz.js";/** + * @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 fn=pt("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);/** + * @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 vn=pt("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var Ze=1,mn=.9,pn=.8,hn=.17,ke=.1,Pe=.999,gn=.9999,bn=.99,yn=/[\\\/_+.#"@\[\(\{&]/,En=/[\\\/_+.#"@\[\(\{&]/g,wn=/[\s-]/,gt=/[\s-]/g;function Fe(e,t,n,r,o,i,c){if(i===t.length)return o===e.length?Ze:bn;var s=`${o},${i}`;if(c[s]!==void 0)return c[s];for(var m=r.charAt(i),u=n.indexOf(m,o),l=0,f,h,p,y;u>=0;)f=Fe(e,t,n,r,u+1,i+1,c),f>l&&(u===o?f*=Ze:yn.test(e.charAt(u-1))?(f*=pn,p=e.slice(o,u-1).match(En),p&&o>0&&(f*=Math.pow(Pe,p.length))):wn.test(e.charAt(u-1))?(f*=mn,y=e.slice(o,u-1).match(gt),y&&o>0&&(f*=Math.pow(Pe,y.length))):(f*=hn,o>0&&(f*=Math.pow(Pe,u-o))),e.charAt(u)!==t.charAt(i)&&(f*=gn)),(ff&&(f=h*ke)),f>l&&(l=f),u=n.indexOf(m,u+1);return c[s]=l,l}function Je(e){return e.toLowerCase().replace(gt," ")}function Sn(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Fe(e,t,Je(e),Je(t),0,0,{})}function z(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Qe(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function re(...e){return t=>{let n=!1;const r=e.map(o=>{const i=Qe(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o{var x;const{scope:h,children:p,...y}=f,d=((x=h==null?void 0:h[e])==null?void 0:x[m])||s,b=a.useMemo(()=>y,Object.values(y));return g.jsx(d.Provider,{value:b,children:p})};u.displayName=i+"Provider";function l(f,h){var d;const p=((d=h==null?void 0:h[e])==null?void 0:d[m])||s,y=a.useContext(p);if(y)return y;if(c!==void 0)return c;throw new Error(`\`${f}\` must be used within \`${i}\``)}return[u,l]}const o=()=>{const i=n.map(c=>a.createContext(c));return function(s){const m=(s==null?void 0:s[e])||i;return a.useMemo(()=>({[`__scope${e}`]:{...s,[e]:m}}),[s,m])}};return o.scopeName=e,[r,Cn(o,...t)]}function Cn(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const c=r.reduce((s,{useScope:m,scopeName:u})=>{const f=m(i)[`__scope${u}`];return{...s,...f}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var se=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},Rn=Ue[" useId ".trim().toString()]||(()=>{}),Nn=0;function V(e){const[t,n]=a.useState(Rn());return se(()=>{n(r=>r??String(Nn++))},[e]),t?`radix-${t}`:""}var kn=Ue[" useInsertionEffect ".trim().toString()]||se;function Pn({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,c]=Dn({defaultProp:t,onChange:n}),s=e!==void 0,m=s?e:o;{const l=a.useRef(e!==void 0);a.useEffect(()=>{const f=l.current;f!==s&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${s?"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.`),l.current=s},[s,r])}const u=a.useCallback(l=>{var f;if(s){const h=On(l)?l(e):l;h!==e&&((f=c.current)==null||f.call(c,h))}else i(l)},[s,e,i,c]);return[m,u]}function Dn({defaultProp:e,onChange:t}){const[n,r]=a.useState(e),o=a.useRef(n),i=a.useRef(t);return kn(()=>{i.current=t},[t]),a.useEffect(()=>{var c;o.current!==n&&((c=i.current)==null||c.call(i,n),o.current=n)},[n,o]),[n,r,i]}function On(e){return typeof e=="function"}function bt(e){const t=a.forwardRef((n,r)=>{let{children:o,...i}=n,c=null,s=!1;const m=[];et(o)&&typeof de=="function"&&(o=de(o._payload)),a.Children.forEach(o,h=>{var p;if(Ln(h)){s=!0;const y=h;let d="child"in y.props?y.props.child:y.props.children;et(d)&&typeof de=="function"&&(d=de(d._payload)),c=An(y,d),m.push((p=c==null?void 0:c.props)==null?void 0:p.children)}else m.push(h)}),c?c=a.cloneElement(c,void 0,m):!s&&a.Children.count(o)===1&&a.isValidElement(o)&&(c=o);const u=c?Tn(c):void 0,l=G(r,u);if(!c){if(o||o===0)throw new Error(s?Wn(e):_n(e));return o}const f=Mn(i,c.props??{});return c.type!==a.Fragment&&(f.ref=r?l:u),a.cloneElement(c,f)});return t.displayName=`${e}.Slot`,t}var In=Symbol.for("radix.slottable"),An=(e,t)=>{if("child"in e.props){const n=e.props.child;return a.isValidElement(n)?a.cloneElement(n,void 0,e.props.children(n.props.children)):null}return a.isValidElement(t)?t:null};function Mn(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{const m=i(...s);return o(...s),m}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function Tn(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Ln(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===In}var Fn=Symbol.for("react.lazy");function et(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Fn&&"_payload"in e&&jn(e._payload)}function jn(e){return typeof e=="object"&&e!==null&&"then"in e}var _n=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Wn=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,de=Ue[" use ".trim().toString()],Un=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],M=Un.reduce((e,t)=>{const n=bt(`Primitive.${t}`),r=a.forwardRef((o,i)=>{const{asChild:c,...s}=o,m=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(m,{...s,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function $n(e,t){e&&ht.flushSync(()=>e.dispatchEvent(t))}function ce(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}function Bn(e,t=globalThis==null?void 0:globalThis.document){const n=ce(e);a.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Vn="DismissableLayer",je="dismissableLayer.update",Kn="dismissableLayer.pointerDownOutside",zn="dismissableLayer.focusOutside",tt,$e=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),yt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:c,onInteractOutside:s,onDismiss:m,...u}=e,l=a.useContext($e),[f,h]=a.useState(null),p=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,y]=a.useState({}),d=G(t,I=>h(I)),b=Array.from(l.layers),[x]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),w=b.indexOf(x),C=f?b.indexOf(f):-1,P=l.layersWithOutsidePointerEventsDisabled.size>0,R=C>=w,N=a.useRef(!1),O=Xn(I=>{const F=I.target;if(!(F instanceof Node))return;const j=[...l.branches].some(W=>W.contains(F));!R||j||(i==null||i(I),s==null||s(I),I.defaultPrevented||m==null||m())},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:N,dismissableSurfaces:l.dismissableSurfaces}),B=qn(I=>{if(r&&N.current)return;const F=I.target;[...l.branches].some(W=>W.contains(F))||(c==null||c(I),s==null||s(I),I.defaultPrevented||m==null||m())},p);return Bn(I=>{C===l.layers.size-1&&(o==null||o(I),!I.defaultPrevented&&m&&(I.preventDefault(),m()))},p),a.useEffect(()=>{if(f)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(tt=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(f)),l.layers.add(f),nt(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(f),l.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=tt))}},[f,p,n,l]),a.useEffect(()=>()=>{f&&(l.layers.delete(f),l.layersWithOutsidePointerEventsDisabled.delete(f),nt())},[f,l]),a.useEffect(()=>{const I=()=>y({});return document.addEventListener(je,I),()=>document.removeEventListener(je,I)},[]),g.jsx(M.div,{...u,ref:d,style:{pointerEvents:P?R?"auto":"none":void 0,...e.style},onFocusCapture:z(e.onFocusCapture,B.onFocusCapture),onBlurCapture:z(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:z(e.onPointerDownCapture,O.onPointerDownCapture)})});yt.displayName=Vn;var Hn="DismissableLayerBranch",Yn=a.forwardRef((e,t)=>{const n=a.useContext($e),r=a.useRef(null),o=G(t,r);return a.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),g.jsx(M.div,{...e,ref:o})});Yn.displayName=Hn;function Gn(){const e=a.useContext($e),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function Xn(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i}=t,c=ce(e),s=a.useRef(!1),m=a.useRef(!1),u=a.useRef(new Map),l=a.useRef(()=>{});return a.useEffect(()=>{function f(){m.current=!1,o.current=!1,u.current.clear()}function h(){return Array.from(u.current.values()).some(Boolean)}function p(w){if(!m.current)return;const C=w.target;C instanceof Node&&[...i].some(R=>R.contains(C))||u.current.set(w.type,!0),w.type==="click"&&window.setTimeout(()=>{m.current&&l.current()},0)}function y(w){m.current&&u.current.set(w.type,!1)}const d=w=>{if(w.target&&!s.current){let C=function(){n.removeEventListener("click",l.current);const R=h();f(),R||Et(Kn,c,P,{discrete:!0})};const P={originalEvent:w};m.current=!0,o.current=r&&w.button===0,u.current.clear(),!r||w.button!==0?C():(n.removeEventListener("click",l.current),l.current=C,n.addEventListener("click",l.current,{once:!0}))}else n.removeEventListener("click",l.current),f();s.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const w of b)n.addEventListener(w,p,!0),n.addEventListener(w,y);const x=window.setTimeout(()=>{n.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(x),n.removeEventListener("pointerdown",d),n.removeEventListener("click",l.current);for(const w of b)n.removeEventListener(w,p,!0),n.removeEventListener(w,y)}},[n,c,r,o,i]),{onPointerDownCapture:()=>s.current=!0}}function qn(e,t=globalThis==null?void 0:globalThis.document){const n=ce(e),r=a.useRef(!1);return a.useEffect(()=>{const o=i=>{i.target&&!r.current&&Et(zn,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function nt(){const e=new CustomEvent(je);document.dispatchEvent(e)}function Et(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?$n(o,i):o.dispatchEvent(i)}var De="focusScope.autoFocusOnMount",Oe="focusScope.autoFocusOnUnmount",rt={bubbles:!1,cancelable:!0},Zn="FocusScope",wt=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...c}=e,[s,m]=a.useState(null),u=ce(o),l=ce(i),f=a.useRef(null),h=G(t,d=>m(d)),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let d=function(C){if(p.paused||!s)return;const P=C.target;s.contains(P)?f.current=P:K(f.current,{select:!0})},b=function(C){if(p.paused||!s)return;const P=C.relatedTarget;P!==null&&(s.contains(P)||K(f.current,{select:!0}))},x=function(C){if(document.activeElement===document.body)for(const R of C)R.removedNodes.length>0&&K(s)};document.addEventListener("focusin",d),document.addEventListener("focusout",b);const w=new MutationObserver(x);return s&&w.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",d),document.removeEventListener("focusout",b),w.disconnect()}}},[r,s,p.paused]),a.useEffect(()=>{if(s){at.add(p);const d=document.activeElement;if(!s.contains(d)){const x=new CustomEvent(De,rt);s.addEventListener(De,u),s.dispatchEvent(x),x.defaultPrevented||(Jn(rr(St(s)),{select:!0}),document.activeElement===d&&K(s))}return()=>{s.removeEventListener(De,u),setTimeout(()=>{const x=new CustomEvent(Oe,rt);s.addEventListener(Oe,l),s.dispatchEvent(x),x.defaultPrevented||K(d??document.body,{select:!0}),s.removeEventListener(Oe,l),at.remove(p)},0)}}},[s,u,l,p]);const y=a.useCallback(d=>{if(!n&&!r||p.paused)return;const b=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,x=document.activeElement;if(b&&x){const w=d.currentTarget,[C,P]=Qn(w);C&&P?!d.shiftKey&&x===P?(d.preventDefault(),n&&K(C,{select:!0})):d.shiftKey&&x===C&&(d.preventDefault(),n&&K(P,{select:!0})):x===w&&d.preventDefault()}},[n,r,p.paused]);return g.jsx(M.div,{tabIndex:-1,...c,ref:h,onKeyDown:y})});wt.displayName=Zn;function Jn(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(K(r,{select:t}),document.activeElement!==n)return}function Qn(e){const t=St(e),n=ot(t,e),r=ot(t.reverse(),e);return[n,r]}function St(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ot(e,t){for(const n of e)if(!er(n,{upTo:t}))return n}function er(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 tr(e){return e instanceof HTMLInputElement&&"select"in e}function K(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&tr(e)&&t&&e.select()}}var at=nr();function nr(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=it(e,t),e.unshift(t)},remove(t){var n;e=it(e,t),(n=e[0])==null||n.resume()}}}function it(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function rr(e){return e.filter(t=>t.tagName!=="A")}var or="Portal",xt=a.forwardRef((e,t)=>{var s;const{container:n,...r}=e,[o,i]=a.useState(!1);se(()=>i(!0),[]);const c=n||o&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return c?ht.createPortal(g.jsx(M.div,{...r,ref:t}),c):null});xt.displayName=or;function ar(e,t){return a.useReducer((n,r)=>t[n][r]??n,e)}var we=e=>{const{present:t,children:n}=e,r=ir(t),o=typeof n=="function"?n({present:r.isPresent}):a.Children.only(n),i=sr(r.ref,cr(o));return typeof n=="function"||r.isPresent?a.cloneElement(o,{ref:i}):null};we.displayName="Presence";function ir(e){const[t,n]=a.useState(),r=a.useRef(null),o=a.useRef(e),i=a.useRef("none"),c=e?"mounted":"unmounted",[s,m]=ar(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const u=fe(r.current);i.current=s==="mounted"?u:"none"},[s]),se(()=>{const u=r.current,l=o.current;if(l!==e){const h=i.current,p=fe(u);e?m("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?m("UNMOUNT"):m(l&&h!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,m]),se(()=>{if(t){let u;const l=t.ownerDocument.defaultView??window,f=p=>{const d=fe(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&d&&(m("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",u=l.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=p=>{p.target===t&&(i.current=fe(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{l.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else m("ANIMATION_END")},[t,m]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:a.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function st(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function sr(...e){const t=a.useRef(e);return t.current=e,a.useCallback(n=>{const r=t.current;let o=!1;const i=r.map(c=>{const s=st(c,n);return!o&&typeof s=="function"&&(o=!0),s});if(o)return()=>{for(let c=0;c{U||(U={start:ct(),end:ct()});const{start:e,end:t}=U;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),ve++,()=>{ve===1&&(U==null||U.start.remove(),U==null||U.end.remove(),U=null),ve=Math.max(0,ve-1)}},[])}function ct(){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 $=function(){return $=Object.assign||function(t){for(var n,r=1,o=arguments.length;r"u")return Nr;var t=kr(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Dr=kt(),ne="data-scroll-locked",Or=function(e,t,n,r){var o=e.left,i=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(dr,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body[`).concat(ne,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(c,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(be,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(ye,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(be," .").concat(be,` { + right: 0 `).concat(r,`; + } + + .`).concat(ye," .").concat(ye,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(ne,`] { + `).concat(fr,": ").concat(s,`px; + } +`)},lt=function(){var e=parseInt(document.body.getAttribute(ne)||"0",10);return isFinite(e)?e:0},Ir=function(){a.useEffect(function(){return document.body.setAttribute(ne,(lt()+1).toString()),function(){var e=lt()-1;e<=0?document.body.removeAttribute(ne):document.body.setAttribute(ne,e.toString())}},[])},Ar=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Ir();var i=a.useMemo(function(){return Pr(o)},[o]);return a.createElement(Dr,{styles:Or(i,!t,o,n?"":"!important")})},_e=!1;if(typeof window<"u")try{var me=Object.defineProperty({},"passive",{get:function(){return _e=!0,!0}});window.addEventListener("test",me,me),window.removeEventListener("test",me,me)}catch{_e=!1}var q=_e?{passive:!1}:!1,Mr=function(e){return e.tagName==="TEXTAREA"},Pt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Mr(e)&&n[t]==="visible")},Tr=function(e){return Pt(e,"overflowY")},Lr=function(e){return Pt(e,"overflowX")},dt=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Dt(e,r);if(o){var i=Ot(e,r),c=i[1],s=i[2];if(c>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Fr=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},jr=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Dt=function(e,t){return e==="v"?Tr(t):Lr(t)},Ot=function(e,t){return e==="v"?Fr(t):jr(t)},_r=function(e,t){return e==="h"&&t==="rtl"?-1:1},Wr=function(e,t,n,r,o){var i=_r(e,window.getComputedStyle(t).direction),c=i*r,s=n.target,m=t.contains(s),u=!1,l=c>0,f=0,h=0;do{if(!s)break;var p=Ot(e,s),y=p[0],d=p[1],b=p[2],x=d-b-i*y;(y||x)&&Dt(e,s)&&(f+=x,h+=y);var w=s.parentNode;s=w&&w.nodeType===Node.DOCUMENT_FRAGMENT_NODE?w.host:w}while(!m&&s!==document.body||m&&(t.contains(s)||t===s));return(l&&Math.abs(f)<1||!l&&Math.abs(h)<1)&&(u=!0),u},pe=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ft=function(e){return[e.deltaX,e.deltaY]},vt=function(e){return e&&"current"in e?e.current:e},Ur=function(e,t){return e[0]===t[0]&&e[1]===t[1]},$r=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Br=0,Z=[];function Vr(e){var t=a.useRef([]),n=a.useRef([0,0]),r=a.useRef(),o=a.useState(Br++)[0],i=a.useState(kt)[0],c=a.useRef(e);a.useEffect(function(){c.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var d=lr([e.lockRef.current],(e.shards||[]).map(vt),!0).filter(Boolean);return d.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),d.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=a.useCallback(function(d,b){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!c.current.allowPinchZoom;var x=pe(d),w=n.current,C="deltaX"in d?d.deltaX:w[0]-x[0],P="deltaY"in d?d.deltaY:w[1]-x[1],R,N=d.target,O=Math.abs(C)>Math.abs(P)?"h":"v";if("touches"in d&&O==="h"&&N.type==="range")return!1;var B=window.getSelection(),I=B&&B.anchorNode,F=I?I===N||I.contains(N):!1;if(F)return!1;var j=dt(O,N);if(!j)return!0;if(j?R=O:(R=O==="v"?"h":"v",j=dt(O,N)),!j)return!1;if(!r.current&&"changedTouches"in d&&(C||P)&&(r.current=R),!R)return!0;var W=r.current||R;return Wr(W,b,d,W==="h"?C:P)},[]),m=a.useCallback(function(d){var b=d;if(!(!Z.length||Z[Z.length-1]!==i)){var x="deltaY"in b?ft(b):pe(b),w=t.current.filter(function(R){return R.name===b.type&&(R.target===b.target||b.target===R.shadowParent)&&Ur(R.delta,x)})[0];if(w&&w.should){b.cancelable&&b.preventDefault();return}if(!w){var C=(c.current.shards||[]).map(vt).filter(Boolean).filter(function(R){return R.contains(b.target)}),P=C.length>0?s(b,C[0]):!c.current.noIsolation;P&&b.cancelable&&b.preventDefault()}}},[]),u=a.useCallback(function(d,b,x,w){var C={name:d,delta:b,target:x,should:w,shadowParent:Kr(x)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(P){return P!==C})},1)},[]),l=a.useCallback(function(d){n.current=pe(d),r.current=void 0},[]),f=a.useCallback(function(d){u(d.type,ft(d),d.target,s(d,e.lockRef.current))},[]),h=a.useCallback(function(d){u(d.type,pe(d),d.target,s(d,e.lockRef.current))},[]);a.useEffect(function(){return Z.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",m,q),document.addEventListener("touchmove",m,q),document.addEventListener("touchstart",l,q),function(){Z=Z.filter(function(d){return d!==i}),document.removeEventListener("wheel",m,q),document.removeEventListener("touchmove",m,q),document.removeEventListener("touchstart",l,q)}},[]);var p=e.removeScrollBar,y=e.inert;return a.createElement(a.Fragment,null,y?a.createElement(i,{styles:$r(o)}):null,p?a.createElement(Ar,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Kr(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const zr=yr(Nt,Vr);var It=a.forwardRef(function(e,t){return a.createElement(Se,$({},e,{ref:t,sideCar:zr}))});It.classNames=Se.classNames;var Hr=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},J=new WeakMap,he=new WeakMap,ge={},Te=0,At=function(e){return e&&(e.host||At(e.parentNode))},Yr=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=At(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Gr=function(e,t,n,r){var o=Yr(t,Array.isArray(e)?e:[e]);ge[n]||(ge[n]=new WeakMap);var i=ge[n],c=[],s=new Set,m=new Set(o),u=function(f){!f||s.has(f)||(s.add(f),u(f.parentNode))};o.forEach(u);var l=function(f){!f||m.has(f)||Array.prototype.forEach.call(f.children,function(h){if(s.has(h))l(h);else try{var p=h.getAttribute(r),y=p!==null&&p!=="false",d=(J.get(h)||0)+1,b=(i.get(h)||0)+1;J.set(h,d),i.set(h,b),c.push(h),d===1&&y&&he.set(h,!0),b===1&&h.setAttribute(n,"true"),y||h.setAttribute(r,"true")}catch(x){console.error("aria-hidden: cannot operate on ",h,x)}})};return l(t),s.clear(),Te++,function(){c.forEach(function(f){var h=J.get(f)-1,p=i.get(f)-1;J.set(f,h),i.set(f,p),h||(he.has(f)||f.removeAttribute(r),he.delete(f)),p||f.removeAttribute(n)}),Te--,Te||(J=new WeakMap,J=new WeakMap,he=new WeakMap,ge={})}},Xr=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=Hr(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),Gr(r,o,n,"aria-hidden")):function(){return null}},xe="Dialog",[Mt]=xn(xe),[qr,_]=Mt(xe),Tt=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:c=!0}=e,s=a.useRef(null),m=a.useRef(null),[u,l]=Pn({prop:r,defaultProp:o??!1,onChange:i,caller:xe});return g.jsx(qr,{scope:t,triggerRef:s,contentRef:m,contentId:V(),titleId:V(),descriptionId:V(),open:u,onOpenChange:l,onOpenToggle:a.useCallback(()=>l(f=>!f),[l]),modal:c,children:n})};Tt.displayName=xe;var Lt="DialogTrigger",Zr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=_(Lt,n),i=G(t,o.triggerRef);return g.jsx(M.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Ve(o.open),...r,ref:i,onClick:z(e.onClick,o.onOpenToggle)})});Zr.displayName=Lt;var Be="DialogPortal",[Jr,Ft]=Mt(Be,{forceMount:void 0}),jt=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=_(Be,t);return g.jsx(Jr,{scope:t,forceMount:n,children:a.Children.map(r,c=>g.jsx(we,{present:n||i.open,children:g.jsx(xt,{asChild:!0,container:o,children:c})}))})};jt.displayName=Be;var Ee="DialogOverlay",_t=a.forwardRef((e,t)=>{const n=Ft(Ee,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=_(Ee,e.__scopeDialog);return i.modal?g.jsx(we,{present:r||i.open,children:g.jsx(eo,{...o,ref:t})}):null});_t.displayName=Ee;var Qr=bt("DialogOverlay.RemoveScroll"),eo=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=_(Ee,n),i=Gn(),c=G(t,i);return g.jsx(It,{as:Qr,allowPinchZoom:!0,shards:[o.contentRef],children:g.jsx(M.div,{"data-state":Ve(o.open),...r,ref:c,style:{pointerEvents:"auto",...r.style}})})}),oe="DialogContent",Wt=a.forwardRef((e,t)=>{const n=Ft(oe,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=_(oe,e.__scopeDialog);return g.jsx(we,{present:r||i.open,children:i.modal?g.jsx(to,{...o,ref:t}):g.jsx(no,{...o,ref:t})})});Wt.displayName=oe;var to=a.forwardRef((e,t)=>{const n=_(oe,e.__scopeDialog),r=a.useRef(null),o=G(t,n.contentRef,r);return a.useEffect(()=>{const i=r.current;if(i)return Xr(i)},[]),g.jsx(Ut,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:z(e.onCloseAutoFocus,i=>{var c;i.preventDefault(),(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:z(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,s=c.button===0&&c.ctrlKey===!0;(c.button===2||s)&&i.preventDefault()}),onFocusOutside:z(e.onFocusOutside,i=>i.preventDefault())})}),no=a.forwardRef((e,t)=>{const n=_(oe,e.__scopeDialog),r=a.useRef(!1),o=a.useRef(!1);return g.jsx(Ut,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var c,s;(c=e.onCloseAutoFocus)==null||c.call(e,i),i.defaultPrevented||(r.current||(s=n.triggerRef.current)==null||s.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var m,u;(m=e.onInteractOutside)==null||m.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=i.target;((u=n.triggerRef.current)==null?void 0:u.contains(c))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Ut=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...c}=e,s=_(oe,n);return ur(),g.jsx(g.Fragment,{children:g.jsx(wt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:g.jsx(yt,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":Ve(s.open),...c,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),$t="DialogTitle",ro=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=_($t,n);return g.jsx(M.h2,{id:o.titleId,...r,ref:t})});ro.displayName=$t;var Bt="DialogDescription",oo=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=_(Bt,n);return g.jsx(M.p,{id:o.descriptionId,...r,ref:t})});oo.displayName=Bt;var Vt="DialogClose",ao=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=_(Vt,n);return g.jsx(M.button,{type:"button",...r,ref:t,onClick:z(e.onClick,()=>o.onOpenChange(!1))})});ao.displayName=Vt;function Ve(e){return e?"open":"closed"}var ie='[cmdk-group=""]',Le='[cmdk-group-items=""]',io='[cmdk-group-heading=""]',Kt='[cmdk-item=""]',mt=`${Kt}:not([aria-disabled="true"])`,We="cmdk-item-select",ee="data-value",so=(e,t,n)=>Sn(e,t,n),zt=a.createContext(void 0),ue=()=>a.useContext(zt),Ht=a.createContext(void 0),Ke=()=>a.useContext(Ht),Yt=a.createContext(void 0),Gt=a.forwardRef((e,t)=>{let n=te(()=>{var v,S;return{search:"",value:(S=(v=e.value)!=null?v:e.defaultValue)!=null?S:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=te(()=>new Set),o=te(()=>new Map),i=te(()=>new Map),c=te(()=>new Set),s=Xt(e),{label:m,children:u,value:l,onValueChange:f,filter:h,shouldFilter:p,loop:y,disablePointerSelection:d=!1,vimBindings:b=!0,...x}=e,w=V(),C=V(),P=V(),R=a.useRef(null),N=yo();Y(()=>{if(l!==void 0){let v=l.trim();n.current.value=v,O.emit()}},[l]),Y(()=>{N(6,ze)},[]);let O=a.useMemo(()=>({subscribe:v=>(c.current.add(v),()=>c.current.delete(v)),snapshot:()=>n.current,setState:(v,S,k)=>{var E,D,A,L;if(!Object.is(n.current[v],S)){if(n.current[v]=S,v==="search")W(),F(),N(1,j);else if(v==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let T=document.getElementById(P);T?T.focus():(E=document.getElementById(w))==null||E.focus()}if(N(7,()=>{var T;n.current.selectedItemId=(T=X())==null?void 0:T.id,O.emit()}),k||N(5,ze),((D=s.current)==null?void 0:D.value)!==void 0){let T=S??"";(L=(A=s.current).onValueChange)==null||L.call(A,T);return}}O.emit()}},emit:()=>{c.current.forEach(v=>v())}}),[]),B=a.useMemo(()=>({value:(v,S,k)=>{var E;S!==((E=i.current.get(v))==null?void 0:E.value)&&(i.current.set(v,{value:S,keywords:k}),n.current.filtered.items.set(v,I(S,k)),N(2,()=>{F(),O.emit()}))},item:(v,S)=>(r.current.add(v),S&&(o.current.has(S)?o.current.get(S).add(v):o.current.set(S,new Set([v]))),N(3,()=>{W(),F(),n.current.value||j(),O.emit()}),()=>{i.current.delete(v),r.current.delete(v),n.current.filtered.items.delete(v);let k=X();N(4,()=>{W(),(k==null?void 0:k.getAttribute("id"))===v&&j(),O.emit()})}),group:v=>(o.current.has(v)||o.current.set(v,new Set),()=>{i.current.delete(v),o.current.delete(v)}),filter:()=>s.current.shouldFilter,label:m||e["aria-label"],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:w,inputId:P,labelId:C,listInnerRef:R}),[]);function I(v,S){var k,E;let D=(E=(k=s.current)==null?void 0:k.filter)!=null?E:so;return v?D(v,n.current.search,S):0}function F(){if(!n.current.search||s.current.shouldFilter===!1)return;let v=n.current.filtered.items,S=[];n.current.filtered.groups.forEach(E=>{let D=o.current.get(E),A=0;D.forEach(L=>{let T=v.get(L);A=Math.max(T,A)}),S.push([E,A])});let k=R.current;ae().sort((E,D)=>{var A,L;let T=E.getAttribute("id"),le=D.getAttribute("id");return((A=v.get(le))!=null?A:0)-((L=v.get(T))!=null?L:0)}).forEach(E=>{let D=E.closest(Le);D?D.appendChild(E.parentElement===D?E:E.closest(`${Le} > *`)):k.appendChild(E.parentElement===k?E:E.closest(`${Le} > *`))}),S.sort((E,D)=>D[1]-E[1]).forEach(E=>{var D;let A=(D=R.current)==null?void 0:D.querySelector(`${ie}[${ee}="${encodeURIComponent(E[0])}"]`);A==null||A.parentElement.appendChild(A)})}function j(){let v=ae().find(k=>k.getAttribute("aria-disabled")!=="true"),S=v==null?void 0:v.getAttribute(ee);O.setState("value",S||void 0)}function W(){var v,S,k,E;if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let D=0;for(let A of r.current){let L=(S=(v=i.current.get(A))==null?void 0:v.value)!=null?S:"",T=(E=(k=i.current.get(A))==null?void 0:k.keywords)!=null?E:[],le=I(L,T);n.current.filtered.items.set(A,le),le>0&&D++}for(let[A,L]of o.current)for(let T of L)if(n.current.filtered.items.get(T)>0){n.current.filtered.groups.add(A);break}n.current.filtered.count=D}function ze(){var v,S,k;let E=X();E&&(((v=E.parentElement)==null?void 0:v.firstChild)===E&&((k=(S=E.closest(ie))==null?void 0:S.querySelector(io))==null||k.scrollIntoView({block:"nearest"})),E.scrollIntoView({block:"nearest"}))}function X(){var v;return(v=R.current)==null?void 0:v.querySelector(`${Kt}[aria-selected="true"]`)}function ae(){var v;return Array.from(((v=R.current)==null?void 0:v.querySelectorAll(mt))||[])}function Re(v){let S=ae()[v];S&&O.setState("value",S.getAttribute(ee))}function Ne(v){var S;let k=X(),E=ae(),D=E.findIndex(L=>L===k),A=E[D+v];(S=s.current)!=null&&S.loop&&(A=D+v<0?E[E.length-1]:D+v===E.length?E[0]:E[D+v]),A&&O.setState("value",A.getAttribute(ee))}function He(v){let S=X(),k=S==null?void 0:S.closest(ie),E;for(;k&&!E;)k=v>0?go(k,ie):bo(k,ie),E=k==null?void 0:k.querySelector(mt);E?O.setState("value",E.getAttribute(ee)):Ne(v)}let Ye=()=>Re(ae().length-1),Ge=v=>{v.preventDefault(),v.metaKey?Ye():v.altKey?He(1):Ne(1)},Xe=v=>{v.preventDefault(),v.metaKey?Re(0):v.altKey?He(-1):Ne(-1)};return a.createElement(M.div,{ref:t,tabIndex:-1,...x,"cmdk-root":"",onKeyDown:v=>{var S;(S=x.onKeyDown)==null||S.call(x,v);let k=v.nativeEvent.isComposing||v.keyCode===229;if(!(v.defaultPrevented||k))switch(v.key){case"n":case"j":{b&&v.ctrlKey&&Ge(v);break}case"ArrowDown":{Ge(v);break}case"p":case"k":{b&&v.ctrlKey&&Xe(v);break}case"ArrowUp":{Xe(v);break}case"Home":{v.preventDefault(),Re(0);break}case"End":{v.preventDefault(),Ye();break}case"Enter":{v.preventDefault();let E=X();if(E){let D=new Event(We);E.dispatchEvent(D)}}}}},a.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:wo},m),Ce(e,v=>a.createElement(Ht.Provider,{value:O},a.createElement(zt.Provider,{value:B},v))))}),co=a.forwardRef((e,t)=>{var n,r;let o=V(),i=a.useRef(null),c=a.useContext(Yt),s=ue(),m=Xt(e),u=(r=(n=m.current)==null?void 0:n.forceMount)!=null?r:c==null?void 0:c.forceMount;Y(()=>{if(!u)return s.item(o,c==null?void 0:c.id)},[u]);let l=qt(o,i,[e.value,e.children,i],e.keywords),f=Ke(),h=H(N=>N.value&&N.value===l.current),p=H(N=>u||s.filter()===!1?!0:N.search?N.filtered.items.get(o)>0:!0);a.useEffect(()=>{let N=i.current;if(!(!N||e.disabled))return N.addEventListener(We,y),()=>N.removeEventListener(We,y)},[p,e.onSelect,e.disabled]);function y(){var N,O;d(),(O=(N=m.current).onSelect)==null||O.call(N,l.current)}function d(){f.setState("value",l.current,!0)}if(!p)return null;let{disabled:b,value:x,onSelect:w,forceMount:C,keywords:P,...R}=e;return a.createElement(M.div,{ref:re(i,t),...R,id:o,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!h,"data-disabled":!!b,"data-selected":!!h,onPointerMove:b||s.getDisablePointerSelection()?void 0:d,onClick:b?void 0:y},e.children)}),uo=a.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:o,...i}=e,c=V(),s=a.useRef(null),m=a.useRef(null),u=V(),l=ue(),f=H(p=>o||l.filter()===!1?!0:p.search?p.filtered.groups.has(c):!0);Y(()=>l.group(c),[]),qt(c,s,[e.value,e.heading,m]);let h=a.useMemo(()=>({id:c,forceMount:o}),[o]);return a.createElement(M.div,{ref:re(s,t),...i,"cmdk-group":"",role:"presentation",hidden:f?void 0:!0},n&&a.createElement("div",{ref:m,"cmdk-group-heading":"","aria-hidden":!0,id:u},n),Ce(e,p=>a.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?u:void 0},a.createElement(Yt.Provider,{value:h},p))))}),lo=a.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,o=a.useRef(null),i=H(c=>!c.search);return!n&&!i?null:a.createElement(M.div,{ref:re(o,t),...r,"cmdk-separator":"",role:"separator"})}),fo=a.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,o=e.value!=null,i=Ke(),c=H(u=>u.search),s=H(u=>u.selectedItemId),m=ue();return a.useEffect(()=>{e.value!=null&&i.setState("search",e.value)},[e.value]),a.createElement(M.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":m.listId,"aria-labelledby":m.labelId,"aria-activedescendant":s,id:m.inputId,type:"text",value:o?e.value:c,onChange:u=>{o||i.setState("search",u.target.value),n==null||n(u.target.value)}})}),vo=a.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...o}=e,i=a.useRef(null),c=a.useRef(null),s=H(u=>u.selectedItemId),m=ue();return a.useEffect(()=>{if(c.current&&i.current){let u=c.current,l=i.current,f,h=new ResizeObserver(()=>{f=requestAnimationFrame(()=>{let p=u.offsetHeight;l.style.setProperty("--cmdk-list-height",p.toFixed(1)+"px")})});return h.observe(u),()=>{cancelAnimationFrame(f),h.unobserve(u)}}},[]),a.createElement(M.div,{ref:re(i,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:m.listId},Ce(e,u=>a.createElement("div",{ref:re(c,m.listInnerRef),"cmdk-list-sizer":""},u)))}),mo=a.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:o,contentClassName:i,container:c,...s}=e;return a.createElement(Tt,{open:n,onOpenChange:r},a.createElement(jt,{container:c},a.createElement(_t,{"cmdk-overlay":"",className:o}),a.createElement(Wt,{"aria-label":e.label,"cmdk-dialog":"",className:i},a.createElement(Gt,{ref:t,...s}))))}),po=a.forwardRef((e,t)=>H(n=>n.filtered.count===0)?a.createElement(M.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),ho=a.forwardRef((e,t)=>{let{progress:n,children:r,label:o="Loading...",...i}=e;return a.createElement(M.div,{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},Ce(e,c=>a.createElement("div",{"aria-hidden":!0},c)))}),Q=Object.assign(Gt,{List:vo,Item:co,Input:fo,Group:uo,Separator:lo,Dialog:mo,Empty:po,Loading:ho});function go(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function bo(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Xt(e){let t=a.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>"u"?a.useEffect:a.useLayoutEffect;function te(e){let t=a.useRef();return t.current===void 0&&(t.current=e()),t}function H(e){let t=Ke(),n=()=>e(t.snapshot());return a.useSyncExternalStore(t.subscribe,n,n)}function qt(e,t,n,r=[]){let o=a.useRef(),i=ue();return Y(()=>{var c;let s=(()=>{var u;for(let l of n){if(typeof l=="string")return l.trim();if(typeof l=="object"&&"current"in l)return l.current?(u=l.current.textContent)==null?void 0:u.trim():o.current}})(),m=r.map(u=>u.trim());i.value(e,s,m),(c=t.current)==null||c.setAttribute(ee,s),o.current=s}),o}var yo=()=>{let[e,t]=a.useState(),n=te(()=>new Map);return Y(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,o)=>{n.current.set(r,o),t({})}};function Eo(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Ce({asChild:e,children:t},n){return e&&a.isValidElement(t)?a.cloneElement(Eo(t),{ref:t.ref},n(t.props.children)):n(t)}var wo={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Zt={gehe:"Gehe zu",tun:"Tun",finden:"Finden",lucy:"An Lucy"},So=Qt.map(e=>({id:`gehe:${e.id}`,gruppe:"gehe",label:e.label,hinweis:e.hint,icon:e.icon,ausfuehren:({navigate:t})=>t(e.pfad)})),xo=[{id:"tun:wartung",gruppe:"tun",label:"System-Wartung öffnen",hinweis:"Dienste, Updates, Snapshot",icon:Jt,stichworte:"pflege dienste neustart update",ausfuehren:({schublade:e})=>e("wartung")},{id:"tun:logs",gruppe:"tun",label:"System-Logs öffnen",hinweis:"Diagnose je Dienst",icon:vn,stichworte:"fehler journal diagnose",ausfuehren:({schublade:e})=>e("logs")},{id:"tun:updates",gruppe:"tun",label:"Nach Updates suchen",hinweis:"apt + Engine + Agent prüfen",icon:sn,stichworte:"aktualisieren apt engine",ausfuehren:async({api:e,melden:t})=>{await e("/api/maintenance/check-updates",{method:"POST"}),t("info","Update-Suche läuft — das Ergebnis erscheint in der Wartung.")}},{id:"tun:snapshot",gruppe:"tun",label:"Snapshot anlegen",hinweis:"Sicherung vor riskanten Schritten",icon:cn,stichworte:"backup sicherung zeitmaschine",ausfuehren:async({api:e,melden:t})=>{await e("/api/system/backup",{method:"POST"}),t("erfolg","Snapshot angestoßen.")}},{id:"tun:engine-neustart",gruppe:"tun",label:"Motor neu starten",hinweis:"llama-swap — alle Modelle fallen kurz weg",icon:un,stichworte:"engine llama swap modell neu starten",rueckfrage:"Der Motor (llama-swap) wird neu gestartet. Alle geladenen Modelle fallen dabei aus dem Speicher und müssen neu aufwärmen — das dauert je nach Modell über 20 Sekunden. Laufende Antworten brechen ab.",ausfuehren:async({api:e,melden:t})=>{const n=await e("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"llama-swap"})});t(n.ok?"erfolg":"fehler",n.ok?"Motor neu gestartet.":`Neustart fehlgeschlagen: ${n.err||"Unbekannter Fehler"}`)}}],Co=e=>{const t=e.trim();return t?[{id:"finden:chronik",gruppe:"finden",label:`„${t}“ in der Chronik`,hinweis:"Was die Box getan hat",icon:ln,ausfuehren:({navigate:n})=>n(`/chronik?q=${encodeURIComponent(t)}`)},{id:"finden:wissen",gruppe:"finden",label:`„${t}“ im Wissens-Vault`,hinweis:"Lucys Notizen",icon:dn,ausfuehren:({navigate:n})=>n(`/wissen?suche=${encodeURIComponent(t)}`)}]:[]},Ro=e=>{const t=e.trim();return t.length<8?[]:[{id:"lucy:idee",gruppe:"lucy",label:`Als Idee erfassen: „${t.length>60?t.slice(0,57)+"…":t}“`,hinweis:"Wird nur notiert — gebaut wird erst auf deinen Klick",icon:en,ausfuehren:async({api:n,melden:r,navigate:o})=>{await n("/api/ideen",{method:"POST",body:JSON.stringify({titel:t.length>160?t.slice(0,157)+"…":t,notiz:t.length>160?t:"",welt:"ide",tiefe:"",ziel:"",art:"idee"})}),r("erfolg","Als Idee erfasst."),o("/ideen")}}]};function No(e){return[...So,...xo,...Co(e),...Ro(e)]}const ko=e=>[e.label,e.hinweis,e.stichworte,Zt[e.gruppe]].filter(Boolean).join(" "),Po=["gehe","tun","finden","lucy"];function Lo(){const e=tn(),t=qe(p=>p.palette),n=qe(p=>p.melden),r=nn(),[o,i]=a.useState(""),[c,s]=a.useState(null),[m,u]=a.useState(!1),l=a.useCallback(()=>{t(!1),i(""),s(null)},[t]),f=a.useCallback(async p=>{u(!0);try{await p.ausfuehren({text:o,navigate:y=>r({to:y}),schublade:y=>r({to:".",search:d=>({...d,system:y})}),melden:n,api:rn}),l()}catch(y){n("fehler",y instanceof Error?y.message:String(y)),s(null)}finally{u(!1)}},[o,r,n,l]),h=a.useMemo(()=>No(o),[o]);return g.jsx(Q.Dialog,{open:e,onOpenChange:p=>p?t(!0):l(),label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center overscroll-contain bg-black/50 p-4 pt-[12vh]",onClick:l,shouldFilter:!c,children:g.jsx("div",{className:"w-full max-w-xl overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:p=>p.stopPropagation(),children:c?g.jsxs("div",{className:"space-y-4 p-5",children:[g.jsxs("div",{className:"flex items-center gap-2.5",children:[g.jsx(on,{className:"h-5 w-5 shrink-0 text-amber-400","aria-hidden":"true"}),g.jsx("h2",{className:"font-space text-sm font-bold tracking-tight",children:c.label})]}),g.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:c.rueckfrage}),g.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[g.jsx("button",{onClick:()=>s(null),className:"h-9 cursor-pointer rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent",children:"Abbrechen"}),g.jsx("button",{autoFocus:!0,disabled:m,onClick:()=>f(c),className:"h-9 cursor-pointer rounded-lg bg-amber-500/90 px-4 text-xs font-bold text-black transition-colors hover:bg-amber-500 disabled:opacity-50",children:m?"Läuft …":"Ja, ausführen"})]})]}):g.jsxs(g.Fragment,{children:[g.jsx(Q.Input,{autoFocus:!0,value:o,onValueChange:i,placeholder:"Springen, tun, finden — oder schreib eine Idee …",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),g.jsxs(Q.List,{className:"max-h-[26rem] overflow-y-auto p-2 scrollbar-thin",children:[g.jsx(Q.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),Po.map(p=>{const y=h.filter(d=>d.gruppe===p);return y.length?g.jsx(Q.Group,{heading:Zt[p],className:"px-1 py-1 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/50",children:y.map(d=>g.jsxs(Q.Item,{value:ko(d),onSelect:()=>d.rueckfrage?s(d):f(d),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:[g.jsx(d.icon,{className:an("h-4 w-4 shrink-0",d.rueckfrage?"text-amber-400":"text-primary"),"aria-hidden":"true"}),g.jsx("span",{className:"truncate",children:d.label}),d.rueckfrage&&g.jsx("span",{className:"shrink-0 rounded bg-amber-500/15 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wide text-amber-300",children:"fragt nach"}),d.hinweis&&g.jsx("span",{className:"ml-auto truncate pl-3 text-xs text-muted-foreground",children:d.hinweis})]},d.id))},p):null})]}),g.jsxs("div",{className:"flex items-center gap-3 border-t border-border/50 px-4 py-2 font-mono text-[10px] text-muted-foreground",children:[g.jsx("span",{className:"flex items-center gap-1",children:"↑↓ wählen"}),g.jsxs("span",{className:"flex items-center gap-1",children:[g.jsx(fn,{className:"h-3 w-3","aria-hidden":"true"})," ausführen"]}),g.jsx("span",{className:"ml-auto",children:"esc schließt"})]})]})})})}export{Lo as CommandPalette}; diff --git a/frontend/dist/assets/ConnectView-BdqWBHRP.js b/frontend/dist/assets/ConnectView-U6cUckmd.js similarity index 98% rename from frontend/dist/assets/ConnectView-BdqWBHRP.js rename to frontend/dist/assets/ConnectView-U6cUckmd.js index 44d40c6..c8bcd2a 100644 --- a/frontend/dist/assets/ConnectView-BdqWBHRP.js +++ b/frontend/dist/assets/ConnectView-U6cUckmd.js @@ -1,4 +1,4 @@ -import{c as f,r as m,D as G,F as H,j as e,t as I,B as M,I as y,G as z,b as S,L as B,J as _,K as E,C as P}from"./index-DvtGY8-b.js";import{A as u}from"./arrow-right-DrtT4MFG.js";import{C as K}from"./chevron-down-hb9Pt4vA.js";/** +import{c as f,r as m,D as G,F as H,j as e,t as I,B as M,I as y,G as z,b as S,L as B,J as _,K as E,C as P}from"./index-C3tzC6TG.js";import{A as u}from"./arrow-right-BuSI6b_d.js";import{C as K}from"./chevron-down-DCnAAqHq.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/GuideView-Coe5WKp_.js b/frontend/dist/assets/GuideView-BIajrEL5.js similarity index 99% rename from frontend/dist/assets/GuideView-Coe5WKp_.js rename to frontend/dist/assets/GuideView-BIajrEL5.js index 87ac632..ab93278 100644 --- a/frontend/dist/assets/GuideView-Coe5WKp_.js +++ b/frontend/dist/assets/GuideView-BIajrEL5.js @@ -1,4 +1,4 @@ -import{c as u,j as e,r as M,t as C,Y as z,Z as k,_ as y,Q as v,$ as L,a0 as G,W as D,b as f,a1 as T}from"./index-DvtGY8-b.js";import{a as w,L as B,C as P,Z as E}from"./zap-fipupct_.js";import{L as R}from"./layers-DGDzGr16.js";import{S as I}from"./shield-DuTFhOFM.js";/** +import{c as u,j as e,r as M,t as C,Y as z,Z as k,_ as y,Q as v,$ as L,a0 as G,W as D,b as f,a1 as T}from"./index-C3tzC6TG.js";import{a as w,L as B,C as P,Z as E}from"./zap-BmFVNuAf.js";import{L as R}from"./layers-y7VoVedk.js";import{S as I}from"./shield-DhFhR3yI.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/IdeenAnsicht-Crw42hu2.js b/frontend/dist/assets/IdeenAnsicht-C0oq2uu1.js similarity index 98% rename from frontend/dist/assets/IdeenAnsicht-Crw42hu2.js rename to frontend/dist/assets/IdeenAnsicht-C0oq2uu1.js index f353ef2..dc90888 100644 --- a/frontend/dist/assets/IdeenAnsicht-Crw42hu2.js +++ b/frontend/dist/assets/IdeenAnsicht-C0oq2uu1.js @@ -1,4 +1,4 @@ -import{c as R,$ as O,r as u,n as z,j as e,b as S,L as D,G as T,X as Q,a3 as Se,u as De,k as Ce,z as Ke,A as ze,a6 as Ee,a7 as xe,C as Ae,T as Le,a4 as Pe,R as We,q as $e}from"./index-DvtGY8-b.js";import{S as Re}from"./SectionLabel-D0h88ho8.js";import{C as ee}from"./code-xml-CWTq52sX.js";import{H as X}from"./hammer-CE6Zn7Q-.js";import{R as ge}from"./refresh-cw-CTp9Wnlo.js";import{F as fe}from"./file-text-BN2uI732.js";import{L as Be}from"./layers-DGDzGr16.js";import{C as U}from"./chevron-down-hb9Pt4vA.js";import{C as he}from"./clock-geHux9wJ.js";/** +import{c as R,$ as O,r as u,n as z,j as e,b as S,L as D,G as T,X as Q,a3 as Se,u as De,k as Ce,z as Ke,A as ze,a6 as Ee,a7 as xe,C as Ae,T as Le,a4 as Pe,R as We,q as $e}from"./index-C3tzC6TG.js";import{S as Re}from"./SectionLabel-CWIt51pc.js";import{C as ee}from"./code-xml-CizGFoHx.js";import{H as X}from"./hammer-B3FRhAF9.js";import{R as ge}from"./refresh-cw-COF4ZaAx.js";import{F as fe}from"./file-text-CgoPL5rz.js";import{L as Be}from"./layers-y7VoVedk.js";import{C as U}from"./chevron-down-DCnAAqHq.js";import{C as he}from"./clock-Dgmp--tr.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/JobsBar-B0XdGtEh.js b/frontend/dist/assets/JobsBar-DqqfGkDz.js similarity index 96% rename from frontend/dist/assets/JobsBar-B0XdGtEh.js rename to frontend/dist/assets/JobsBar-DqqfGkDz.js index 54096ce..af83e34 100644 --- a/frontend/dist/assets/JobsBar-B0XdGtEh.js +++ b/frontend/dist/assets/JobsBar-DqqfGkDz.js @@ -1 +1 @@ -import{u,ag as m,k as x,j as s,y as n,ah as b,b as p,n as f,q as h}from"./index-DvtGY8-b.js";function y(){const d=u(),{data:t=[]}=m(),{showAlert:l,dialogElement:o}=x();async function i(e){try{await f(`/api/jobs/${e}/cancel`,{method:"POST"}),d.invalidateQueries({queryKey:h.jobs})}catch(c){l("Fehler",c.message)}}const a=t.filter(e=>e.state==="running"||e.state==="queued"),r=t.filter(e=>e.state!=="running"&&e.state!=="queued").slice(-3);return a.length===0&&r.length===0?null:s.jsxs("div",{className:"space-y-3 mc-card p-4",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),a.map(e=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:e.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[e.progress??0,"% • ",n(e.done_bytes),"/",n(e.total_bytes),e.eta_s?` • ETA ${b(e.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(e.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"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${e.progress??0}%`}})})]},e.id)),r.map(e=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:e.label}),s.jsx("span",{className:p("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",e.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:e.state})]},e.id)),o]})}export{y as J}; +import{u,ag as m,k as x,j as s,y as n,ah as b,b as p,n as f,q as h}from"./index-C3tzC6TG.js";function y(){const d=u(),{data:t=[]}=m(),{showAlert:l,dialogElement:o}=x();async function i(e){try{await f(`/api/jobs/${e}/cancel`,{method:"POST"}),d.invalidateQueries({queryKey:h.jobs})}catch(c){l("Fehler",c.message)}}const a=t.filter(e=>e.state==="running"||e.state==="queued"),r=t.filter(e=>e.state!=="running"&&e.state!=="queued").slice(-3);return a.length===0&&r.length===0?null:s.jsxs("div",{className:"space-y-3 mc-card p-4",children:[s.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),a.map(e=>s.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[s.jsxs("div",{className:"flex justify-between items-center text-xs",children:[s.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:e.label}),s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsxs("span",{className:"text-muted-foreground font-mono",children:[e.progress??0,"% • ",n(e.done_bytes),"/",n(e.total_bytes),e.eta_s?` • ETA ${b(e.eta_s)}`:""]}),s.jsx("button",{onClick:()=>i(e.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"})]})]}),s.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:s.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${e.progress??0}%`}})})]},e.id)),r.map(e=>s.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[s.jsx("span",{className:"truncate",children:e.label}),s.jsx("span",{className:p("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",e.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:e.state})]},e.id)),o]})}export{y as J}; diff --git a/frontend/dist/assets/KonsoleView-CsAZfGsS.js b/frontend/dist/assets/KonsoleView-CLFb1i3h.js similarity index 94% rename from frontend/dist/assets/KonsoleView-CsAZfGsS.js rename to frontend/dist/assets/KonsoleView-CLFb1i3h.js index db5807c..5da8cb3 100644 --- a/frontend/dist/assets/KonsoleView-CsAZfGsS.js +++ b/frontend/dist/assets/KonsoleView-CLFb1i3h.js @@ -1 +1 @@ -import{O as h,u as g,P as p,r as d,j as e,b as x,T as j,S as N,n as v,U as m,V as w,q as f}from"./index-DvtGY8-b.js";import{E as k}from"./external-link-DPeXL_3q.js";import{R as y}from"./refresh-cw-CTp9Wnlo.js";function K(){const{data:t}=h(),u=g(),a=t!=null&&t.box_console_url?p(t.box_console_url):void 0,n=t==null?void 0:t.box_console_reachable,[o,i]=d.useState(!1),[c,l]=d.useState("");async function b(){i(!0),l("");try{const s=await v("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})}),r=s.ok?"Konsolen-Dienst neu gestartet — einen Moment, dann lädt das Terminal.":`Neustart fehlgeschlagen: ${s.err||"Unbekannter Fehler"}`;l(r),m(s.ok?"erfolg":"fehler",r),w(u,f.agentStatus,f.services)}catch(s){const r=`Neustart fehlgeschlagen: ${(s==null?void 0:s.message)||s}`;l(r),m("fehler",r)}finally{i(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.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:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:x("h-2 w-2 rounded-full",n?"bg-emerald-500 animate-pulse":"bg-amber-500")}),n?"online":"offline"]}),a&&e.jsxs("a",{href:a,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:[e.jsx(k,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),a?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[n===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(j,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:b,disabled:o,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(y,{className:x("h-3.5 w-3.5",o&&"animate-spin")})," Dienst neu starten"]}),c&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:c})]}),e.jsx("iframe",{src:a,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(N,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{K as KonsoleView}; +import{O as h,u as g,P as p,r as d,j as e,b as x,T as j,S as N,n as v,U as m,V as w,q as f}from"./index-C3tzC6TG.js";import{E as k}from"./external-link-A-cVlKY7.js";import{R as y}from"./refresh-cw-COF4ZaAx.js";function K(){const{data:t}=h(),u=g(),a=t!=null&&t.box_console_url?p(t.box_console_url):void 0,n=t==null?void 0:t.box_console_reachable,[o,i]=d.useState(!1),[c,l]=d.useState("");async function b(){i(!0),l("");try{const s=await v("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:"box-console"})}),r=s.ok?"Konsolen-Dienst neu gestartet — einen Moment, dann lädt das Terminal.":`Neustart fehlgeschlagen: ${s.err||"Unbekannter Fehler"}`;l(r),m(s.ok?"erfolg":"fehler",r),w(u,f.agentStatus,f.services)}catch(s){const r=`Neustart fehlgeschlagen: ${(s==null?void 0:s.message)||s}`;l(r),m("fehler",r)}finally{i(!1)}}return e.jsxs("div",{className:"flex h-full flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[e.jsxs("div",{children:[e.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:"Konsole"}),e.jsx("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:"Direkte Shell auf der Box — wie ein SSH-Fenster, mitten im Browser."})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground",children:[e.jsx("span",{className:x("h-2 w-2 rounded-full",n?"bg-emerald-500 animate-pulse":"bg-amber-500")}),n?"online":"offline"]}),a&&e.jsxs("a",{href:a,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:[e.jsx(k,{className:"h-3.5 w-3.5"})," In neuem Tab"]})]})]}),a?e.jsxs("div",{className:"relative min-h-[58vh] flex-1 overflow-hidden rounded-2xl border border-border/60 bg-black/50 shadow-lg shadow-black/25",children:[n===!1&&e.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-3 bg-black/70 text-center",children:[e.jsx(j,{className:"h-8 w-8 text-amber-400"}),e.jsx("div",{className:"text-sm font-semibold text-amber-300",children:"Konsole nicht erreichbar"}),e.jsxs("p",{className:"max-w-sm text-[11px] leading-normal text-muted-foreground",children:["Der Terminal-Dienst (",e.jsx("code",{className:"font-mono text-primary",children:"box-console"}),") läuft gerade nicht."]}),e.jsxs("button",{onClick:b,disabled:o,className:"flex h-9 items-center gap-1.5 rounded-lg border border-amber-500/40 bg-amber-500/10 px-4 text-[11px] font-bold uppercase tracking-wide text-amber-300 transition-all hover:bg-amber-500/20 cursor-pointer disabled:opacity-50",children:[e.jsx(y,{className:x("h-3.5 w-3.5",o&&"animate-spin")})," Dienst neu starten"]}),c&&e.jsx("p",{className:"max-w-sm text-[11px] text-muted-foreground",children:c})]}),e.jsx("iframe",{src:a,title:"Box-Konsole",className:"h-full w-full border-0",style:{minHeight:"58vh"}})]}):e.jsxs("div",{className:"flex min-h-[58vh] flex-1 items-center justify-center rounded-2xl border border-border/60 bg-background/20 text-xs text-muted-foreground",children:[e.jsx(N,{className:"mr-2 h-4 w-4"})," Lade Konsole…"]})]})}export{K as KonsoleView}; diff --git a/frontend/dist/assets/LiveAreaChartImpl-DDkrCKJU.js b/frontend/dist/assets/LiveAreaChartImpl-Bzha3ivD.js similarity index 99% rename from frontend/dist/assets/LiveAreaChartImpl-DDkrCKJU.js rename to frontend/dist/assets/LiveAreaChartImpl-Bzha3ivD.js index a8092fc..1d1be2d 100644 --- a/frontend/dist/assets/LiveAreaChartImpl-DDkrCKJU.js +++ b/frontend/dist/assets/LiveAreaChartImpl-Bzha3ivD.js @@ -1,4 +1,4 @@ -var Wy=Object.defineProperty;var Uy=(e,t,r)=>t in e?Wy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Hn=(e,t,r)=>Uy(e,typeof t!="symbol"?t+"":t,r);import{r as h,av as ee,aw as Ky,ax as Hy,ao as Yy,at as Gy,j as oe}from"./index-DvtGY8-b.js";import{m as Yl,d as Gl,o as Dd,e as ot,f as Vy,i as Ao,c as Vl,a as ql,b as qy,g as Tt,h as Xy}from"./string-DoZi9Vij.js";import{r as $d}from"./index-CLtv5X6m.js";var Zy=["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 pu(e){if(typeof e!="string")return!1;var t=Zy;return t.includes(e)}var Qy=["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"],Jy=new Set(Qy);function Nd(e){return typeof e!="string"?!1:Jy.has(e)}function Ld(e){return typeof e=="string"&&e.startsWith("data-")}function it(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r))&&(t[r]=e[r]);return t}function ia(e){if(e==null)return null;if(h.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return it(t)}return typeof e=="object"&&!Array.isArray(e)?it(e):null}function Ve(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r)||pu(r))&&(t[r]=e[r]);return t}function eg(e){return e==null?null:h.isValidElement(e)?Ve(e.props):typeof e=="object"&&!Array.isArray(e)?Ve(e):null}var tg=["children","width","height","viewBox","className","style","title","desc"];function Oo(){return Oo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,a=e.viewBox,o=e.className,u=e.style,l=e.title,c=e.desc,s=rg(e,tg),f=a||{width:n,height:i,x:0,y:0},d=ee("recharts-surface",o);return h.createElement("svg",Oo({},Ve(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),h.createElement("title",null,l),h.createElement("desc",null,c),r)}),ig=["children","className"];function Po(){return Po=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=ag(e,ig),a=ee("recharts-layer",n);return h.createElement("g",Po({className:a},Ve(i),{ref:t}),r)}),ug=h.createContext(null);function ne(e){return function(){return e}}const So=Math.PI,Eo=2*So,er=1e-6,lg=Eo-er;function zd(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return zd;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;ier)if(!(Math.abs(f*l-c*s)>er)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,p=i-u,m=l*l+c*c,y=v*v+p*p,g=Math.sqrt(m),w=Math.sqrt(d),x=a*Math.tan((So-Math.acos((m+d-y)/(2*g*w)))/2),A=x/w,O=x/g;Math.abs(A-1)>er&&this._append`L${t+A*s},${r+A*f}`,this._append`A${a},${a},0,0,${+(f*v>s*p)},${this._x1=t+O*l},${this._y1=r+O*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>er||Math.abs(this._y1-s)>er)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%Eo+Eo),d>lg?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>er&&this._append`A${n},${n},0,${+(d>=So)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Bd(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 sg(t)}function mu(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Fd(e){this._context=e}Fd.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 aa(e){return new Fd(e)}function Wd(e){return e[0]}function Ud(e){return e[1]}function Kd(e,t){var r=ne(!0),n=null,i=aa,a=null,o=Bd(u);e=typeof e=="function"?e:e===void 0?Wd:ne(e),t=typeof t=="function"?t:t===void 0?Ud:ne(t);function u(l){var c,s=(l=mu(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c=v;--p)u.point(x[p],A[p]);u.lineEnd(),u.areaEnd()}g&&(x[d]=+e(y,d,f),A[d]=+t(y,d,f),u.point(n?+n(y,d,f):x[d],r?+r(y,d,f):A[d]))}if(w)return u=null,w+""||null}function s(){return Kd().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ne(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ne(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:ne(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class Hd{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 fg(e){return new Hd(e,!0)}function dg(e){return new Hd(e,!1)}function vi(){}function hi(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 Yd(e){this._context=e}Yd.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:hi(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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vg(e){return new Yd(e)}function Gd(e){this._context=e}Gd.prototype={areaStart:vi,areaEnd:vi,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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hg(e){return new Gd(e)}function Vd(e){this._context=e}Vd.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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function pg(e){return new Vd(e)}function qd(e){this._context=e}qd.prototype={areaStart:vi,areaEnd:vi,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 mg(e){return new qd(e)}function Xl(e){return e<0?-1:1}function Zl(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(Xl(a)+Xl(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function Ql(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Ga(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function pi(e){this._context=e}pi.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:Ga(this,this._t0,Ql(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,Ga(this,Ql(this,r=Zl(this,e,t)),r);break;default:Ga(this,this._t0,r=Zl(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Xd(e){this._context=new Zd(e)}(Xd.prototype=Object.create(pi.prototype)).point=function(e,t){pi.prototype.point.call(this,t,e)};function Zd(e){this._context=e}Zd.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,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function yg(e){return new pi(e)}function gg(e){return new Xd(e)}function Qd(e){this._context=e}Qd.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=Jl(e),i=Jl(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[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 wg(e){return new oa(e,.5)}function xg(e){return new oa(e,0)}function Ag(e){return new oa(e,1)}function cr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r=0;)r[t]=t;return r}function Og(e,t){return e[t]}function Pg(e){const t=[];return t.key=e,t}function Sg(){var e=ne([]),t=_o,r=cr,n=Og;function i(a){var o=Array.from(e.apply(this,arguments),Pg),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u0){for(var r,n,i=0,a=e[0].length,o;i0){for(var r=0,n=e[t[0]],i,a=n.length;r0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n1&&arguments[1]!==void 0?arguments[1]:kg,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function we(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ut(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,ht=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,D=e=>(typeof e=="number"||e instanceof Number)&&!ht(e),pt=e=>D(e)||typeof e=="string",jg=0,yn=e=>{var t=++jg;return"".concat(e||"").concat(t)},Yt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!D(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return ht(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},tv=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):yr(n,t))===r)}var Oe=e=>e===null||typeof e>"u",bu=e=>Oe(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function De(e){return e!=null}function Fr(){}var nv=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,wu=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(h.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{pu(i)&&typeof r[i]=="function"&&(n[i]=(a=>r[i](r,a)))}),n},Tg=(e,t,r)=>n=>(e(t,r,n),null),Mg=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];pu(i)&&typeof a=="function"&&(n||(n={}),n[i]=Tg(a,t,r))}),n};function ec(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dg(e){for(var t=1;t(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}function Rg(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function xu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Ug="[object RegExp]",av="[object String]",ov="[object Number]",uv="[object Boolean]",lv="[object Arguments]",Kg="[object Symbol]",Hg="[object Date]",Yg="[object Map]",Gg="[object Set]",Vg="[object Array]",qg="[object ArrayBuffer]",Xg="[object Object]",Zg="[object DataView]",Qg="[object Uint8Array]",Jg="[object Uint8ClampedArray]",e0="[object Uint16Array]",t0="[object Uint32Array]",r0="[object Int8Array]",n0="[object Int16Array]",i0="[object Int32Array]",a0="[object Float32Array]",o0="[object Float64Array]",tc=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function u0(e){return typeof tc.Buffer<"u"&&tc.Buffer.isBuffer(e)}function l0(e,t){return nr(e,void 0,e,new Map,t)}function nr(e,t,r,n=new Map,i=void 0){const a=i==null?void 0:i(e,t,r,n);if(a!==void 0)return a;if(Co(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const o=new Array(e.length);n.set(e,o);for(let u=0;u{}):ko(e,t,function n(i,a,o,u,l,c){const s=r(i,a,o,u,l,c);return s!==void 0?!!s:ko(i,a,n,c,!1)},new Map,!0)}function ko(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return f0(e,t,r,n);case"function":return Object.keys(t).length>0?ko(e,{...t},r,n,i):oi(e,t);default:return cv(e)&&i?typeof t=="string"?t==="":!0:oi(e,t)}}function f0(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return fv(e,t,r,n);if(t instanceof Map)return d0(e,t,r,n);if(t instanceof Set)return v0(e,t,r,n);const i=Object.keys(t);if(e==null||Co(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let a=0;a{})}function h0(e){return e=s0(e),t=>dv(t,e)}function p0(e,t){return l0(e,(r,n,i,a)=>{if(typeof e=="object"){if(xu(e)==="[object Object]"&&typeof e.constructor!="function"){const o={};return a.set(e,o),tt(o,e,i,a),o}switch(Object.prototype.toString.call(e)){case ov:case av:case uv:{const o=new e.constructor(e==null?void 0:e.valueOf());return tt(o,e),o}case lv:{const o={};return tt(o,e),o.length=e.length,o[Symbol.iterator]=e[Symbol.iterator],o}default:return}}})}function m0(e){return p0(e)}const y0=/^(?:0|[1-9]\d*)$/;function vv(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function hv(e){return e!=null&&typeof e!="function"&&A0(e.length)}function O0(e){return typeof e=="object"&&e!==null}function P0(e){return O0(e)&&hv(e)}function rc(e,t=iv){return P0(e)?Rg(Array.from(e),zg(x0(t),1)):[]}function S0(e,t,r){return t===!0?rc(e,r):typeof t=="function"?rc(e,t):e}var Au=h.createContext(null),E0=e=>e,le=()=>{var e=h.useContext(Au);return e?e.store.dispatch:E0},ui=()=>{},_0=()=>ui,I0=(e,t)=>e===t;function N(e){var t=h.useContext(Au),r=h.useMemo(()=>t?n=>{if(n!=null)return e(n)}:ui,[t,e]);return Ky.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:_0,t?t.store.getState:ui,t?t.store.getState:ui,r,I0)}function C0(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function k0(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 nc=e=>Array.isArray(e)?e:[e];function j0(e){const t=Array.isArray(e[0])?e[0]:e;return k0(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function T0(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?M0:WeakRef,pv=D0(),$0=0,ic=1;function Gn(){return{s:$0,v:void 0,o:null,p:null}}function N0(e){return e instanceof pv?e.deref():e}function mv(e,t={}){let r=Gn();const{resultEqualityCheck:n}=t;let i,a=0;function o(){let u=r;const{length:l}=arguments;for(let f=0,d=l;f{r=Gn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function L0(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let a=0,o=0,u,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),C0(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const s={...r,...l},{memoize:f,memoizeOptions:d=[],argsMemoize:v=mv,argsMemoizeOptions:p=[]}=s,m=nc(d),y=nc(p),g=j0(i),w=f(function(){return a++,c.apply(null,arguments)},...m),x=v(function(){o++;const O=T0(g,arguments);return u=w.apply(null,O),u},...y);return Object.assign(x,{resultFunc:c,memoizedResultFunc:w,dependencies:g,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:v})};return Object.assign(n,{withTypes:()=>n}),n}var P=L0(mv);function R0(e,t=1){const r=[],n=Math.floor(t),i=(a,o)=>{for(let u=0;u{if(e!==t){const n=ac(e),i=ac(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function yv(e){return typeof e=="symbol"||e instanceof Symbol}const B0=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F0=/^\w*$/;function W0(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||yv(e)?!0:typeof e=="string"&&(F0.test(e)||!B0.test(e))||t!=null}function U0(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(u=>String(u));const i=(u,l)=>{let c=u;for(let s=0;sl==null||u==null?l:typeof u=="object"&&"key"in u?Object.hasOwn(l,u.key)?l[u.key]:i(l,u.path):typeof u=="function"?u(l):Array.isArray(u)?i(l,u):typeof l=="object"?l[u]:l,o=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||W0(u)?u:{key:u,path:gu(u)}));return e.map(u=>({original:u,criteria:o.map(l=>a(l,u))})).slice().sort((u,l)=>{for(let c=0;cu.original)}function ua(e,...t){const r=t.length;return r>1&&jo(e,t[0],t[1])?t=[]:r>2&&jo(t[0],t[1],t[2])&&(t=[t[0]]),U0(e,R0(t),["asc"])}var gv=e=>e.legend.settings,K0=e=>e.legend.size,H0=e=>e.legend.payload;P([H0,gv],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?ua(n,r):n});function Y0(e,t){return X0(e)||q0(e,t)||V0(e,t)||G0()}function G0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +var Wy=Object.defineProperty;var Uy=(e,t,r)=>t in e?Wy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Hn=(e,t,r)=>Uy(e,typeof t!="symbol"?t+"":t,r);import{r as h,ax as ee,ay as Ky,az as Hy,ao as Yy,at as Gy,j as oe}from"./index-C3tzC6TG.js";import{m as Yl,d as Gl,o as Dd,e as ot,f as Vy,i as Ao,c as Vl,a as ql,b as qy,g as Tt,h as Xy}from"./string-DoZi9Vij.js";import{r as $d}from"./index-BKD_njTm.js";var Zy=["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 pu(e){if(typeof e!="string")return!1;var t=Zy;return t.includes(e)}var Qy=["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"],Jy=new Set(Qy);function Nd(e){return typeof e!="string"?!1:Jy.has(e)}function Ld(e){return typeof e=="string"&&e.startsWith("data-")}function it(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r))&&(t[r]=e[r]);return t}function ia(e){if(e==null)return null;if(h.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return it(t)}return typeof e=="object"&&!Array.isArray(e)?it(e):null}function Ve(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(Nd(r)||Ld(r)||pu(r))&&(t[r]=e[r]);return t}function eg(e){return e==null?null:h.isValidElement(e)?Ve(e.props):typeof e=="object"&&!Array.isArray(e)?Ve(e):null}var tg=["children","width","height","viewBox","className","style","title","desc"];function Oo(){return Oo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.width,i=e.height,a=e.viewBox,o=e.className,u=e.style,l=e.title,c=e.desc,s=rg(e,tg),f=a||{width:n,height:i,x:0,y:0},d=ee("recharts-surface",o);return h.createElement("svg",Oo({},Ve(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),h.createElement("title",null,l),h.createElement("desc",null,c),r)}),ig=["children","className"];function Po(){return Po=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,i=ag(e,ig),a=ee("recharts-layer",n);return h.createElement("g",Po({className:a},Ve(i),{ref:t}),r)}),ug=h.createContext(null);function ne(e){return function(){return e}}const So=Math.PI,Eo=2*So,er=1e-6,lg=Eo-er;function zd(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return zd;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;ier)if(!(Math.abs(f*l-c*s)>er)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,p=i-u,m=l*l+c*c,y=v*v+p*p,g=Math.sqrt(m),w=Math.sqrt(d),x=a*Math.tan((So-Math.acos((m+d-y)/(2*g*w)))/2),A=x/w,O=x/g;Math.abs(A-1)>er&&this._append`L${t+A*s},${r+A*f}`,this._append`A${a},${a},0,0,${+(f*v>s*p)},${this._x1=t+O*l},${this._y1=r+O*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>er||Math.abs(this._y1-s)>er)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%Eo+Eo),d>lg?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>er&&this._append`A${n},${n},0,${+(d>=So)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Bd(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 sg(t)}function mu(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Fd(e){this._context=e}Fd.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 aa(e){return new Fd(e)}function Wd(e){return e[0]}function Ud(e){return e[1]}function Kd(e,t){var r=ne(!0),n=null,i=aa,a=null,o=Bd(u);e=typeof e=="function"?e:e===void 0?Wd:ne(e),t=typeof t=="function"?t:t===void 0?Ud:ne(t);function u(l){var c,s=(l=mu(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c=v;--p)u.point(x[p],A[p]);u.lineEnd(),u.areaEnd()}g&&(x[d]=+e(y,d,f),A[d]=+t(y,d,f),u.point(n?+n(y,d,f):x[d],r?+r(y,d,f):A[d]))}if(w)return u=null,w+""||null}function s(){return Kd().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ne(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ne(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ne(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ne(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:ne(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class Hd{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 fg(e){return new Hd(e,!0)}function dg(e){return new Hd(e,!1)}function vi(){}function hi(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 Yd(e){this._context=e}Yd.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:hi(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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vg(e){return new Yd(e)}function Gd(e){this._context=e}Gd.prototype={areaStart:vi,areaEnd:vi,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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hg(e){return new Gd(e)}function Vd(e){this._context=e}Vd.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:hi(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function pg(e){return new Vd(e)}function qd(e){this._context=e}qd.prototype={areaStart:vi,areaEnd:vi,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 mg(e){return new qd(e)}function Xl(e){return e<0?-1:1}function Zl(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(Xl(a)+Xl(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function Ql(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Ga(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function pi(e){this._context=e}pi.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:Ga(this,this._t0,Ql(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,Ga(this,Ql(this,r=Zl(this,e,t)),r);break;default:Ga(this,this._t0,r=Zl(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Xd(e){this._context=new Zd(e)}(Xd.prototype=Object.create(pi.prototype)).point=function(e,t){pi.prototype.point.call(this,t,e)};function Zd(e){this._context=e}Zd.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,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function yg(e){return new pi(e)}function gg(e){return new Xd(e)}function Qd(e){this._context=e}Qd.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=Jl(e),i=Jl(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[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 wg(e){return new oa(e,.5)}function xg(e){return new oa(e,0)}function Ag(e){return new oa(e,1)}function cr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r=0;)r[t]=t;return r}function Og(e,t){return e[t]}function Pg(e){const t=[];return t.key=e,t}function Sg(){var e=ne([]),t=_o,r=cr,n=Og;function i(a){var o=Array.from(e.apply(this,arguments),Pg),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u0){for(var r,n,i=0,a=e[0].length,o;i0){for(var r=0,n=e[t[0]],i,a=n.length;r0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n1&&arguments[1]!==void 0?arguments[1]:kg,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function we(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+Ut(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,ht=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,D=e=>(typeof e=="number"||e instanceof Number)&&!ht(e),pt=e=>D(e)||typeof e=="string",jg=0,yn=e=>{var t=++jg;return"".concat(e||"").concat(t)},Yt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!D(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return ht(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},tv=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):yr(n,t))===r)}var Oe=e=>e===null||typeof e>"u",bu=e=>Oe(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function De(e){return e!=null}function Fr(){}var nv=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,wu=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(h.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{pu(i)&&typeof r[i]=="function"&&(n[i]=(a=>r[i](r,a)))}),n},Tg=(e,t,r)=>n=>(e(t,r,n),null),Mg=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];pu(i)&&typeof a=="function"&&(n||(n={}),n[i]=Tg(a,t,r))}),n};function ec(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Dg(e){for(var t=1;t(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}function Rg(e,t){const r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function xu(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Ug="[object RegExp]",av="[object String]",ov="[object Number]",uv="[object Boolean]",lv="[object Arguments]",Kg="[object Symbol]",Hg="[object Date]",Yg="[object Map]",Gg="[object Set]",Vg="[object Array]",qg="[object ArrayBuffer]",Xg="[object Object]",Zg="[object DataView]",Qg="[object Uint8Array]",Jg="[object Uint8ClampedArray]",e0="[object Uint16Array]",t0="[object Uint32Array]",r0="[object Int8Array]",n0="[object Int16Array]",i0="[object Int32Array]",a0="[object Float32Array]",o0="[object Float64Array]",tc=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function u0(e){return typeof tc.Buffer<"u"&&tc.Buffer.isBuffer(e)}function l0(e,t){return nr(e,void 0,e,new Map,t)}function nr(e,t,r,n=new Map,i=void 0){const a=i==null?void 0:i(e,t,r,n);if(a!==void 0)return a;if(Co(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){const o=new Array(e.length);n.set(e,o);for(let u=0;u{}):ko(e,t,function n(i,a,o,u,l,c){const s=r(i,a,o,u,l,c);return s!==void 0?!!s:ko(i,a,n,c,!1)},new Map,!0)}function ko(e,t,r,n,i=!1){if(t===e)return!0;switch(typeof t){case"object":return f0(e,t,r,n);case"function":return Object.keys(t).length>0?ko(e,{...t},r,n,i):oi(e,t);default:return cv(e)&&i?typeof t=="string"?t==="":!0:oi(e,t)}}function f0(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return fv(e,t,r,n);if(t instanceof Map)return d0(e,t,r,n);if(t instanceof Set)return v0(e,t,r,n);const i=Object.keys(t);if(e==null||Co(e))return i.length===0;if(i.length===0)return!0;if(n!=null&&n.has(t))return n.get(t)===e;n==null||n.set(t,e);try{for(let a=0;a{})}function h0(e){return e=s0(e),t=>dv(t,e)}function p0(e,t){return l0(e,(r,n,i,a)=>{if(typeof e=="object"){if(xu(e)==="[object Object]"&&typeof e.constructor!="function"){const o={};return a.set(e,o),tt(o,e,i,a),o}switch(Object.prototype.toString.call(e)){case ov:case av:case uv:{const o=new e.constructor(e==null?void 0:e.valueOf());return tt(o,e),o}case lv:{const o={};return tt(o,e),o.length=e.length,o[Symbol.iterator]=e[Symbol.iterator],o}default:return}}})}function m0(e){return p0(e)}const y0=/^(?:0|[1-9]\d*)$/;function vv(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function hv(e){return e!=null&&typeof e!="function"&&A0(e.length)}function O0(e){return typeof e=="object"&&e!==null}function P0(e){return O0(e)&&hv(e)}function rc(e,t=iv){return P0(e)?Rg(Array.from(e),zg(x0(t),1)):[]}function S0(e,t,r){return t===!0?rc(e,r):typeof t=="function"?rc(e,t):e}var Au=h.createContext(null),E0=e=>e,le=()=>{var e=h.useContext(Au);return e?e.store.dispatch:E0},ui=()=>{},_0=()=>ui,I0=(e,t)=>e===t;function N(e){var t=h.useContext(Au),r=h.useMemo(()=>t?n=>{if(n!=null)return e(n)}:ui,[t,e]);return Ky.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:_0,t?t.store.getState:ui,t?t.store.getState:ui,r,I0)}function C0(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function k0(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 nc=e=>Array.isArray(e)?e:[e];function j0(e){const t=Array.isArray(e[0])?e[0]:e;return k0(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function T0(e,t){const r=[],{length:n}=e;for(let i=0;itypeof WeakRef>"u"?M0:WeakRef,pv=D0(),$0=0,ic=1;function Gn(){return{s:$0,v:void 0,o:null,p:null}}function N0(e){return e instanceof pv?e.deref():e}function mv(e,t={}){let r=Gn();const{resultEqualityCheck:n}=t;let i,a=0;function o(){let u=r;const{length:l}=arguments;for(let f=0,d=l;f{r=Gn(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function L0(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...i)=>{let a=0,o=0,u,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),C0(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const s={...r,...l},{memoize:f,memoizeOptions:d=[],argsMemoize:v=mv,argsMemoizeOptions:p=[]}=s,m=nc(d),y=nc(p),g=j0(i),w=f(function(){return a++,c.apply(null,arguments)},...m),x=v(function(){o++;const O=T0(g,arguments);return u=w.apply(null,O),u},...y);return Object.assign(x,{resultFunc:c,memoizedResultFunc:w,dependencies:g,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>u,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:v})};return Object.assign(n,{withTypes:()=>n}),n}var P=L0(mv);function R0(e,t=1){const r=[],n=Math.floor(t),i=(a,o)=>{for(let u=0;u{if(e!==t){const n=ac(e),i=ac(t);if(n===i&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?i-n:n-i}return 0};function yv(e){return typeof e=="symbol"||e instanceof Symbol}const B0=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F0=/^\w*$/;function W0(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||yv(e)?!0:typeof e=="string"&&(F0.test(e)||!B0.test(e))||t!=null}function U0(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(u=>String(u));const i=(u,l)=>{let c=u;for(let s=0;sl==null||u==null?l:typeof u=="object"&&"key"in u?Object.hasOwn(l,u.key)?l[u.key]:i(l,u.path):typeof u=="function"?u(l):Array.isArray(u)?i(l,u):typeof l=="object"?l[u]:l,o=t.map(u=>(Array.isArray(u)&&u.length===1&&(u=u[0]),u==null||typeof u=="function"||Array.isArray(u)||W0(u)?u:{key:u,path:gu(u)}));return e.map(u=>({original:u,criteria:o.map(l=>a(l,u))})).slice().sort((u,l)=>{for(let c=0;cu.original)}function ua(e,...t){const r=t.length;return r>1&&jo(e,t[0],t[1])?t=[]:r>2&&jo(t[0],t[1],t[2])&&(t=[t[0]]),U0(e,R0(t),["asc"])}var gv=e=>e.legend.settings,K0=e=>e.legend.size,H0=e=>e.legend.payload;P([H0,gv],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?ua(n,r):n});function Y0(e,t){return X0(e)||q0(e,t)||V0(e,t)||G0()}function G0(){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 V0(e,t){if(e){if(typeof e=="string")return oc(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)?oc(e,t):void 0}}function oc(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rVn||Math.abs(e.left-t.left)>Vn||Math.abs(e.top-t.top)>Vn||Math.abs(e.width-t.width)>Vn}function lc(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Z0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=h.useState({height:0,left:0,top:0,width:0}),r=Y0(t,2),n=r[0],i=r[1],a=h.useRef(null),o=h.useRef(n);o.current=n;var u=h.useCallback(l=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),l!=null){var c=lc(l);if(uc(c,o.current)&&i(c),typeof ResizeObserver<"u"){var s=new ResizeObserver(()=>{var f=lc(l);uc(f,o.current)&&i(f)});s.observe(l),a.current=s}}},[...e]);return h.useEffect(()=>()=>{var l;(l=a.current)===null||l===void 0||l.disconnect()},[]),[n,u]}function be(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 Q0=typeof Symbol=="function"&&Symbol.observable||"@@observable",cc=Q0,Va=()=>Math.random().toString(36).substring(7).split("").join("."),J0={INIT:`@@redux/INIT${Va()}`,REPLACE:`@@redux/REPLACE${Va()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Va()}`},mi=J0;function Ou(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 bv(e,t,r){if(typeof e!="function")throw new Error(be(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(be(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(be(1));return r(bv)(e,t)}let n=e,i=t,a=new Map,o=a,u=0,l=!1;function c(){o===a&&(o=new Map,a.forEach((y,g)=>{o.set(g,y)}))}function s(){if(l)throw new Error(be(3));return i}function f(y){if(typeof y!="function")throw new Error(be(4));if(l)throw new Error(be(5));let g=!0;c();const w=u++;return o.set(w,y),function(){if(g){if(l)throw new Error(be(6));g=!1,c(),o.delete(w),a=null}}}function d(y){if(!Ou(y))throw new Error(be(7));if(typeof y.type>"u")throw new Error(be(8));if(typeof y.type!="string")throw new Error(be(17));if(l)throw new Error(be(9));try{l=!0,i=n(i,y)}finally{l=!1}return(a=o).forEach(w=>{w()}),y}function v(y){if(typeof y!="function")throw new Error(be(10));n=y,d({type:mi.REPLACE})}function p(){const y=f;return{subscribe(g){if(typeof g!="object"||g===null)throw new Error(be(11));function w(){const A=g;A.next&&A.next(s())}return w(),{unsubscribe:y(w)}},[cc](){return this}}}return d({type:mi.INIT}),{dispatch:d,subscribe:f,getState:s,replaceReducer:v,[cc]:p}}function eb(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:mi.INIT})>"u")throw new Error(be(12));if(typeof r(void 0,{type:mi.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(be(13))})}function wv(e){const t=Object.keys(e),r={};for(let a=0;a"u")throw u&&u.type,new Error(be(14));c[f]=p,l=l||p!==v}return l=l||n.length!==Object.keys(o).length,l?c:o}}function yi(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function tb(...e){return t=>(r,n)=>{const i=t(r,n);let a=()=>{throw new Error(be(15))};const o={getState:i.getState,dispatch:(l,...c)=>a(l,...c)},u=e.map(l=>l(o));return a=yi(...u)(i.dispatch),{...i,dispatch:a}}}function xv(e){return Ou(e)&&"type"in e&&typeof e.type=="string"}var Av=Symbol.for("immer-nothing"),sc=Symbol.for("immer-draftable"),Te=Symbol.for("immer-state");function rt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Be=Object,Mr=Be.getPrototypeOf,gi="constructor",la="prototype",To="configurable",bi="enumerable",li="writable",gn="value",It=e=>!!e&&!!e[Te];function at(e){var t;return e?Ov(e)||sa(e)||!!e[sc]||!!((t=e[gi])!=null&&t[sc])||fa(e)||da(e):!1}var rb=Be[la][gi].toString(),fc=new WeakMap;function Ov(e){if(!e||!Pu(e))return!1;const t=Mr(e);if(t===null||t===Be[la])return!0;const r=Be.hasOwnProperty.call(t,gi)&&t[gi];if(r===Object)return!0;if(!Ir(r))return!1;let n=fc.get(r);return n===void 0&&(n=Function.toString.call(r),fc.set(r,n)),n===rb}function ca(e,t,r=!0){kn(e)===0?(r?Reflect.ownKeys(e):Be.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function kn(e){const t=e[Te];return t?t.type_:sa(e)?1:fa(e)?2:da(e)?3:0}var dc=(e,t,r=kn(e))=>r===2?e.has(t):Be[la].hasOwnProperty.call(e,t),Mo=(e,t,r=kn(e))=>r===2?e.get(t):e[t],wi=(e,t,r,n=kn(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function nb(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var sa=Array.isArray,fa=e=>e instanceof Map,da=e=>e instanceof Set,Pu=e=>typeof e=="object",Ir=e=>typeof e=="function",qa=e=>typeof e=="boolean";function ib(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var xt=e=>e.copy_||e.base_,Su=e=>e.modified_?e.copy_:e.base_;function Do(e,t){if(fa(e))return new Map(e);if(da(e))return new Set(e);if(sa(e))return Array[la].slice.call(e);const r=Ov(e);if(t===!0||t==="class_only"&&!r){const n=Be.getOwnPropertyDescriptors(e);delete n[Te];let i=Reflect.ownKeys(n);for(let a=0;a1&&Be.defineProperties(e,{set:qn,add:qn,clear:qn,delete:qn}),Be.freeze(e),t&&ca(e,(r,n)=>{Eu(n,!0)},!1)),e}function ab(){rt(2)}var qn={[gn]:ab};function va(e){return e===null||!Pu(e)?!0:Be.isFrozen(e)}var xi="MapSet",$o="Patches",vc="ArrayMethods",Pv={};function fr(e){const t=Pv[e];return t||rt(0,e),t}var hc=e=>!!Pv[e],bn,Sv=()=>bn,ob=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:hc(xi)?fr(xi):void 0,arrayMethodsPlugin_:hc(vc)?fr(vc):void 0});function pc(e,t){t&&(e.patchPlugin_=fr($o),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function No(e){Lo(e),e.drafts_.forEach(ub),e.drafts_=null}function Lo(e){e===bn&&(bn=e.parent_)}var mc=e=>bn=ob(bn,e);function ub(e){const t=e[Te];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function yc(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[Te].modified_&&(No(t),rt(4)),at(e)&&(e=gc(t,e));const{patchPlugin_:i}=t;i&&i.generateReplacementPatches_(r[Te].base_,e,t)}else e=gc(t,r);return lb(t,e,!0),No(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Av?e:void 0}function gc(e,t){if(va(t))return t;const r=t[Te];if(!r)return Ai(t,e.handledSet_,e);if(!ha(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);Iv(r,e)}return r.copy_}function lb(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Eu(t,r)}function Ev(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ha=(e,t)=>e.scope_===t,cb=[];function _v(e,t,r,n){const i=xt(e),a=e.type_;if(n!==void 0&&Mo(i,n,a)===t){wi(i,n,r,a);return}if(!e.draftLocations_){const u=e.draftLocations_=new Map;ca(i,(l,c)=>{if(It(c)){const s=u.get(c)||[];s.push(l),u.set(c,s)}})}const o=e.draftLocations_.get(t)??cb;for(const u of o)wi(i,u,r,a)}function sb(e,t,r){e.callbacks_.push(function(i){var u;const a=t;if(!a||!ha(a,i))return;(u=i.mapSetPlugin_)==null||u.fixSetContents(a);const o=Su(a);_v(e,a.draft_??a,o,r),Iv(a,i)})}function Iv(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_:i}=t;if(i){const a=i.getPath(e);a&&i.generatePatches_(e,a,t)}Ev(e)}}function fb(e,t,r){const{scope_:n}=e;if(It(r)){const i=r[Te];ha(i,n)&&i.callbacks_.push(function(){ci(e);const o=Su(i);_v(e,r,o,t)})}else at(r)&&e.callbacks_.push(function(){const a=xt(e);e.type_===3?a.has(r)&&Ai(r,n.handledSet_,n):Mo(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ai(Mo(e.copy_,t,e.type_),n.handledSet_,n)})}function Ai(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||It(e)||t.has(e)||!at(e)||va(e)||(t.add(e),ca(e,(n,i)=>{if(It(i)){const a=i[Te];if(ha(a,r)){const o=Su(a);wi(e,n,o,e.type_),Ev(a)}}else at(i)&&Ai(i,t,r)})),e}function db(e,t){const r=sa(e),n={type_:r?1:0,scope_:t?t.scope_:Sv(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=n,a=Oi;r&&(i=[n],a=wn);const{revoke:o,proxy:u}=Proxy.revocable(i,a);return n.draft_=u,n.revoke_=o,[u,n]}var Oi={get(e,t){if(t===Te)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 i=xt(e);if(!dc(i,t,e.type_))return vb(e,i,t);const a=i[t];if(e.finalized_||!at(a)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&ib(t))return a;if(a===Xa(e.base_,t)){ci(e);const o=e.type_===1?+t:t,u=zo(e.scope_,a,e,o);return e.copy_[o]=u}return a},has(e,t){return t in xt(e)},ownKeys(e){return Reflect.ownKeys(xt(e))},set(e,t,r){const n=Cv(xt(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const i=Xa(xt(e),t),a=i==null?void 0:i[Te];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(nb(r,i)&&(r!==void 0||dc(e.base_,t,e.type_)))return!0;ci(e),Ro(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),fb(e,t,r)),!0},deleteProperty(e,t){return ci(e),Xa(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Ro(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=xt(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[li]:!0,[To]:e.type_!==1||t!=="length",[bi]:n[bi],[gn]:r[t]}},defineProperty(){rt(11)},getPrototypeOf(e){return Mr(e.base_)},setPrototypeOf(){rt(12)}},wn={};for(let e in Oi){let t=Oi[e];wn[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}wn.deleteProperty=function(e,t){return wn.set.call(this,e,t,void 0)};wn.set=function(e,t,r){return Oi.set.call(this,e[0],t,r,e[0])};function Xa(e,t){const r=e[Te];return(r?xt(r):e)[t]}function vb(e,t,r){var i;const n=Cv(t,r);return n?gn in n?n[gn]:(i=n.get)==null?void 0:i.call(e.draft_):void 0}function Cv(e,t){if(!(t in e))return;let r=Mr(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Mr(r)}}function Ro(e){e.modified_||(e.modified_=!0,e.parent_&&Ro(e.parent_))}function ci(e){e.copy_||(e.assigned_=new Map,e.copy_=Do(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var hb=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(r,n,i)=>{if(Ir(r)&&!Ir(n)){const o=n;n=r;const u=this;return function(c=o,...s){return u.produce(c,f=>n.call(this,f,...s))}}Ir(n)||rt(6),i!==void 0&&!Ir(i)&&rt(7);let a;if(at(r)){const o=mc(this),u=zo(o,r,void 0);let l=!0;try{a=n(u),l=!1}finally{l?No(o):Lo(o)}return pc(o,i),yc(a,o)}else if(!r||!Pu(r)){if(a=n(r),a===void 0&&(a=r),a===Av&&(a=void 0),this.autoFreeze_&&Eu(a,!0),i){const o=[],u=[];fr($o).generateReplacementPatches_(r,a,{patches_:o,inversePatches_:u}),i(o,u)}return a}else rt(1,r)},this.produceWithPatches=(r,n)=>{if(Ir(r))return(u,...l)=>this.produceWithPatches(u,c=>r(c,...l));let i,a;return[this.produce(r,n,(u,l)=>{i=u,a=l}),i,a]},qa(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),qa(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),qa(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){at(t)||rt(8),It(t)&&(t=Ye(t));const r=mc(this),n=zo(r,t,void 0);return n[Te].isManual_=!0,Lo(r),n}finishDraft(t,r){const n=t&&t[Te];(!n||!n.isManual_)&&rt(9);const{scope_:i}=n;return pc(i,r),yc(void 0,i)}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 a=r[n];if(a.path.length===0&&a.op==="replace"){t=a.value;break}}n>-1&&(r=r.slice(n+1));const i=fr($o).applyPatches_;return It(t)?i(t,r):this.produce(t,a=>i(a,r))}};function zo(e,t,r,n){const[i,a]=fa(t)?fr(xi).proxyMap_(t,r):da(t)?fr(xi).proxySet_(t,r):db(t,r);return((r==null?void 0:r.scope_)??Sv()).drafts_.push(i),a.callbacks_=(r==null?void 0:r.callbacks_)??[],a.key_=n,r&&n!==void 0?sb(r,a,n):a.callbacks_.push(function(l){var s;(s=l.mapSetPlugin_)==null||s.fixSetContents(a);const{patchPlugin_:c}=l;a.modified_&&c&&c.generatePatches_(a,[],l)}),i}function Ye(e){return It(e)||rt(10,e),kv(e)}function kv(e){if(!at(e)||va(e))return e;const t=e[Te];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Do(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Do(e,!0);return ca(r,(i,a)=>{wi(r,i,kv(a))},n),t&&(t.finalized_=!1),r}var pb=new hb,jv=pb.produce;function Tv(e){return({dispatch:r,getState:n})=>i=>a=>typeof a=="function"?a(r,n,e):i(a)}var mb=Tv(),yb=Tv,gb=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?yi:yi.apply(null,arguments)};function We(e,t){function r(...n){if(t){let i=t(...n);if(!i)throw new Error(Fe(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>xv(n)&&n.type===e,r}var Mv=class fn extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,fn.prototype)}static get[Symbol.species](){return fn}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new fn(...t[0].concat(this)):new fn(...t.concat(this))}};function bc(e){return at(e)?jv(e,()=>{}):e}function Xn(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function bb(e){return typeof e=="boolean"}var wb=()=>function(t){const{thunk:r=!0,immutableCheck:n=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=t??{};let o=new Mv;return r&&(bb(r)?o.push(mb):o.push(yb(r.extraArgument))),o},Dv="RTK_autoBatch",Q=()=>e=>({payload:e,meta:{[Dv]:!0}}),wc=e=>t=>{setTimeout(t,e)},xb=(e,t)=>r=>{let n=!1;const i=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(o),r())},a=e(i),o=setTimeout(i,t)},$v=(e={type:"raf"})=>t=>(...r)=>{const n=t(...r);let i=!0,a=!1,o=!1;const u=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?xb(window.requestAnimationFrame,100):wc(10):e.type==="callback"?e.queueNotification:wc(e.timeout),c=()=>{o=!1,a&&(a=!1,u.forEach(s=>s()))};return Object.assign({},n,{subscribe(s){const f=()=>i&&s(),d=n.subscribe(f);return u.add(s),()=>{d(),u.delete(s)}},dispatch(s){var f;try{return i=!((f=s==null?void 0:s.meta)!=null&&f[Dv]),a=!i,a&&(o||(o=!0,l(c))),n.dispatch(s)}finally{i=!0}}})},Ab=e=>function(r){const{autoBatch:n=!0}=r??{};let i=new Mv(e);return n&&i.push($v(typeof n=="object"?n:void 0)),i};function Ob(e){const t=wb(),{reducer:r=void 0,middleware:n,devTools:i=!0,preloadedState:a=void 0,enhancers:o=void 0}=e||{};let u;if(typeof r=="function")u=r;else if(Ou(r))u=wv(r);else throw new Error(Fe(1));let l;typeof n=="function"?l=n(t):l=t();let c=yi;i&&(c=gb({trace:!1,...typeof i=="object"&&i}));const s=tb(...l),f=Ab(s);let d=typeof o=="function"?o(f):f();const v=c(...d);return bv(u,a,v)}function Nv(e){const t={},r=[];let n;const i={addCase(a,o){const u=typeof a=="string"?a:a.type;if(!u)throw new Error(Fe(28));if(u in t)throw new Error(Fe(29));return t[u]=o,i},addAsyncThunk(a,o){return o.pending&&(t[a.pending.type]=o.pending),o.rejected&&(t[a.rejected.type]=o.rejected),o.fulfilled&&(t[a.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:a.settled,reducer:o.settled}),i},addMatcher(a,o){return r.push({matcher:a,reducer:o}),i},addDefaultCase(a){return n=a,i}};return e(i),[t,r,n]}function Pb(e){return typeof e=="function"}function Sb(e,t){let[r,n,i]=Nv(t),a;if(Pb(e))a=()=>bc(e());else{const u=bc(e);a=()=>u}function o(u=a(),l){let c=[r[l.type],...n.filter(({matcher:s})=>s(l)).map(({reducer:s})=>s)];return c.filter(s=>!!s).length===0&&(c=[i]),c.reduce((s,f)=>{if(f)if(It(s)){const v=f(s,l);return v===void 0?s:v}else{if(at(s))return jv(s,d=>f(d,l));{const d=f(s,l);if(d===void 0){if(s===null)return s;throw Error("A case reducer on a non-draftable value must not return undefined")}return d}}return s},u)}return o.getInitialState=a,o}var Eb="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",_b=(e=21)=>{let t="",r=e;for(;r--;)t+=Eb[Math.random()*64|0];return t},Ib=Symbol.for("rtk-slice-createasyncthunk");function Cb(e,t){return`${e}/${t}`}function kb({creators:e}={}){var r;const t=(r=e==null?void 0:e.asyncThunk)==null?void 0:r[Ib];return function(i){const{name:a,reducerPath:o=a}=i;if(!a)throw new Error(Fe(11));const u=(typeof i.reducers=="function"?i.reducers(Tb()):i.reducers)||{},l=Object.keys(u),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(A,O){const b=typeof A=="string"?A:A.type;if(!b)throw new Error(Fe(12));if(b in c.sliceCaseReducersByType)throw new Error(Fe(13));return c.sliceCaseReducersByType[b]=O,s},addMatcher(A,O){return c.sliceMatchers.push({matcher:A,reducer:O}),s},exposeAction(A,O){return c.actionCreators[A]=O,s},exposeCaseReducer(A,O){return c.sliceCaseReducersByName[A]=O,s}};l.forEach(A=>{const O=u[A],b={reducerName:A,type:Cb(a,A),createNotation:typeof i.reducers=="function"};Db(O)?Nb(b,O,s,t):Mb(b,O,s)});function f(){const[A={},O=[],b=void 0]=typeof i.extraReducers=="function"?Nv(i.extraReducers):[i.extraReducers],S={...A,...c.sliceCaseReducersByType};return Sb(i.initialState,_=>{for(let I in S)_.addCase(I,S[I]);for(let I of c.sliceMatchers)_.addMatcher(I.matcher,I.reducer);for(let I of O)_.addMatcher(I.matcher,I.reducer);b&&_.addDefaultCase(b)})}const d=A=>A,v=new Map,p=new WeakMap;let m;function y(A,O){return m||(m=f()),m(A,O)}function g(){return m||(m=f()),m.getInitialState()}function w(A,O=!1){function b(_){let I=_[A];return typeof I>"u"&&O&&(I=Xn(p,b,g)),I}function S(_=d){const I=Xn(v,O,()=>new WeakMap);return Xn(I,_,()=>{const C={};for(const[j,E]of Object.entries(i.selectors??{}))C[j]=jb(E,_,()=>Xn(p,_,g),O);return C})}return{reducerPath:A,getSelectors:S,get selectors(){return S(b)},selectSlice:b}}const x={name:a,reducer:y,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:g,...w(o),injectInto(A,{reducerPath:O,...b}={}){const S=O??o;return A.inject({reducerPath:S,reducer:y},b),{...x,...w(S,!0)}}};return x}}function jb(e,t,r,n){function i(a,...o){let u=t(a);return typeof u>"u"&&n&&(u=r()),e(u,...o)}return i.unwrapped=e,i}var Ce=kb();function Tb(){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 Mb({type:e,reducerName:t,createNotation:r},n,i){let a,o;if("reducer"in n){if(r&&!$b(n))throw new Error(Fe(17));a=n.reducer,o=n.prepare}else a=n;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?We(e,o):We(e))}function Db(e){return e._reducerDefinitionType==="asyncThunk"}function $b(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Nb({type:e,reducerName:t},r,n,i){if(!i)throw new Error(Fe(18));const{payloadCreator:a,fulfilled:o,pending:u,rejected:l,settled:c,options:s}=r,f=i(e,a,s);n.exposeAction(t,f),o&&n.addCase(f.fulfilled,o),u&&n.addCase(f.pending,u),l&&n.addCase(f.rejected,l),c&&n.addMatcher(f.settled,c),n.exposeCaseReducer(t,{fulfilled:o||Zn,pending:u||Zn,rejected:l||Zn,settled:c||Zn})}function Zn(){}var Lb="task",Lv="listener",Rv="completed",_u="cancelled",Rb=`task-${_u}`,zb=`task-${Rv}`,Bo=`${Lv}-${_u}`,Bb=`${Lv}-${Rv}`,pa=class{constructor(e){Hn(this,"code");Hn(this,"name","TaskAbortError");Hn(this,"message");this.code=e,this.message=`${Lb} ${_u} (reason: ${e})`}},Iu=(e,t)=>{if(typeof e!="function")throw new TypeError(Fe(32))},Pi=()=>{},zv=(e,t=Pi)=>(e.catch(t),e),Bv=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),ur=e=>{if(e.aborted)throw new pa(e.reason)};function Fv(e,t){let r=Pi;return new Promise((n,i)=>{const a=()=>i(new pa(e.reason));if(e.aborted){a();return}r=Bv(e,a),t.finally(()=>r()).then(n,i)}).finally(()=>{r=Pi})}var Fb=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof pa?"cancelled":"rejected",error:r}}finally{t==null||t()}},Si=e=>t=>zv(Fv(e,t).then(r=>(ur(e),r))),Wv=e=>{const t=Si(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:jr}=Object,xc={},ma="listenerMiddleware",Wb=(e,t)=>{const r=n=>Bv(e,()=>n.abort(e.reason));return(n,i)=>{Iu(n);const a=new AbortController;r(a);const o=Fb(async()=>{ur(e),ur(a.signal);const u=await n({pause:Si(a.signal),delay:Wv(a.signal),signal:a.signal});return ur(a.signal),u},()=>a.abort(zb));return i!=null&&i.autoJoin&&t.push(o.catch(Pi)),{result:Si(e)(o),cancel(){a.abort(Rb)}}}},Ub=(e,t)=>{const r=async(n,i)=>{ur(t);let a=()=>{};const u=[new Promise((l,c)=>{let s=e({predicate:n,effect:(f,d)=>{d.unsubscribe(),l([f,d.getState(),d.getOriginalState()])}});a=()=>{s(),c()}})];i!=null&&u.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await Fv(t,Promise.race(u));return ur(t),l}finally{a()}};return((n,i)=>zv(r(n,i)))},Uv=e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:a}=e;if(t)i=We(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(!i)throw new Error(Fe(21));return Iu(a),{predicate:i,type:t,effect:a}},Kv=jr(e=>{const{type:t,predicate:r,effect:n}=Uv(e);return{id:_b(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(Fe(22))}}},{withTypes:()=>Kv}),Ac=(e,t)=>{const{type:r,effect:n,predicate:i}=Uv(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===i)&&a.effect===n)},Fo=e=>{e.pending.forEach(t=>{t.abort(Bo)})},Kb=(e,t)=>()=>{for(const r of t.keys())Fo(r);e.clear()},Oc=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},Hv=jr(We(`${ma}/add`),{withTypes:()=>Hv}),Hb=We(`${ma}/removeAll`),Yv=jr(We(`${ma}/remove`),{withTypes:()=>Yv}),Yb=(...e)=>{console.error(`${ma}/error`,...e)},jn=(e={})=>{const t=new Map,r=new Map,n=v=>{const p=r.get(v)??0;r.set(v,p+1)},i=v=>{const p=r.get(v)??1;p===1?r.delete(v):r.set(v,p-1)},{extra:a,onError:o=Yb}=e;Iu(o);const u=v=>(v.unsubscribe=()=>t.delete(v.id),t.set(v.id,v),p=>{v.unsubscribe(),p!=null&&p.cancelActive&&Fo(v)}),l=(v=>{const p=Ac(t,v)??Kv(v);return u(p)});jr(l,{withTypes:()=>l});const c=v=>{const p=Ac(t,v);return p&&(p.unsubscribe(),v.cancelActive&&Fo(p)),!!p};jr(c,{withTypes:()=>c});const s=async(v,p,m,y)=>{const g=new AbortController,w=Ub(l,g.signal),x=[];try{v.pending.add(g),n(v),await Promise.resolve(v.effect(p,jr({},m,{getOriginalState:y,condition:(A,O)=>w(A,O).then(Boolean),take:w,delay:Wv(g.signal),pause:Si(g.signal),extra:a,signal:g.signal,fork:Wb(g.signal,x),unsubscribe:v.unsubscribe,subscribe:()=>{t.set(v.id,v)},cancelActiveListeners:()=>{v.pending.forEach((A,O,b)=>{A!==g&&(A.abort(Bo),b.delete(A))})},cancel:()=>{g.abort(Bo),v.pending.delete(g)},throwIfCancelled:()=>{ur(g.signal)}})))}catch(A){A instanceof pa||Oc(o,A,{raisedBy:"effect"})}finally{await Promise.all(x),g.abort(Bb),i(v),v.pending.delete(g)}},f=Kb(t,r);return{middleware:v=>p=>m=>{if(!xv(m))return p(m);if(Hv.match(m))return l(m.payload);if(Hb.match(m)){f();return}if(Yv.match(m))return c(m.payload);let y=v.getState();const g=()=>{if(y===xc)throw new Error(Fe(23));return y};let w;try{if(w=p(m),t.size>0){const x=v.getState(),A=Array.from(t.values());for(const O of A){let b=!1;try{b=O.predicate(m,x,y)}catch(S){b=!1,Oc(o,S,{raisedBy:"predicate"})}b&&s(O,m,v,g)}}}finally{y=xc}return w},startListening:l,stopListening:c,clearListeners:f}};function Fe(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 Gb={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},Gv=Ce({name:"chartLayout",initialState:Gb,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,i,a;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=(i=t.payload.bottom)!==null&&i!==void 0?i:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),ya=Gv.actions,Vb=ya.setMargin,qb=ya.setLayout,Xb=ya.setChartSize,Zb=ya.setScale,Qb=Gv.reducer;function Vv(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function U(e){return Number.isFinite(e)}function mt(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function Pc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Cr(e){for(var t=1;t{if(t&&r){var n=r.width,i=r.height,a=t.align,o=t.verticalAlign,u=t.layout;if((u==="vertical"||u==="horizontal"&&o==="middle")&&a!=="center"&&D(e[a]))return Cr(Cr({},e),{},{[a]:e[a]+(n||0)});if((u==="horizontal"||u==="vertical"&&a==="center")&&o!=="middle"&&D(e[o]))return Cr(Cr({},e),{},{[o]:e[o]+(i||0)})}return e},bt=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",qv=(e,t,r,n)=>{if(n)return e.map(u=>u.coordinate);var i,a,o=e.map(u=>(u.coordinate===t&&(i=!0),u.coordinate===r&&(a=!0),u.coordinate));return i||o.push(t),a||o.push(r),o},Xv=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,u=e.realScaleType,l=e.isCategorical,c=e.categoricalDomain,s=e.tickCount,f=e.ticks,d=e.niceTicks,v=e.axisType;if(!o)return null;var p=u==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,m=i==="category"&&o.bandwidth?o.bandwidth()/p:0;if(m=v==="angleAxis"&&a&&a.length>=2?He(a[0]-a[1])*2*m:m,f||d){var y=(f||d||[]).map((g,w)=>{var x=n?n.indexOf(g):g,A=o.map(x);return U(A)?{coordinate:A+m,value:g,offset:m,index:w}:null}).filter(De);return y}return l&&c?c.map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.ticks&&s!=null?o.ticks(s).map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:g,index:w,offset:m}:null}).filter(De):o.domain().map((g,w)=>{var x=o.map(g);return U(x)?{coordinate:x+m,value:n?n[g]:g,index:w,offset:m}:null}).filter(De)},nw=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 i=0;i=0?(c[0]=a,a+=d,c[1]=a):(c[0]=o,o+=d,c[1]=o)}}}},iw=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 i=0;i=0?(l[0]=a,a+=c,l[1]=a):(l[0]=0,l[1]=0)}}}},aw={sign:nw,expand:Eg,none:cr,silhouette:_g,wiggle:Ig,positive:iw},ow=(e,t,r)=>{var n,i=(n=aw[r])!==null&&n!==void 0?n:cr,a=Sg().keys(t).value((u,l)=>Number(he(u,l,0))).order(_o).offset(i),o=a(e);return o.forEach((u,l)=>{u.forEach((c,s)=>{var f=he(e[s],t[l],0);Array.isArray(f)&&f.length===2&&D(f[0])&&D(f[1])&&(c[0]=f[0],c[1]=f[1])})}),o};function uw(e){return e==null?void 0:String(e)}function Sc(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Oe(i[t.dataKey])){var u=rv(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var l=he(i,Oe(o)?t.dataKey:o),c=t.scale.map(l);return D(c)?c:null}var lw=e=>{var t=e.flat(2).filter(D);return[Math.min(...t),Math.max(...t)]},cw=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],sw=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return cw(Object.keys(e).reduce((n,i)=>{var a=e[i];if(!a)return n;var o=a.stackedData,u=o.reduce((l,c)=>{var s=Vv(c,t,r),f=lw(s);return!U(f[0])||!U(f[1])?l:[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(u[0],n[0]),Math.max(u[1],n[1])]},[1/0,-1/0]))},Ec=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_c=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ei=(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 i=ua(t,s=>s.coordinate),a=1/0,o=1,u=i.length;o{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dw=(e,t)=>t==="centric"?e.angle:e.radius,Mt=e=>e.layout.width,Dt=e=>e.layout.height,vw=e=>e.layout.scale,Qv=e=>e.layout.margin,ga=P(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ba=P(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),hw="data-recharts-item-index",pw="data-recharts-item-id",Tn=60;function Cc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Qn(e){for(var t=1;te.brush.height;function ww(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function xw(e){var t=ba(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var i=typeof n.width=="number"?n.width:Tn;return r+i}return r},0)}function Aw(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="top"&&!n.mirror&&!n.hide?r+n.height:r,0)}function Ow(e){var t=ga(e);return t.reduce((r,n)=>n.orientation==="bottom"&&!n.mirror&&!n.hide?r+n.height:r,0)}var Pe=P([Mt,Dt,Qv,bw,ww,xw,Aw,Ow,gv,K0],(e,t,r,n,i,a,o,u,l,c)=>{var s={left:(r.left||0)+i,right:(r.right||0)+a},f={top:(r.top||0)+o,bottom:(r.bottom||0)+u},d=Qn(Qn({},f),s),v=d.bottom;d.bottom+=n,d=rw(d,l,c);var p=e-d.left-d.right,m=t-d.top-d.bottom;return Qn(Qn({brushBottom:v},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Pw=P(Pe,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Jv=P(Mt,Dt,(e,t)=>({x:0,y:0,width:e,height:t})),Sw=h.createContext(null),$e=()=>h.useContext(Sw)!=null,wa=e=>e.brush,xa=P([wa,Pe,Qv],(e,t,r)=>({height:e.height,x:D(e.x)?e.x:t.left,y:D(e.y)?e.y:t.top+t.height+t.brushBottom-((r==null?void 0:r.bottom)||0),width:D(e.width)?e.width:t.width}));function Ew(e,t,{signal:r,edges:n}={}){let i,a=null;const o=n!=null&&n.includes("leading"),u=n==null||n.includes("trailing"),l=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},c=()=>{u&&l(),v()};let s=null;const f=()=>{s!=null&&clearTimeout(s),s=setTimeout(()=>{s=null,c()},t)},d=()=>{s!==null&&(clearTimeout(s),s=null)},v=()=>{d(),i=void 0,a=null},p=()=>{l()},m=function(...y){if(r!=null&&r.aborted)return;i=this,a=y;const g=s==null;f(),o&&g&&l()};return m.schedule=f,m.cancel=v,m.flush=p,r==null||r.addEventListener("abort",v,{once:!0}),m}function _w(e,t=0,r={}){typeof r!="object"&&(r={});const{leading:n=!1,trailing:i=!0,maxWait:a}=r,o=Array(2);n&&(o[0]="leading"),i&&(o[1]="trailing");let u,l=null;const c=Ew(function(...d){u=e.apply(this,d),l=null},t,{edges:o}),s=function(...d){return a!=null&&(l===null&&(l=Date.now()),Date.now()-l>=a)?(u=e.apply(this,d),l=Date.now(),c.cancel(),c.schedule(),u):(c.apply(this,d),u)},f=()=>(c.flush(),u);return s.cancel=c.cancel,s.flush=f,s}function Iw(e,t=0,r={}){const{leading:n=!0,trailing:i=!0}=r;return _w(e,t,{leading:n,maxWait:t,trailing:i})}var _i=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;ai[o++]))}},ft={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},eh=(e,t,r)=>{var n=r.width,i=n===void 0?ft.width:n,a=r.height,o=a===void 0?ft.height:a,u=r.aspect,l=r.maxHeight,c=sr(i)?e:Number(i),s=sr(o)?t:Number(o);return u&&u>0&&(c?s=c/u:s&&(c=s*u),l&&s!=null&&s>l&&(s=l)),{calculatedWidth:c,calculatedHeight:s}},Cw={width:0,height:0,overflow:"visible"},kw={width:0,overflowX:"visible"},jw={height:0,overflowY:"visible"},Tw={},Mw=e=>{var t=e.width,r=e.height,n=sr(t),i=sr(r);return n&&i?Cw:n?kw:i?jw:Tw};function Dw(e){var t=e.width,r=e.height,n=e.aspect,i=t,a=r;return i===void 0&&a===void 0?(i=ft.width,a=ft.height):i===void 0?i=n&&n>0?void 0:ft.width:a===void 0&&(a=n&&n>0?void 0:ft.height),{width:i,height:a}}var $w=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Ii(){return Ii=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 Yw(i)?h.createElement(th.Provider,{value:i},t):null}var Cu=()=>h.useContext(th),Gw=h.forwardRef((e,t)=>{var r=e.aspect,n=e.initialDimension,i=n===void 0?ft.initialDimension:n,a=e.width,o=e.height,u=e.minWidth,l=u===void 0?ft.minWidth:u,c=e.minHeight,s=e.maxHeight,f=e.children,d=e.debounce,v=d===void 0?ft.debounce:d,p=e.id,m=e.className,y=e.onResize,g=e.style,w=g===void 0?{}:g,x=Kw(e,$w),A=h.useRef(null),O=h.useRef();O.current=y,h.useImperativeHandle(t,()=>A.current);var b=h.useState({containerWidth:i.width,containerHeight:i.height}),S=zw(b,2),_=S[0],I=S[1],C=h.useCallback((H,Y)=>{I(B=>{var q=Math.round(H),W=Math.round(Y);return B.containerWidth===q&&B.containerHeight===W?B:{containerWidth:q,containerHeight:W}})},[]);h.useEffect(()=>{if(A.current==null||typeof ResizeObserver>"u")return Fr;var H=Se=>{var ge,ae=Se[0];if(ae!=null){var Ne=ae.contentRect,Le=Ne.width,Je=Ne.height;C(Le,Je),(ge=O.current)===null||ge===void 0||ge.call(O,Le,Je)}};v>0&&(H=Iw(H,v,{trailing:!0,leading:!1}));var Y=new ResizeObserver(H),B=A.current.getBoundingClientRect(),q=B.width,W=B.height;return C(q,W),Y.observe(A.current),()=>{Y.disconnect()}},[C,v]);var j=_.containerWidth,E=_.containerHeight;_i(!r||r>0,"The aspect(%s) must be greater than zero.",r);var R=eh(j,E,{width:a,height:o,aspect:r,maxHeight:s}),$=R.calculatedWidth,V=R.calculatedHeight;return _i(j<0||E<0||$!=null&&$>0||V!=null&&V>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), diff --git a/frontend/dist/assets/ModelsView-Dn4Ryn0Z.js b/frontend/dist/assets/ModelsView-DMJ2Z3kM.js similarity index 99% rename from frontend/dist/assets/ModelsView-Dn4Ryn0Z.js rename to frontend/dist/assets/ModelsView-DMJ2Z3kM.js index 6347f1b..1045eab 100644 --- a/frontend/dist/assets/ModelsView-Dn4Ryn0Z.js +++ b/frontend/dist/assets/ModelsView-DMJ2Z3kM.js @@ -1,4 +1,4 @@ -import{c as E,u as he,a as qe,r as v,j as e,C as Y,L as Fe,b as k,d as Re,q as V,R as Ie,B as re,e as Pe,E as ze,f as le,g as Be,h as Ae,i as Oe,k as Ge,l as ee,X as xe,H as be,T as se,s as Te,m as He,n as q,o as U,p as Qe,t as Ue,v as Ve,w as We,x as Ze,y as Je,z as Xe,A as Ye}from"./index-DvtGY8-b.js";import{J as et}from"./JobsBar-B0XdGtEh.js";import{C as tt}from"./code-xml-CWTq52sX.js";import{C as ue,Z as ie,L as rt,a as st}from"./zap-fipupct_.js";import{S as ge}from"./search-CES9eee3.js";import{P as nt}from"./power-t1doBEG9.js";import{C as $e}from"./chevron-down-hb9Pt4vA.js";import{L as at}from"./layers-DGDzGr16.js";/** +import{c as E,u as he,a as qe,r as v,j as e,C as Y,L as Fe,b as k,d as Re,q as V,R as Ie,B as re,e as Pe,E as ze,f as le,g as Be,h as Ae,i as Oe,k as Ge,l as ee,X as xe,H as be,T as se,s as Te,m as He,n as q,o as U,p as Qe,t as Ue,v as Ve,w as We,x as Ze,y as Je,z as Xe,A as Ye}from"./index-C3tzC6TG.js";import{J as et}from"./JobsBar-DqqfGkDz.js";import{C as tt}from"./code-xml-CizGFoHx.js";import{C as ue,Z as ie,L as rt,a as st}from"./zap-BmFVNuAf.js";import{S as ge}from"./search-CMGuC7tW.js";import{P as nt}from"./power-cDUHwtRA.js";import{C as $e}from"./chevron-down-DCnAAqHq.js";import{L as at}from"./layers-y7VoVedk.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/SectionLabel-D0h88ho8.js b/frontend/dist/assets/SectionLabel-CWIt51pc.js similarity index 76% rename from frontend/dist/assets/SectionLabel-D0h88ho8.js rename to frontend/dist/assets/SectionLabel-CWIt51pc.js index d6c9d5f..98dde5c 100644 --- a/frontend/dist/assets/SectionLabel-D0h88ho8.js +++ b/frontend/dist/assets/SectionLabel-CWIt51pc.js @@ -1 +1 @@ -import{j as e}from"./index-DvtGY8-b.js";function n({icon:t,children:s}){return e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(t,{className:"h-3.5 w-3.5"})," ",s]})}export{n as S}; +import{j as e}from"./index-C3tzC6TG.js";function n({icon:t,children:s}){return e.jsxs("p",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:[e.jsx(t,{className:"h-3.5 w-3.5"})," ",s]})}export{n as S}; diff --git a/frontend/dist/assets/SkillsView-BPwq8_ZP.js b/frontend/dist/assets/SkillsView-bgnrIBeZ.js similarity index 98% rename from frontend/dist/assets/SkillsView-BPwq8_ZP.js rename to frontend/dist/assets/SkillsView-bgnrIBeZ.js index 9d0712a..a06a4e8 100644 --- a/frontend/dist/assets/SkillsView-BPwq8_ZP.js +++ b/frontend/dist/assets/SkillsView-bgnrIBeZ.js @@ -1,4 +1,4 @@ -var E=r=>{throw TypeError(r)};var O=(r,e,t)=>e.has(r)||E("Cannot "+t);var a=(r,e,t)=>(O(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?E("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),v=(r,e,t,n)=>(O(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),j=(r,e,t)=>(O(r,e,"access private method"),t);import{a8 as Q,a9 as A,aa as M,ab as B,ac as P,u as J,r as f,ad as F,ae as I,c as T,af as U,j as s,J as D,T as H,b as K,L,Q as V,q as _,n as R}from"./index-DvtGY8-b.js";import{J as z}from"./JobsBar-B0XdGtEh.js";var c,g,o,h,m,w,C,q,G=(q=class extends Q{constructor(e,t){super();y(this,m);y(this,c);y(this,g);y(this,o);y(this,h);v(this,c,e),this.setOptions(t),this.bindMethods(),j(this,m,w).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var n;const t=this.options;this.options=a(this,c).defaultMutationOptions(e),A(this.options,t)||a(this,c).getMutationCache().notify({type:"observerOptionsUpdated",mutation:a(this,o),observer:this}),t!=null&&t.mutationKey&&this.options.mutationKey&&M(t.mutationKey)!==M(this.options.mutationKey)?this.reset():((n=a(this,o))==null?void 0:n.state.status)==="pending"&&a(this,o).setOptions(this.options)}onUnsubscribe(){var e;this.hasListeners()||(e=a(this,o))==null||e.removeObserver(this)}onMutationUpdate(e){j(this,m,w).call(this),j(this,m,C).call(this,e)}getCurrentResult(){return a(this,g)}reset(){var e;(e=a(this,o))==null||e.removeObserver(this),v(this,o,void 0),j(this,m,w).call(this),j(this,m,C).call(this)}mutate(e,t){var n;return v(this,h,t),(n=a(this,o))==null||n.removeObserver(this),v(this,o,a(this,c).getMutationCache().build(a(this,c),this.options)),a(this,o).addObserver(this),a(this,o).execute(e)}},c=new WeakMap,g=new WeakMap,o=new WeakMap,h=new WeakMap,m=new WeakSet,w=function(){var t;const e=((t=a(this,o))==null?void 0:t.state)??B();v(this,g,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},C=function(e){P.batch(()=>{var t,n,l,x,d,p,k,i;if(a(this,h)&&this.hasListeners()){const u=a(this,g).variables,N=a(this,g).context,S={client:a(this,c),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(n=(t=a(this,h)).onSuccess)==null||n.call(t,e.data,u,N,S)}catch(b){Promise.reject(b)}try{(x=(l=a(this,h)).onSettled)==null||x.call(l,e.data,null,u,N,S)}catch(b){Promise.reject(b)}}else if((e==null?void 0:e.type)==="error"){try{(p=(d=a(this,h)).onError)==null||p.call(d,e.error,u,N,S)}catch(b){Promise.reject(b)}try{(i=(k=a(this,h)).onSettled)==null||i.call(k,void 0,e.error,u,N,S)}catch(b){Promise.reject(b)}}}this.listeners.forEach(u=>{u(a(this,g))})})},q);function W(r,e){const t=J(),[n]=f.useState(()=>new G(t,r));f.useEffect(()=>{n.setOptions(r)},[n,r]);const l=f.useSyncExternalStore(f.useCallback(d=>n.subscribe(P.batchCalls(d)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),x=f.useCallback((d,p)=>{n.mutate(d,p).catch(F)},[n]);if(l.error&&I(n.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:x,mutateAsync:l.mutate}}/** +var E=r=>{throw TypeError(r)};var O=(r,e,t)=>e.has(r)||E("Cannot "+t);var a=(r,e,t)=>(O(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?E("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),v=(r,e,t,n)=>(O(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),j=(r,e,t)=>(O(r,e,"access private method"),t);import{a8 as Q,a9 as A,aa as M,ab as B,ac as P,u as J,r as f,ad as F,ae as I,c as T,af as U,j as s,J as D,T as H,b as K,L,Q as V,q as _,n as R}from"./index-C3tzC6TG.js";import{J as z}from"./JobsBar-DqqfGkDz.js";var c,g,o,h,m,w,C,q,G=(q=class extends Q{constructor(e,t){super();y(this,m);y(this,c);y(this,g);y(this,o);y(this,h);v(this,c,e),this.setOptions(t),this.bindMethods(),j(this,m,w).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){var n;const t=this.options;this.options=a(this,c).defaultMutationOptions(e),A(this.options,t)||a(this,c).getMutationCache().notify({type:"observerOptionsUpdated",mutation:a(this,o),observer:this}),t!=null&&t.mutationKey&&this.options.mutationKey&&M(t.mutationKey)!==M(this.options.mutationKey)?this.reset():((n=a(this,o))==null?void 0:n.state.status)==="pending"&&a(this,o).setOptions(this.options)}onUnsubscribe(){var e;this.hasListeners()||(e=a(this,o))==null||e.removeObserver(this)}onMutationUpdate(e){j(this,m,w).call(this),j(this,m,C).call(this,e)}getCurrentResult(){return a(this,g)}reset(){var e;(e=a(this,o))==null||e.removeObserver(this),v(this,o,void 0),j(this,m,w).call(this),j(this,m,C).call(this)}mutate(e,t){var n;return v(this,h,t),(n=a(this,o))==null||n.removeObserver(this),v(this,o,a(this,c).getMutationCache().build(a(this,c),this.options)),a(this,o).addObserver(this),a(this,o).execute(e)}},c=new WeakMap,g=new WeakMap,o=new WeakMap,h=new WeakMap,m=new WeakSet,w=function(){var t;const e=((t=a(this,o))==null?void 0:t.state)??B();v(this,g,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},C=function(e){P.batch(()=>{var t,n,l,x,d,p,k,i;if(a(this,h)&&this.hasListeners()){const u=a(this,g).variables,N=a(this,g).context,S={client:a(this,c),meta:this.options.meta,mutationKey:this.options.mutationKey};if((e==null?void 0:e.type)==="success"){try{(n=(t=a(this,h)).onSuccess)==null||n.call(t,e.data,u,N,S)}catch(b){Promise.reject(b)}try{(x=(l=a(this,h)).onSettled)==null||x.call(l,e.data,null,u,N,S)}catch(b){Promise.reject(b)}}else if((e==null?void 0:e.type)==="error"){try{(p=(d=a(this,h)).onError)==null||p.call(d,e.error,u,N,S)}catch(b){Promise.reject(b)}try{(i=(k=a(this,h)).onSettled)==null||i.call(k,void 0,e.error,u,N,S)}catch(b){Promise.reject(b)}}}this.listeners.forEach(u=>{u(a(this,g))})})},q);function W(r,e){const t=J(),[n]=f.useState(()=>new G(t,r));f.useEffect(()=>{n.setOptions(r)},[n,r]);const l=f.useSyncExternalStore(f.useCallback(d=>n.subscribe(P.batchCalls(d)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),x=f.useCallback((d,p)=>{n.mutate(d,p).catch(F)},[n]);if(l.error&&I(n.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:x,mutateAsync:l.mutate}}/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/SystemDrawer-BqYzprU9.js b/frontend/dist/assets/SystemDrawer-BFlT9oNB.js similarity index 88% rename from frontend/dist/assets/SystemDrawer-BqYzprU9.js rename to frontend/dist/assets/SystemDrawer-BFlT9oNB.js index 971fd23..de1d70c 100644 --- a/frontend/dist/assets/SystemDrawer-BqYzprU9.js +++ b/frontend/dist/assets/SystemDrawer-BFlT9oNB.js @@ -1,52 +1,42 @@ -import{c as w,j as e,b as c,r as l,T as W,L as ae,E as ve,n as b,Q as le,Y as oe,X as de,J as Se,u as Ce,k as _e,x as ze,as as Fe,ag as Le,am as Ue,V as P,t as Ae,y as q,q as N}from"./index-DvtGY8-b.js";import{R as F}from"./refresh-cw-CTp9Wnlo.js";import{F as Pe}from"./file-text-BN2uI732.js";import{S as Be}from"./search-CES9eee3.js";import{S as ce}from"./shield-DuTFhOFM.js";import{A as ne}from"./arrow-right-DrtT4MFG.js";import{C as De}from"./clock-geHux9wJ.js";import{E as Re}from"./external-link-DPeXL_3q.js";import{P as $e}from"./power-t1doBEG9.js";/** +import{c as v,j as e,b as c,r as l,T as W,L as ae,E as ve,n as b,Q as le,Y as oe,X as de,J as Se,u as _e,k as Ce,x as ze,as as Fe,ag as Le,am as Ue,V as P,t as Ae,y as q,q as N}from"./index-C3tzC6TG.js";import{R as F}from"./refresh-cw-COF4ZaAx.js";import{F as Pe}from"./file-text-CgoPL5rz.js";import{S as Be}from"./search-CMGuC7tW.js";import{S as ce}from"./shield-DhFhR3yI.js";import{A as ne}from"./arrow-right-BuSI6b_d.js";import{C as Re}from"./clock-Dgmp--tr.js";import{E as $e}from"./external-link-A-cVlKY7.js";import{C as De,a as Ee}from"./cloud-download-U4tFtHIE.js";import{P as Oe}from"./power-cDUHwtRA.js";/** * @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 Ee=w("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + */const Te=v("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** * @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 Oe=w("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** + */const Me=v("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @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 Te=w("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/** + */const He=v("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** * @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 Me=w("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const qe=v("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** * @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 He=w("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + */const ie=v("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** * @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 qe=w("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** + */const me=v("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @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 ie=w("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** + */const xe=v("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** * @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 me=w("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @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 xe=w("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** - * @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 We=w("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);function B({icon:n,iconClass:d,name:i,status:m,available:s,busy:u,actionLabel:f,onAction:r}){return e.jsxs("div",{className:c("flex items-center gap-3 rounded-lg border px-3 py-2",s?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[e.jsx(n,{className:c("h-4 w-4 shrink-0",d)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:i}),e.jsx("div",{className:c("text-[10px] truncate",s?"text-amber-400/90":"text-muted-foreground"),children:m})]}),e.jsx("button",{onClick:r,disabled:!s||u,className:c("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",s?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:u?"…":f})]})}function Ge({label:n,ok:d,system:i,busy:m,onRestart:s,onLogs:u}){return e.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[e.jsx("span",{className:c("w-1.5 h-1.5 rounded-full shrink-0",d===!0?"bg-emerald-500":d===!1?"bg-red-500":"bg-muted-foreground/40")}),e.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[n,i&&e.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),e.jsx("button",{onClick:s,disabled:m,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3.5 w-3.5",m&&"animate-spin")})}),e.jsx("button",{onClick:u,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:e.jsx(Pe,{className:"h-3.5 w-3.5"})})]})}const Je=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,Ke=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function Ve(n){return Je.test(n)?"error":Ke.test(n)?"warn":"info"}const Ze={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function Qe({service:n,text:d,loading:i,logStatus:m,onRefresh:s,onOpenSettings:u}){const[f,r]=l.useState(!1),[j,y]=l.useState(""),o=l.useRef(null),h=l.useMemo(()=>d?d.split(` -`).map(p=>({t:p,level:Ve(p)})):[],[d]),S=l.useMemo(()=>h.filter(p=>p.level!=="info").length,[h]),C=j.trim().toLowerCase(),g=h.filter(p=>(!f||p.level!=="info")&&(!C||p.t.toLowerCase().includes(C))),k=m==="password_required"||m==="incorrect_password";return e.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:[e.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[e.jsx(We,{className:"h-3 w-3 text-primary"}),e.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",n]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Be,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),e.jsx("input",{value:j,onChange:p=>y(p.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),e.jsxs("button",{onClick:()=>r(p=>!p),title:"Nur Fehler und Warnungen zeigen",className:c("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",f?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[e.jsx(W,{className:"h-3 w-3"}),"Nur Probleme",S>0?` (${S})`:""]}),e.jsx("button",{onClick:s,disabled:i,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3 w-3",i&&"animate-spin")})})]})]}),e.jsx("div",{ref:o,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?e.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[e.jsx(W,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),e.jsx("div",{className:"text-xs font-semibold text-amber-300",children:m==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),e.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",n," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),e.jsx("button",{onClick:u,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):i&&!d?e.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):h.length===0?e.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):g.length===0?e.jsx("span",{className:"text-muted-foreground",children:f?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):g.map((p,R)=>e.jsx("div",{className:c("whitespace-pre-wrap",Ze[p.level]),children:p.t||" "},R))})]})}function Xe({open:n,showAlert:d}){const[i,m]=l.useState(null),[s,u]=l.useState(""),[f,r]=l.useState(!1),[j,y]=l.useState(!1),[o,h]=l.useState(!1);async function S(){y(!0);try{m(await b("/api/maintenance/geheimnisse"))}catch(g){d("Nicht erreichbar",`Der Geheimnis-Zustand konnte nicht geladen werden: ${(g==null?void 0:g.message)||g}`)}finally{y(!1)}}l.useEffect(()=>{n&&(u(""),r(!1),S())},[n]);async function C(g){h(!0);try{const k=await b("/api/maintenance/geheimnisse",{method:"POST",body:JSON.stringify({schluessel:"hf_token",wert:g})});m(k),u(""),d(g?"Gespeichert":"Gelöscht",g?"Der Token liegt jetzt auf der Box — der Browser behält ihn nicht.":"Der Token wurde von der Box entfernt.")}catch(k){d("Fehlgeschlagen",(k==null?void 0:k.message)||String(k))}finally{h(!1)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),e.jsx("p",{className:"text-[10px] leading-normal text-muted-foreground",children:"Geheimnisse liegen auf der Box (Datei mit Rechten 0600), nicht im Browser. Diese Seite zeigt nur, ob etwas gesetzt ist — den Wert bekommt sie nie zurück."})]}),e.jsxs("div",{className:"mc-card-sm space-y-1.5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(me,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"}),"Box-Sudo-Passwort — nicht mehr nötig"]}),e.jsxs("p",{className:"text-[10px] leading-normal text-muted-foreground",children:["Systemdienste, OS-Update und Neustart laufen passwortlos (",e.jsx("code",{className:"font-mono text-primary",children:"NOPASSWD"})," in",e.jsx("code",{className:"font-mono",children:" /etc/sudoers"}),"). Das frühere Feld hat nie etwas bewirkt und lag dabei im Browser-Speicher — es ist am 28.08.2026 ersatzlos entfallen. Verlangt ",e.jsx("code",{className:"font-mono",children:"sudo"})," auf der Box je doch ein Passwort, sagt die Wartung das im Klartext; das ist dann dort zu lösen."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"hf-token",className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(qe,{className:"h-4 w-4 text-violet-400","aria-hidden":"true"}),"HuggingFace-Token"]}),e.jsx("div",{className:"flex items-center gap-2 text-[11px]",children:j?e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(ae,{className:"h-3 w-3 animate-spin","aria-hidden":"true"})," Zustand wird geladen …"]}):i!=null&&i.hf_token_gesetzt?e.jsxs("span",{className:"flex items-center gap-1.5 font-semibold text-emerald-400",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500","aria-hidden":"true"}),"Gesetzt",i.hf_token_aus_env?" (aus der Dienst-Umgebung)":""]}):e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50","aria-hidden":"true"}),"Nicht gesetzt"]})}),(i==null?void 0:i.hf_token_aus_env)&&e.jsxs("p",{className:"text-[9px] leading-normal text-amber-400/90",children:["Der Token kommt aus der Umgebung des Dienstes und hat Vorrang. Hier gespeicherte Werte bleiben wirkungslos, solange ",e.jsx("code",{className:"font-mono",children:"HF_TOKEN"})," gesetzt ist."]}),i&&!i.schreibbar&&e.jsx("p",{className:"text-[9px] leading-normal text-amber-400/90",children:"Die Ablage ist nicht beschreibbar — auf einem Entwicklungsrechner ohne den Modell-Ordner der Box ist das normal. Speichern würde hier ins Leere laufen."}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{id:"hf-token",type:f?"text":"password",value:s,onChange:g=>u(g.target.value),autoComplete:"off",spellCheck:!1,placeholder:i!=null&&i.hf_token_gesetzt?"Neuen Token eingeben, um zu ersetzen":"hf_…",className:"h-10 w-full rounded-lg border border-border/60 bg-background/40 pl-3 pr-10 text-xs text-foreground outline-none transition-colors focus:border-primary"}),e.jsx("button",{type:"button",onClick:()=>r(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground transition-colors hover:text-foreground",children:f?e.jsx(Me,{className:"h-4 w-4","aria-hidden":"true"}):e.jsx(ve,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsxs("p",{className:"text-[9px] leading-normal text-muted-foreground",children:["Nötig für Modelle mit Zugangsschranke. Wird beim Download als",e.jsx("code",{className:"font-mono",children:" HF_TOKEN"})," an den Job gereicht und verlässt die Box nicht."]})]}),e.jsxs("div",{className:"flex gap-3 pt-2",children:[e.jsxs("button",{onClick:()=>C(s.trim()),disabled:o||!s.trim(),className:"flex h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow shadow-primary/10 transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-40",children:[o&&e.jsx(ae,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}),"Auf der Box speichern"]}),e.jsx("button",{onClick:()=>C(null),disabled:o||!(i!=null&&i.hf_token_gesetzt),className:"flex h-9 cursor-pointer items-center justify-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-40",children:"Löschen"})]})]})}function Ye({detail:n,maintenanceJob:d,onClose:i,onApply:m}){var j,y;const s=n.data,u={os:{icon:ce,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:oe,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:xe,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:le,cls:"text-amber-400",title:"Hermes-Agent"}}[n.kind],f=u.icon,r=s?n.kind==="os"?(s.count??0)===0:n.kind==="hermes"?(s.behind??0)===0:s.installed_build!=null&&s.latest_build!=null&&s.latest_build<=s.installed_build:!0;return e.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[e.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:i}),e.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[e.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(f,{className:c("h-4.5 w-4.5",u.cls)}),e.jsx("h3",{className:"text-sm font-semibold",children:u.title})]}),e.jsx("button",{onClick:i,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:e.jsx(de,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:n.loading?e.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[e.jsx(F,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):s!=null&&s.error?e.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:s.error}):e.jsxs(e.Fragment,{children:[(s==null?void 0:s.action_needed)!=null&&e.jsxs("div",{className:c("flex items-start gap-2 rounded-lg border p-3",s.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[s.action_needed?e.jsx(W,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):e.jsx(Se,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:c("text-xs font-semibold",s.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",s.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),s.action_needed&&s.action_text&&e.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:s.action_text})]})]}),(s==null?void 0:s.summary)&&e.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),e.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:s.summary})]}),n.kind==="os"?e.jsxs(e.Fragment,{children:[((s==null?void 0:s.count)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.count," Paket(e) werden aktualisiert:"]}),e.jsx("div",{className:"space-y-1",children:s.packages.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-cyan-400 shrink-0"}),o.name]}),e.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[e.jsx("span",{children:o.current}),e.jsx(ne,{className:"h-3 w-3"}),e.jsx("span",{className:"text-emerald-400",children:o.candidate})]})]},o.name))})]}),(((j=s==null?void 0:s.held_back)==null?void 0:j.length)??0)>0&&e.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[e.jsx(De,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),e.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),e.jsx("div",{className:"space-y-1",children:s.held_back.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-muted-foreground shrink-0"}),o.name]}),e.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:o.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},o.name))})]})]}):n.kind==="engine"||n.kind==="swap"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[e.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(s==null?void 0:s.installed_build)??"?"]}),e.jsx(ne,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(s==null?void 0:s.latest_build)??"?"]})]}),((s==null?void 0:s.name)||(s==null?void 0:s.latest_tag))&&e.jsxs("div",{className:"text-muted-foreground",children:["Release: ",e.jsx("span",{className:"text-foreground",children:s==null?void 0:s.name}),s!=null&&s.latest_tag?` (${s.latest_tag})`:""]}),(s==null?void 0:s.url)&&e.jsxs("a",{href:s.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",e.jsx(Re,{className:"h-3 w-3"})]}),(s==null?void 0:s.body)&&e.jsxs("details",{className:"group",children:[e.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),e.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:s.body})]})]}):(((y=s==null?void 0:s.commits)==null?void 0:y.length)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.behind," neue Commit(s) auf ",e.jsxs("span",{className:"font-mono text-foreground",children:["origin/",s.branch]}),":"]}),e.jsx("div",{className:"space-y-1",children:s.commits.map(o=>e.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsx(He,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[11px] truncate",children:o.subject}),e.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[o.hash," · ",o.when]})]})]},o.hash))})]}),n.kind!=="os"&&!r&&e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[e.jsx(me,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",n.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),e.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[e.jsx("button",{onClick:i,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),e.jsx("button",{onClick:m,disabled:n.loading||r||!!d,title:d?`Update läuft bereits: ${d.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:d?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function ot({open:n,onClose:d,defaultTab:i="maintenance"}){var se,re;const m=Ce(),{showAlert:s,showConfirm:u,dialogElement:f}=_e(),{data:r}=ze(),{data:j}=Fe(),y=Le(3e3,n).data??[],{data:o}=Ue(void 0,n),[h,S]=l.useState("llama-swap"),[C,g]=l.useState(""),[k,p]=l.useState(!1),[R,G]=l.useState(null),[$,J]=l.useState({}),[_,v]=l.useState("maintenance"),[K,V]=l.useState(!1),[Z,E]=l.useState(""),[Q,X]=l.useState(!1),[ue,Y]=l.useState(!1),[L,U]=l.useState(null),O=(j==null?void 0:j.services)??[],z=()=>P(m,N.jobs);function he(t){return t?new Date(t*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}l.useEffect(()=>{n&&i&&v(i)},[n,i]),l.useEffect(()=>{n&&P(m,N.updates,N.services,N.jobs,N.zeitmaschine)},[n]);function T(t){p(!0),G(null),b(`/api/maintenance/logs?service=${t}&lines=150`).then(a=>{a.ok?g(a.text):(g(`Fehler beim Laden der Logs: ${a.err||"Unbekannter Fehler"}`),(a.status==="incorrect_password"||a.status==="password_required")&&G(a.status))}).catch(a=>g(`Fehler: ${a.message}`)).finally(()=>p(!1))}l.useEffect(()=>{!n||_!=="logs"||T(h)},[n,_,h]);function M(t){return(t==null?void 0:t.status)==="busy"?(s("Update läuft bereits",`Es läuft gerade „${t.running}". Bitte warte, bis es fertig ist.`),z(),!0):!1}function I(t){return(t==null?void 0:t.status)==="password_required"||(t==null?void 0:t.status)==="incorrect_password"?(s("Box-Passwort nötig",(t.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):t&&t.ok===!1?(s("Update fehlgeschlagen",t.err||"Unbekannter Fehler."),!0):!1}async function ge(t){const a={os:"os-update",engine:"engine-update",swap:"swap-update"}[t];try{const x=await b(`/api/maintenance/${a}`,{method:"POST"});if(M(x)||I(x))return;z(),v("maintenance")}catch(x){s("Fehler",`Update konnte nicht starten: ${x.message}`)}}async function pe(){Y(!0);try{const t=await b("/api/maintenance/hermes-update",{method:"POST"});if(M(t))return;z()}catch(t){s("Fehler",`Hermes-Update fehlgeschlagen: ${t.message}`)}finally{Y(!1)}}async function D(t){U({kind:t,loading:!0,data:null});try{const a=await b(`/api/maintenance/update-details?kind=${t}`);U({kind:t,loading:!1,data:a})}catch(a){U({kind:t,loading:!1,data:{kind:t,error:a.message}})}}function fe(){const t=L==null?void 0:L.kind;U(null),t==="os"||t==="engine"||t==="swap"?ge(t):t==="hermes"&&pe()}function be(){var a;const t=[r!=null&&r.engine?"Engine":null,r!=null&&r.swap?"Router":null,(a=r==null?void 0:r.components)!=null&&a.some(x=>x.update===!0)?"Hermes-Agent":null,r!=null&&r.os?`OS (${r.os} Pakete)`:null].filter(Boolean);u("Alle Updates einspielen?",`Nacheinander in einem Job: ${t.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const x=await b("/api/maintenance/update-all",{method:"POST"});if(M(x)||I(x))return;if((x==null?void 0:x.status)==="nothing"){s("Nichts zu tun","Es stehen keine Updates aus.");return}z(),v("maintenance")}catch(x){s("Fehler",`„Alle aktualisieren" konnte nicht starten: ${x.message}`)}})}async function ye(){V(!0);try{await b("/api/maintenance/check-updates",{method:"POST"}),P(m,N.jobs,N.updates),v("maintenance")}catch(t){s("Fehler",`Fehler bei der Update-Suche: ${t.message}`)}finally{V(!1)}}async function je(t,a){try{await b("/api/models/install",{method:"POST",body:JSON.stringify({repo:t,role:a})}),s("Gestartet",`Modell-Upgrade für '${a}' (${t}) gestartet.`),z(),v("maintenance")}catch(x){s("Fehler",`Fehler beim Starten des Modell-Upgrades: ${x.message}`)}}async function Ne(){u("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await b("/api/maintenance/reboot",{method:"POST"}),s("Reboot","Reboot ausgelöst. System startet neu...",()=>d())}catch(t){s("Fehler",`Fehler beim Reboot: ${t.message}`)}})}async function ke(){X(!0),E("Snapshot wird erzeugt...");try{const t=await b("/api/system/backup",{method:"POST"});E(t.ok?`Snapshot erzeugt: ${t.snapshot} (${t.files.length} Komponenten)`:"Backup fehlgeschlagen."),P(m,N.zeitmaschine)}catch(t){E(`Fehler: ${t.message}`)}finally{X(!1)}}async function ee(t){J(a=>({...a,[t]:!0}));try{const a=await b("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:t})});a.ok?(s("Dienst neu gestartet",`Dienst ${t} wurde erfolgreich neu gestartet.`,()=>{_==="logs"&&h===t&&T(t)}),P(m,N.services,N.health,N.models)):s("Fehler",`Fehler beim Neustart: ${a.err||"Unbekannter Fehler"}`)}catch(a){s("Fehler",`Fehler beim Neustart: ${a.message}`)}finally{J(a=>({...a,[t]:!1}))}}async function we(t){try{await b(`/api/jobs/${t}/cancel`,{method:"POST"}),z()}catch(a){s("Fehler",`Fehler beim Abbrechen: ${a.message}`)}}const A=y.find(t=>(t.state==="running"||t.state==="queued")&&t.group==="maintenance"),te=(r?(r.os>0?1:0)+(r.engine?1:0)+(r.swap?1:0):0)+(((se=r==null?void 0:r.components)==null?void 0:se.filter(t=>t.update===!0).length)??0),H=(o==null?void 0:o.backups)??[];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:c("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",n?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:d}),e.jsxs("div",{className:c("fixed inset-y-0 right-0 w-full sm:w-[640px] 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",n?"translate-x-0":"translate-x-full"),children:[e.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ae,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),e.jsx("button",{onClick:d,"aria-label":"System-Schublade schließen",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:e.jsx(de,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(t=>e.jsx("button",{onClick:()=>v(t),className:c("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_===t?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:t==="maintenance"?"System-Wartung":t==="logs"?"System-Logs":"Einstellungen"},t))}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[_==="maintenance"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),e.jsxs("div",{className:"flex items-center gap-3",children:[te>0&&e.jsxs("button",{onClick:be,disabled:!!A,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[e.jsx(Te,{className:"h-3 w-3"})," Alle aktualisieren (",te,")"]}),e.jsxs("button",{onClick:ye,disabled:K||!!A,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[e.jsx(F,{className:c("h-3 w-3",K&&"animate-spin")})," Nach Updates suchen"]})]})]}),(r==null?void 0:r.last_check)&&e.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",he(r.last_check)]}),A&&e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[e.jsx(F,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e.jsxs("span",{children:["Update läuft: ",e.jsx("span",{className:"font-semibold",children:A.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(B,{icon:ce,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(r!=null&&r.os),status:r!=null&&r.os?`${r.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>D("os")}),e.jsx(B,{icon:oe,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(r!=null&&r.engine),status:r!=null&&r.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("engine")}),e.jsx(B,{icon:xe,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(r!=null&&r.swap),status:r!=null&&r.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("swap")}),(()=>{var a;const t=(a=r==null?void 0:r.components)==null?void 0:a.find(x=>x.key==="hermes_agent");return e.jsx(B,{icon:le,iconClass:"text-amber-400",name:"Hermes-Agent",available:(t==null?void 0:t.update)===!0,busy:ue,status:(t==null?void 0:t.update)===!0?`Update: ${t.latest}`:(t==null?void 0:t.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>D("hermes")})})(),(re=r==null?void 0:r.model_list)==null?void 0:re.map(t=>e.jsx(B,{icon:Ee,iconClass:"text-emerald-400",name:`Modell · ${t.role}`,available:!0,status:t.title,actionLabel:"Upgrade",onAction:()=>je(t.repo,t.role)},t.role))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),e.jsxs("div",{className:"space-y-1.5",children:[O.length===0&&e.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),O.map(t=>e.jsx(Ge,{label:t.name,system:t.scope==="system",ok:t.ok,busy:$[t.unit],onRestart:()=>ee(t.unit),onLogs:()=>{S(t.unit),v("logs")}},t.unit))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:H[0]?`Letztes: ${H[0].snapshot}`:"Noch kein Backup"}),e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[H.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),e.jsxs("button",{onClick:ke,disabled:Q,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[e.jsx(Oe,{className:c("h-3.5 w-3.5",Q&&"animate-pulse")})," Snapshot"]})]}),Z&&e.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:Z})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),e.jsxs("button",{onClick:Ne,className:"flex w-full items-center gap-3 p-3 rounded-lg 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:[e.jsx($e,{className:"h-4.5 w-4.5"}),e.jsxs("div",{children:[e.jsx("div",{children:"Host-System neu starten"}),e.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),e.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[y.filter(t=>t.state==="running"||t.state==="queued").length," Aktiv"]})]}),e.jsx("div",{className:"space-y-3",children:y.length===0?e.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."}):y.map(t=>{const a=t.state==="running"||t.state==="queued";return e.jsxs("div",{className:c("p-3 rounded-xl border transition-all duration-300",a?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[a&&e.jsxs("span",{className:"flex h-2 w-2 relative",children:[e.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),e.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),t.label]}),e.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[e.jsxs("span",{children:["ID: ",t.id]}),e.jsx("span",{children:"•"}),e.jsx("span",{className:c(t.state==="done"&&"text-emerald-400",t.state==="failed"&&"text-red-400",t.state==="running"&&"text-primary",t.state==="queued"&&"text-amber-400",t.state==="canceled"&&"text-muted-foreground"),children:t.state})]})]}),a&&e.jsx("button",{onClick:()=>we(t.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"})]}),t.state==="running"&&e.jsxs("div",{className:"mt-3 space-y-1",children:[e.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${t.progress??0}%`}})}),e.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[e.jsxs("span",{children:[t.progress??0,"%"]}),t.done_bytes!=null&&t.total_bytes!=null&&e.jsxs("span",{children:[q(t.done_bytes)," / ",q(t.total_bytes),t.rate_bps!=null&&` (${q(t.rate_bps)}/s)`]}),t.eta_s!=null&&e.jsxs("span",{children:["ETA: ",t.eta_s,"s"]})]})]})]},t.id)})})]})]}),_==="logs"&&e.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("select",{value:h,onChange:t=>S(t.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:O.map(t=>e.jsxs("option",{value:t.unit,children:[t.name," (",t.scope==="system"?"systemd-root":"user",")"]},t.unit))}),e.jsxs("button",{onClick:()=>ee(h),disabled:$[h],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:[e.jsx(F,{className:c("h-3.5 w-3.5",$[h]&&"animate-spin")}),"Restart"]})]}),e.jsx(Qe,{service:h,text:C,loading:k,logStatus:R,onRefresh:()=>T(h),onOpenSettings:()=>v("settings")})]}),_==="settings"&&e.jsx(Xe,{open:n,showAlert:s})]})]}),L&&e.jsx(Ye,{detail:L,maintenanceJob:A,onClose:()=>U(null),onApply:fe}),f]})}export{ot as SystemDrawer}; + */const We=v("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);function B({icon:n,iconClass:d,name:i,status:m,available:s,busy:u,actionLabel:f,onAction:r}){return e.jsxs("div",{className:c("flex items-center gap-3 rounded-lg border px-3 py-2",s?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[e.jsx(n,{className:c("h-4 w-4 shrink-0",d)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:i}),e.jsx("div",{className:c("text-[10px] truncate",s?"text-amber-400/90":"text-muted-foreground"),children:m})]}),e.jsx("button",{onClick:r,disabled:!s||u,className:c("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",s?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:u?"…":f})]})}function Ge({label:n,ok:d,system:i,busy:m,onRestart:s,onLogs:u}){return e.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[e.jsx("span",{className:c("w-1.5 h-1.5 rounded-full shrink-0",d===!0?"bg-emerald-500":d===!1?"bg-red-500":"bg-muted-foreground/40")}),e.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[n,i&&e.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),e.jsx("button",{onClick:s,disabled:m,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3.5 w-3.5",m&&"animate-spin")})}),e.jsx("button",{onClick:u,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:e.jsx(Pe,{className:"h-3.5 w-3.5"})})]})}const Je=/\b(error|fehler|fail(ed|ure)?|fatal|critical|crit|panic|traceback|exception|denied|refused|unable|emerg|alert|oom|killed)\b/i,Ke=/\b(warn(ing)?|deprecat\w*|retry(ing)?|timeout|timed out|degraded|missing|not found|nicht gefunden)\b/i;function Ve(n){return Je.test(n)?"error":Ke.test(n)?"warn":"info"}const Ze={error:"text-red-400",warn:"text-amber-300",info:"text-cyan-300/80"};function Qe({service:n,text:d,loading:i,logStatus:m,onRefresh:s,onOpenSettings:u}){const[f,r]=l.useState(!1),[j,y]=l.useState(""),o=l.useRef(null),h=l.useMemo(()=>d?d.split(` +`).map(p=>({t:p,level:Ve(p)})):[],[d]),S=l.useMemo(()=>h.filter(p=>p.level!=="info").length,[h]),_=j.trim().toLowerCase(),g=h.filter(p=>(!f||p.level!=="info")&&(!_||p.t.toLowerCase().includes(_))),k=m==="password_required"||m==="incorrect_password";return e.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:[e.jsxs("div",{className:"flex h-10 items-center justify-between gap-2 px-3 border-b border-border/40 bg-black/30 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground shrink-0",children:[e.jsx(We,{className:"h-3 w-3 text-primary"}),e.jsx("span",{className:"hidden sm:inline",children:"stdout/stderr —"})," ",n]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Be,{className:"pointer-events-none absolute left-2 top-1/2 h-3 w-3 -translate-y-1/2 text-muted-foreground"}),e.jsx("input",{value:j,onChange:p=>y(p.target.value),placeholder:"filtern…",className:"h-7 w-24 sm:w-36 rounded-md border border-border/50 bg-background/40 pl-6 pr-2 text-[10px] text-foreground outline-none focus:border-primary/50"})]}),e.jsxs("button",{onClick:()=>r(p=>!p),title:"Nur Fehler und Warnungen zeigen",className:c("flex h-7 items-center gap-1 rounded-md border px-2 text-[10px] font-semibold transition-colors",f?"border-amber-500/50 bg-amber-500/15 text-amber-300":"border-border/50 bg-background/20 text-muted-foreground hover:text-foreground"),children:[e.jsx(W,{className:"h-3 w-3"}),"Nur Probleme",S>0?` (${S})`:""]}),e.jsx("button",{onClick:s,disabled:i,title:"Neu laden",className:"flex h-7 w-7 items-center justify-center rounded-md border border-border/50 bg-background/20 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:e.jsx(F,{className:c("h-3 w-3",i&&"animate-spin")})})]})]}),e.jsx("div",{ref:o,className:"flex-1 overflow-y-auto p-3 text-[10px] font-mono leading-relaxed scrollbar-thin select-text",children:k?e.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-3 p-6 text-center",children:[e.jsx(W,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),e.jsx("div",{className:"text-xs font-semibold text-amber-300",children:m==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),e.jsxs("p",{className:"max-w-xs text-[10px] leading-normal text-muted-foreground",children:["Für das Auslesen der systemd-Logs von ",n," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),e.jsx("button",{onClick:u,className:"mt-2 rounded-md bg-primary px-3 py-1.5 text-[10px] font-semibold text-primary-foreground transition-colors hover:bg-primary/95",children:"Sudo-Passwort eintragen"})]}):i&&!d?e.jsx("span",{className:"text-muted-foreground",children:"Lade Logs…"}):h.length===0?e.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."}):g.length===0?e.jsx("span",{className:"text-muted-foreground",children:f?"Keine Fehler oder Warnungen — der Dienst läuft sauber. ✓":"Kein Treffer für den Filter."}):g.map((p,$)=>e.jsx("div",{className:c("whitespace-pre-wrap",Ze[p.level]),children:p.t||" "},$))})]})}function Xe({open:n,showAlert:d}){const[i,m]=l.useState(null),[s,u]=l.useState(""),[f,r]=l.useState(!1),[j,y]=l.useState(!1),[o,h]=l.useState(!1);async function S(){y(!0);try{m(await b("/api/maintenance/geheimnisse"))}catch(g){d("Nicht erreichbar",`Der Geheimnis-Zustand konnte nicht geladen werden: ${(g==null?void 0:g.message)||g}`)}finally{y(!1)}}l.useEffect(()=>{n&&(u(""),r(!1),S())},[n]);async function _(g){h(!0);try{const k=await b("/api/maintenance/geheimnisse",{method:"POST",body:JSON.stringify({schluessel:"hf_token",wert:g})});m(k),u(""),d(g?"Gespeichert":"Gelöscht",g?"Der Token liegt jetzt auf der Box — der Browser behält ihn nicht.":"Der Token wurde von der Box entfernt.")}catch(k){d("Fehlgeschlagen",(k==null?void 0:k.message)||String(k))}finally{h(!1)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),e.jsx("p",{className:"text-[10px] leading-normal text-muted-foreground",children:"Geheimnisse liegen auf der Box (Datei mit Rechten 0600), nicht im Browser. Diese Seite zeigt nur, ob etwas gesetzt ist — den Wert bekommt sie nie zurück."})]}),e.jsxs("div",{className:"mc-card-sm space-y-1.5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(me,{className:"h-4 w-4 text-emerald-400","aria-hidden":"true"}),"Box-Sudo-Passwort — nicht mehr nötig"]}),e.jsxs("p",{className:"text-[10px] leading-normal text-muted-foreground",children:["Systemdienste, OS-Update und Neustart laufen passwortlos (",e.jsx("code",{className:"font-mono text-primary",children:"NOPASSWD"})," in",e.jsx("code",{className:"font-mono",children:" /etc/sudoers"}),"). Das frühere Feld hat nie etwas bewirkt und lag dabei im Browser-Speicher — es ist am 28.08.2026 ersatzlos entfallen. Verlangt ",e.jsx("code",{className:"font-mono",children:"sudo"})," auf der Box je doch ein Passwort, sagt die Wartung das im Klartext; das ist dann dort zu lösen."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("label",{htmlFor:"hf-token",className:"flex items-center gap-1.5 text-xs font-semibold",children:[e.jsx(qe,{className:"h-4 w-4 text-violet-400","aria-hidden":"true"}),"HuggingFace-Token"]}),e.jsx("div",{className:"flex items-center gap-2 text-[11px]",children:j?e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(ae,{className:"h-3 w-3 animate-spin","aria-hidden":"true"})," Zustand wird geladen …"]}):i!=null&&i.hf_token_gesetzt?e.jsxs("span",{className:"flex items-center gap-1.5 font-semibold text-emerald-400",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500","aria-hidden":"true"}),"Gesetzt",i.hf_token_aus_env?" (aus der Dienst-Umgebung)":""]}):e.jsxs("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50","aria-hidden":"true"}),"Nicht gesetzt"]})}),(i==null?void 0:i.hf_token_aus_env)&&e.jsxs("p",{className:"text-[9px] leading-normal text-amber-400/90",children:["Der Token kommt aus der Umgebung des Dienstes und hat Vorrang. Hier gespeicherte Werte bleiben wirkungslos, solange ",e.jsx("code",{className:"font-mono",children:"HF_TOKEN"})," gesetzt ist."]}),i&&!i.schreibbar&&e.jsx("p",{className:"text-[9px] leading-normal text-amber-400/90",children:"Die Ablage ist nicht beschreibbar — auf einem Entwicklungsrechner ohne den Modell-Ordner der Box ist das normal. Speichern würde hier ins Leere laufen."}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{id:"hf-token",type:f?"text":"password",value:s,onChange:g=>u(g.target.value),autoComplete:"off",spellCheck:!1,placeholder:i!=null&&i.hf_token_gesetzt?"Neuen Token eingeben, um zu ersetzen":"hf_…",className:"h-10 w-full rounded-lg border border-border/60 bg-background/40 pl-3 pr-10 text-xs text-foreground outline-none transition-colors focus:border-primary"}),e.jsx("button",{type:"button",onClick:()=>r(!f),"aria-label":f?"Token verbergen":"Token anzeigen",className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground transition-colors hover:text-foreground",children:f?e.jsx(Me,{className:"h-4 w-4","aria-hidden":"true"}):e.jsx(ve,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsxs("p",{className:"text-[9px] leading-normal text-muted-foreground",children:["Nötig für Modelle mit Zugangsschranke. Wird beim Download als",e.jsx("code",{className:"font-mono",children:" HF_TOKEN"})," an den Job gereicht und verlässt die Box nicht."]})]}),e.jsxs("div",{className:"flex gap-3 pt-2",children:[e.jsxs("button",{onClick:()=>_(s.trim()),disabled:o||!s.trim(),className:"flex h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow shadow-primary/10 transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-40",children:[o&&e.jsx(ae,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}),"Auf der Box speichern"]}),e.jsx("button",{onClick:()=>_(null),disabled:o||!(i!=null&&i.hf_token_gesetzt),className:"flex h-9 cursor-pointer items-center justify-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-40",children:"Löschen"})]})]})}function Ye({detail:n,maintenanceJob:d,onClose:i,onApply:m}){var j,y;const s=n.data,u={os:{icon:ce,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:oe,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:xe,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:le,cls:"text-amber-400",title:"Hermes-Agent"}}[n.kind],f=u.icon,r=s?n.kind==="os"?(s.count??0)===0:n.kind==="hermes"?(s.behind??0)===0:s.installed_build!=null&&s.latest_build!=null&&s.latest_build<=s.installed_build:!0;return e.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[e.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:i}),e.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[e.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(f,{className:c("h-4.5 w-4.5",u.cls)}),e.jsx("h3",{className:"text-sm font-semibold",children:u.title})]}),e.jsx("button",{onClick:i,className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:e.jsx(de,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:n.loading?e.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[e.jsx(F,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):s!=null&&s.error?e.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:s.error}):e.jsxs(e.Fragment,{children:[(s==null?void 0:s.action_needed)!=null&&e.jsxs("div",{className:c("flex items-start gap-2 rounded-lg border p-3",s.action_needed?"border-amber-500/40 bg-amber-500/10":"border-emerald-500/40 bg-emerald-500/10"),children:[s.action_needed?e.jsx(W,{className:"h-4 w-4 text-amber-400 shrink-0 mt-0.5"}):e.jsx(Se,{className:"h-4 w-4 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:c("text-xs font-semibold",s.action_needed?"text-amber-300":"text-emerald-300"),children:["Musst du etwas tun? ",s.action_needed?"Ja":"Nein — die Box regelt das (Fangnetz)"]}),s.action_needed&&s.action_text&&e.jsx("div",{className:"mt-0.5 text-[11px] text-foreground/90",children:s.action_text})]})]}),(s==null?void 0:s.summary)&&e.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-3 space-y-1",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-primary",children:"Was dieses Update bedeutet (Zusammenfassung der Box)"}),e.jsx("pre",{className:"whitespace-pre-wrap text-[11px] leading-relaxed text-foreground/90 font-sans",children:s.summary})]}),n.kind==="os"?e.jsxs(e.Fragment,{children:[((s==null?void 0:s.count)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.count," Paket(e) werden aktualisiert:"]}),e.jsx("div",{className:"space-y-1",children:s.packages.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-cyan-400 shrink-0"}),o.name]}),e.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[e.jsx("span",{children:o.current}),e.jsx(ne,{className:"h-3 w-3"}),e.jsx("span",{className:"text-emerald-400",children:o.candidate})]})]},o.name))})]}),(((j=s==null?void 0:s.held_back)==null?void 0:j.length)??0)>0&&e.jsxs("div",{className:"space-y-1.5 rounded-lg border border-border/40 bg-background/20 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold text-muted-foreground",children:[e.jsx(Re,{className:"h-3.5 w-3.5"})," Vom Hersteller zurückgestellt — kein Handeln nötig"]}),e.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Pakete gäbe es bereits, Ubuntu spielt sie aber gestaffelt aus (Phasen-Rollout) bzw. hält sie kurz zurück. Sie kommen bei einem der nächsten automatischen Läufe von selbst — das ist kein Fehler und nichts hängt fest."}),e.jsx("div",{className:"space-y-1",children:s.held_back.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/30 bg-background/30 px-2.5 py-1.5",children:[e.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[e.jsx(ie,{className:"h-3 w-3 text-muted-foreground shrink-0"}),o.name]}),e.jsx("span",{className:"text-[9px] text-muted-foreground shrink-0",children:o.reason==="phasing"?"Phasen-Rollout":"vorerst zurückgehalten"})]},o.name))})]})]}):n.kind==="engine"||n.kind==="swap"?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[e.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(s==null?void 0:s.installed_build)??"?"]}),e.jsx(ne,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(s==null?void 0:s.latest_build)??"?"]})]}),((s==null?void 0:s.name)||(s==null?void 0:s.latest_tag))&&e.jsxs("div",{className:"text-muted-foreground",children:["Release: ",e.jsx("span",{className:"text-foreground",children:s==null?void 0:s.name}),s!=null&&s.latest_tag?` (${s.latest_tag})`:""]}),(s==null?void 0:s.url)&&e.jsxs("a",{href:s.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Original-Release-Notes auf GitHub ",e.jsx($e,{className:"h-3 w-3"})]}),(s==null?void 0:s.body)&&e.jsxs("details",{className:"group",children:[e.jsx("summary",{className:"cursor-pointer text-[10px] text-muted-foreground hover:text-foreground",children:"Original-Notizen (englisch) anzeigen"}),e.jsx("pre",{className:"mt-1.5 whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:s.body})]})]}):(((y=s==null?void 0:s.commits)==null?void 0:y.length)??0)===0?e.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-muted-foreground",children:[s.behind," neue Commit(s) auf ",e.jsxs("span",{className:"font-mono text-foreground",children:["origin/",s.branch]}),":"]}),e.jsx("div",{className:"space-y-1",children:s.commits.map(o=>e.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[e.jsx(He,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[11px] truncate",children:o.subject}),e.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[o.hash," · ",o.when]})]})]},o.hash))})]}),n.kind!=="os"&&!r&&e.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-border/40 bg-background/20 p-2.5",children:[e.jsx(me,{className:"h-3.5 w-3.5 text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("p",{className:"text-[10px] text-muted-foreground leading-normal",children:["Vor dem Update sichert die Box automatisch den alten Stand. Danach prüft sie den ganzen Stack per echter Anfrage — läuft etwas nicht, rollt sie von selbst zurück",n.kind==="hermes"?" und startet den Gateway neu":"","."]})]})]})}),e.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[e.jsx("button",{onClick:i,className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),e.jsx("button",{onClick:m,disabled:n.loading||r||!!d,title:d?`Update läuft bereits: ${d.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:d?"Update läuft…":"Jetzt aktualisieren"})]})]})]})}function dt({open:n,onClose:d,defaultTab:i="maintenance"}){var se,re;const m=_e(),{showAlert:s,showConfirm:u,dialogElement:f}=Ce(),{data:r}=ze(),{data:j}=Fe(),y=Le(3e3,n).data??[],{data:o}=Ue(void 0,n),[h,S]=l.useState("llama-swap"),[_,g]=l.useState(""),[k,p]=l.useState(!1),[$,G]=l.useState(null),[D,J]=l.useState({}),[C,w]=l.useState("maintenance"),[K,V]=l.useState(!1),[Z,E]=l.useState(""),[Q,X]=l.useState(!1),[ue,Y]=l.useState(!1),[L,U]=l.useState(null),O=(j==null?void 0:j.services)??[],z=()=>P(m,N.jobs);function he(t){return t?new Date(t*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}l.useEffect(()=>{n&&i&&w(i)},[n,i]),l.useEffect(()=>{n&&P(m,N.updates,N.services,N.jobs,N.zeitmaschine)},[n]);function T(t){p(!0),G(null),b(`/api/maintenance/logs?service=${t}&lines=150`).then(a=>{a.ok?g(a.text):(g(`Fehler beim Laden der Logs: ${a.err||"Unbekannter Fehler"}`),(a.status==="incorrect_password"||a.status==="password_required")&&G(a.status))}).catch(a=>g(`Fehler: ${a.message}`)).finally(()=>p(!1))}l.useEffect(()=>{!n||C!=="logs"||T(h)},[n,C,h]);function M(t){return(t==null?void 0:t.status)==="busy"?(s("Update läuft bereits",`Es läuft gerade „${t.running}". Bitte warte, bis es fertig ist.`),z(),!0):!1}function I(t){return(t==null?void 0:t.status)==="password_required"||(t==null?void 0:t.status)==="incorrect_password"?(s("Box-Passwort nötig",(t.status==="incorrect_password"?"Das gespeicherte Box-Passwort stimmt nicht. ":"Für dieses Update braucht die Box dein Passwort. ")+"Bitte oben im Reiter „Einstellungen“ setzen bzw. korrigieren."),!0):t&&t.ok===!1?(s("Update fehlgeschlagen",t.err||"Unbekannter Fehler."),!0):!1}async function ge(t){const a={os:"os-update",engine:"engine-update",swap:"swap-update"}[t];try{const x=await b(`/api/maintenance/${a}`,{method:"POST"});if(M(x)||I(x))return;z(),w("maintenance")}catch(x){s("Fehler",`Update konnte nicht starten: ${x.message}`)}}async function pe(){Y(!0);try{const t=await b("/api/maintenance/hermes-update",{method:"POST"});if(M(t))return;z()}catch(t){s("Fehler",`Hermes-Update fehlgeschlagen: ${t.message}`)}finally{Y(!1)}}async function R(t){U({kind:t,loading:!0,data:null});try{const a=await b(`/api/maintenance/update-details?kind=${t}`);U({kind:t,loading:!1,data:a})}catch(a){U({kind:t,loading:!1,data:{kind:t,error:a.message}})}}function fe(){const t=L==null?void 0:L.kind;U(null),t==="os"||t==="engine"||t==="swap"?ge(t):t==="hermes"&&pe()}function be(){var a;const t=[r!=null&&r.engine?"Engine":null,r!=null&&r.swap?"Router":null,(a=r==null?void 0:r.components)!=null&&a.some(x=>x.update===!0)?"Hermes-Agent":null,r!=null&&r.os?`OS (${r.os} Pakete)`:null].filter(Boolean);u("Alle Updates einspielen?",`Nacheinander in einem Job: ${t.join(" → ")}. Jeder Schritt sichert und prüft sich selbst; schlägt einer fehl, stoppt der Rest. (OS braucht das Box-Passwort aus den Einstellungen — fehlt es, wird OS übersprungen.)`,async()=>{try{const x=await b("/api/maintenance/update-all",{method:"POST"});if(M(x)||I(x))return;if((x==null?void 0:x.status)==="nothing"){s("Nichts zu tun","Es stehen keine Updates aus.");return}z(),w("maintenance")}catch(x){s("Fehler",`„Alle aktualisieren" konnte nicht starten: ${x.message}`)}})}async function ye(){V(!0);try{await b("/api/maintenance/check-updates",{method:"POST"}),P(m,N.jobs,N.updates),w("maintenance")}catch(t){s("Fehler",`Fehler bei der Update-Suche: ${t.message}`)}finally{V(!1)}}async function je(t,a){try{await b("/api/models/install",{method:"POST",body:JSON.stringify({repo:t,role:a})}),s("Gestartet",`Modell-Upgrade für '${a}' (${t}) gestartet.`),z(),w("maintenance")}catch(x){s("Fehler",`Fehler beim Starten des Modell-Upgrades: ${x.message}`)}}async function Ne(){u("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await b("/api/maintenance/reboot",{method:"POST"}),s("Reboot","Reboot ausgelöst. System startet neu...",()=>d())}catch(t){s("Fehler",`Fehler beim Reboot: ${t.message}`)}})}async function ke(){X(!0),E("Snapshot wird erzeugt...");try{const t=await b("/api/system/backup",{method:"POST"});E(t.ok?`Snapshot erzeugt: ${t.snapshot} (${t.files.length} Komponenten)`:"Backup fehlgeschlagen."),P(m,N.zeitmaschine)}catch(t){E(`Fehler: ${t.message}`)}finally{X(!1)}}async function ee(t){J(a=>({...a,[t]:!0}));try{const a=await b("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:t})});a.ok?(s("Dienst neu gestartet",`Dienst ${t} wurde erfolgreich neu gestartet.`,()=>{C==="logs"&&h===t&&T(t)}),P(m,N.services,N.health,N.models)):s("Fehler",`Fehler beim Neustart: ${a.err||"Unbekannter Fehler"}`)}catch(a){s("Fehler",`Fehler beim Neustart: ${a.message}`)}finally{J(a=>({...a,[t]:!1}))}}async function we(t){try{await b(`/api/jobs/${t}/cancel`,{method:"POST"}),z()}catch(a){s("Fehler",`Fehler beim Abbrechen: ${a.message}`)}}const A=y.find(t=>(t.state==="running"||t.state==="queued")&&t.group==="maintenance"),te=(r?(r.os>0?1:0)+(r.engine?1:0)+(r.swap?1:0):0)+(((se=r==null?void 0:r.components)==null?void 0:se.filter(t=>t.update===!0).length)??0),H=(o==null?void 0:o.backups)??[];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:c("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",n?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:d}),e.jsxs("div",{className:c("fixed inset-y-0 right-0 w-full sm:w-[640px] 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",n?"translate-x-0":"translate-x-full"),children:[e.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ae,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),e.jsx("button",{onClick:d,"aria-label":"System-Schublade schließen",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:e.jsx(de,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsx("div",{className:"flex border-b border-border/40 px-6",children:["maintenance","logs","settings"].map(t=>e.jsx("button",{onClick:()=>w(t),className:c("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",C===t?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:t==="maintenance"?"System-Wartung":t==="logs"?"System-Logs":"Einstellungen"},t))}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[C==="maintenance"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),e.jsxs("div",{className:"flex items-center gap-3",children:[te>0&&e.jsxs("button",{onClick:be,disabled:!!A,className:"flex items-center gap-1 rounded-md border border-primary/40 bg-primary/10 px-2 py-1 text-[10px] font-bold text-primary transition-colors hover:bg-primary/20 disabled:opacity-50",children:[e.jsx(De,{className:"h-3 w-3"})," Alle aktualisieren (",te,")"]}),e.jsxs("button",{onClick:ye,disabled:K||!!A,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[e.jsx(F,{className:c("h-3 w-3",K&&"animate-spin")})," Nach Updates suchen"]})]})]}),(r==null?void 0:r.last_check)&&e.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",he(r.last_check)]}),A&&e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[e.jsx(F,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e.jsxs("span",{children:["Update läuft: ",e.jsx("span",{className:"font-semibold",children:A.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(B,{icon:ce,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(r!=null&&r.os),status:r!=null&&r.os?`${r.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>R("os")}),e.jsx(B,{icon:oe,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(r!=null&&r.engine),status:r!=null&&r.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>R("engine")}),e.jsx(B,{icon:xe,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(r!=null&&r.swap),status:r!=null&&r.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>R("swap")}),(()=>{var a;const t=(a=r==null?void 0:r.components)==null?void 0:a.find(x=>x.key==="hermes_agent");return e.jsx(B,{icon:le,iconClass:"text-amber-400",name:"Hermes-Agent",available:(t==null?void 0:t.update)===!0,busy:ue,status:(t==null?void 0:t.update)===!0?`Update: ${t.latest}`:(t==null?void 0:t.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>R("hermes")})})(),(re=r==null?void 0:r.model_list)==null?void 0:re.map(t=>e.jsx(B,{icon:Te,iconClass:"text-emerald-400",name:`Modell · ${t.role}`,available:!0,status:t.title,actionLabel:"Upgrade",onAction:()=>je(t.repo,t.role)},t.role))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),e.jsxs("div",{className:"space-y-1.5",children:[O.length===0&&e.jsx("div",{className:"rounded-lg border border-dashed border-border/50 p-4 text-center text-xs text-muted-foreground",children:"Dienste-Liste wird geladen …"}),O.map(t=>e.jsx(Ge,{label:t.name,system:t.scope==="system",ok:t.ok,busy:D[t.unit],onRestart:()=>ee(t.unit),onLogs:()=>{S(t.unit),w("logs")}},t.unit))]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-xs text-foreground truncate",children:H[0]?`Letztes: ${H[0].snapshot}`:"Noch kein Backup"}),e.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[H.length," Snapshots · Wiederherstellen: Chronik → Zeitmaschine"]})]}),e.jsxs("button",{onClick:ke,disabled:Q,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[e.jsx(Ee,{className:c("h-3.5 w-3.5",Q&&"animate-pulse")})," Snapshot"]})]}),Z&&e.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:Z})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),e.jsxs("button",{onClick:Ne,className:"flex w-full items-center gap-3 p-3 rounded-lg 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:[e.jsx(Oe,{className:"h-4.5 w-4.5"}),e.jsxs("div",{children:[e.jsx("div",{children:"Host-System neu starten"}),e.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),e.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[y.filter(t=>t.state==="running"||t.state==="queued").length," Aktiv"]})]}),e.jsx("div",{className:"space-y-3",children:y.length===0?e.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."}):y.map(t=>{const a=t.state==="running"||t.state==="queued";return e.jsxs("div",{className:c("p-3 rounded-xl border transition-all duration-300",a?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[a&&e.jsxs("span",{className:"flex h-2 w-2 relative",children:[e.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),e.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),t.label]}),e.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[e.jsxs("span",{children:["ID: ",t.id]}),e.jsx("span",{children:"•"}),e.jsx("span",{className:c(t.state==="done"&&"text-emerald-400",t.state==="failed"&&"text-red-400",t.state==="running"&&"text-primary",t.state==="queued"&&"text-amber-400",t.state==="canceled"&&"text-muted-foreground"),children:t.state})]})]}),a&&e.jsx("button",{onClick:()=>we(t.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"})]}),t.state==="running"&&e.jsxs("div",{className:"mt-3 space-y-1",children:[e.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${t.progress??0}%`}})}),e.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[e.jsxs("span",{children:[t.progress??0,"%"]}),t.done_bytes!=null&&t.total_bytes!=null&&e.jsxs("span",{children:[q(t.done_bytes)," / ",q(t.total_bytes),t.rate_bps!=null&&` (${q(t.rate_bps)}/s)`]}),t.eta_s!=null&&e.jsxs("span",{children:["ETA: ",t.eta_s,"s"]})]})]})]},t.id)})})]})]}),C==="logs"&&e.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("select",{value:h,onChange:t=>S(t.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:O.map(t=>e.jsxs("option",{value:t.unit,children:[t.name," (",t.scope==="system"?"systemd-root":"user",")"]},t.unit))}),e.jsxs("button",{onClick:()=>ee(h),disabled:D[h],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:[e.jsx(F,{className:c("h-3.5 w-3.5",D[h]&&"animate-spin")}),"Restart"]})]}),e.jsx(Qe,{service:h,text:_,loading:k,logStatus:$,onRefresh:()=>T(h),onOpenSettings:()=>w("settings")})]}),C==="settings"&&e.jsx(Xe,{open:n,showAlert:s})]})]}),L&&e.jsx(Ye,{detail:L,maintenanceJob:A,onClose:()=>U(null),onApply:fe}),f]})}export{dt as SystemDrawer}; diff --git a/frontend/dist/assets/WissenView-Cm8edL44.js b/frontend/dist/assets/WissenView-CNMl8olT.js similarity index 65% rename from frontend/dist/assets/WissenView-Cm8edL44.js rename to frontend/dist/assets/WissenView-CNMl8olT.js index 3464d9c..3d77981 100644 --- a/frontend/dist/assets/WissenView-Cm8edL44.js +++ b/frontend/dist/assets/WissenView-CNMl8olT.js @@ -1,14 +1,14 @@ -var to=Object.defineProperty;var eo=(e,n,r)=>n in e?to(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var Bn=(e,n,r)=>eo(e,typeof n!="symbol"?n+"":n,r);import{c as no,r as W,an as ro,ao as io,j as $,ap as oo,aq as ao,n as so,b as Ae,L as Ke,a1 as uo,ar as lo}from"./index-DvtGY8-b.js";import{i as Ft,c as Xn,a as Yn,b as co,o as fo,m as Zn,d as Kn}from"./string-DoZi9Vij.js";import{R as ho}from"./refresh-cw-CTp9Wnlo.js";import{S as po}from"./search-CES9eee3.js";import{F as go}from"./file-text-BN2uI732.js";/** +var to=Object.defineProperty;var eo=(e,n,r)=>n in e?to(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var Bn=(e,n,r)=>eo(e,typeof n!="symbol"?n+"":n,r);import{c as no,r as W,an as ro,ao as io,j as $,ap as oo,z as ao,A as so,aq as uo,n as lo,b as Ae,L as Ke,a1 as co,ar as fo}from"./index-C3tzC6TG.js";import{i as Ft,c as Xn,a as Yn,b as ho,o as po,m as Zn,d as Kn}from"./string-DoZi9Vij.js";import{R as go}from"./refresh-cw-COF4ZaAx.js";import{S as yo}from"./search-CMGuC7tW.js";import{F as _o}from"./file-text-CgoPL5rz.js";/** * @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 yo=no("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function _o(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var Qn=180/Math.PI,fn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(e,n,r,i,o,a){var s,u,c;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(c=e*r+n*i)&&(r-=e*c,i-=n*c),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,c/=u),e*i180?f+=360:f-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Ft(l,f)})):f&&h.push(o(h)+"rotate("+f+i)}function u(l,f,h,d){l!==f?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Ft(l,f)}):f&&h.push(o(h)+"skewX("+f+i)}function c(l,f,h,d,p,y){if(l!==h||f!==d){var x=p.push(o(p)+"scale(",null,",",null,")");y.push({i:x-4,x:Ft(l,h)},{i:x-2,x:Ft(f,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,f){var h=[],d=[];return l=e(l),f=e(f),a(l.translateX,l.translateY,f.translateX,f.translateY,h,d),s(l.rotate,f.rotate,h,d),u(l.skewX,f.skewX,h,d),c(l.scaleX,l.scaleY,f.scaleX,f.scaleY,h,d),l=f=null,function(p){for(var y=-1,x=d.length,m;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return W.forwardRef((a,s)=>{const u=W.useRef(),c=W.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);er(()=>{c(r(u.current))},W.useLayoutEffect),er(()=>c._destructor instanceof Function?c._destructor:void 0);const l=W.useCallback((h,...d)=>c[h]instanceof Function?c[h](...d):void 0,[c]),f=W.useRef({});return Object.keys(Do(a,[...i,...o])).filter(h=>f.current[h]!==a[h]).forEach(h=>l(h,a[h])),f.current=a,W.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),ro.createElement(n,{ref:u})})}function er(e,n=W.useEffect){const r=W.useRef(),i=W.useRef(!1),o=W.useRef(!1),[a,s]=W.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var dn="http://www.w3.org/1999/xhtml";const nr={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function We(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),nr.hasOwnProperty(n)?{space:nr[n],local:e}:e}function $o(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===dn&&n.documentElement.namespaceURI===dn?n.createElement(e):n.createElementNS(r,e)}}function Lo(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Qr(e){var n=We(e);return(n.local?Lo:$o)(n)}function Fo(){}function Tn(e){return e==null?Fo:function(){return this.querySelector(e)}}function Uo(e){typeof e!="function"&&(e=Tn(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=w&&(w=k+1);!(v=m[w])&&++w=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function ha(e){e||(e=da);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function pa(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ga(){return Array.from(this)}function ya(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?Ma:typeof n=="function"?Pa:Ta)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||ri(e).getComputedStyle(e,null).getPropertyValue(n)}function Ea(e){return function(){delete this[e]}}function za(e,n){return function(){this[e]=n}}function Na(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Ra(e,n){return arguments.length>1?this.each((n==null?Ea:typeof n=="function"?Na:za)(e,n)):this.node()[e]}function ii(e){return e.trim().split(/^|\s+/)}function Pn(e){return e.classList||new oi(e)}function oi(e){this._node=e,this._names=ii(e.getAttribute("class")||"")}oi.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ai(e,n){for(var r=Pn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function us(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Se.prototype=ve.prototype={constructor:Se,on:function(e,n){var r=this._,i=vs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function pn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:c,dy:l,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:f}})}pn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function bs(e){return!e.ctrlKey&&!e.button}function ws(){return this.parentNode}function ks(e,n){return n??{x:e.x,y:e.y}}function Cs(){return navigator.maxTouchPoints||"ontouchstart"in this}function As(){var e=bs,n=ws,r=ks,i=Cs,o={},a=ve("start","drag","end"),s=0,u,c,l,f,h=0;function d(_){_.on("mousedown.drag",p).filter(i).on("touchstart.drag",m).on("touchmove.drag",g,xs).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(_,v){if(!(f||!e.call(this,_,v))){var A=w(this,n.call(this,_,v),_,v,"mouse");A&&(pt(_.view).on("mousemove.drag",y,pe).on("mouseup.drag",x,pe),ci(_.view),Qe(_),l=!1,u=_.clientX,c=_.clientY,A("start",_))}}function y(_){if(Vt(_),!l){var v=_.clientX-u,A=_.clientY-c;l=v*v+A*A>h}o.mouse("drag",_)}function x(_){pt(_.view).on("mousemove.drag mouseup.drag",null),fi(_.view,l),Vt(_),o.mouse("end",_)}function m(_,v){if(e.call(this,_,v)){var A=_.changedTouches,M=n.call(this,_,v),T=A.length,R,P;for(R=0;R=0&&e._call.call(void 0,n),e=e._next;--Xt}function ir(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{Ms()}finally{Xt=0,Ps(),Ht=0}}function Ts(){var e=ge.now(),n=e-Re;n>hi&&(Ge-=n,Re=e)}function Ps(){for(var e,n=Ne,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ne=r);se=e,gn(i)}function gn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(ir,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(Ts,hi)),Xt=1,di(ir))}}function or(e,n,r){var i=new je;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var Os=ve("start","end","cancel","interrupt"),Es=[],pi=0,ar=1,yn=2,Me=3,sr=4,_n=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;zs(e,r,{name:n,index:i,group:o,on:Os,tween:Es,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:pi})}function zn(e,n){var r=vt(e,n);if(r.state>pi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Me)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function zs(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=En(a,0,r.time);function a(l){r.state=ar,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var f,h,d,p;if(r.state!==ar)return c();for(f in i)if(p=i[f],p.name===r.name){if(p.state===Me)return or(s);p.state===sr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[f]):+fyn&&i.state<_n,i.state=Te,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete r[s]}a&&delete e.__transition}}function Ns(e){return this.each(function(){Pe(this,e)})}function Rs(e,n){var r,i;return function(){var o=Ct(this,e),a=o.tween;if(a!==r){i=r=a;for(var s=0,u=i.length;s=0&&(n=n.slice(0,r)),!n||n==="start"})}function uu(e,n,r){var i,o,a=su(n)?zn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function lu(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(uu(r,e,n))}function cu(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function fu(){return this.on("end.remove",cu(this._id))}function hu(e){var n=this._name,r=this._id;typeof e!="function"&&(e=Tn(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function Iu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Rn=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Rn;return e.__zoom}function Je(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function $u(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Lu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ur(){return this.__zoom||Rn}function Fu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function qu(){var e=$u,n=Lu,r=Hu,i=Fu,o=Uu,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Ao,l=ve("start","zoom","end"),f,h,d,p=500,y=150,x=0,m=10;function g(S){S.property("__zoom",ur).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",N).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(S,j,E,C){var O=S.selection?S.selection():S;O.property("__zoom",ur),S!==O?v(S,j,E,C):O.interrupt().each(function(){A(this,arguments).event(C).start().zoom(null,typeof j=="function"?j.apply(this,arguments):j).end()})},g.scaleBy=function(S,j,E,C){g.scaleTo(S,function(){var O=this.__zoom.k,I=typeof j=="function"?j.apply(this,arguments):j;return O*I},E,C)},g.scaleTo=function(S,j,E,C){g.transform(S,function(){var O=n.apply(this,arguments),I=this.__zoom,L=E==null?_(O):typeof E=="function"?E.apply(this,arguments):E,H=I.invert(L),F=typeof j=="function"?j.apply(this,arguments):j;return r(w(k(I,F),L,H),O,s)},E,C)},g.translateBy=function(S,j,E,C){g.transform(S,function(){return r(this.__zoom.translate(typeof j=="function"?j.apply(this,arguments):j,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,C)},g.translateTo=function(S,j,E,C,O){g.transform(S,function(){var I=n.apply(this,arguments),L=this.__zoom,H=C==null?_(I):typeof C=="function"?C.apply(this,arguments):C;return r(Rn.translate(H[0],H[1]).scale(L.k).translate(typeof j=="function"?-j.apply(this,arguments):-j,typeof E=="function"?-E.apply(this,arguments):-E),I,s)},C,O)};function k(S,j){return j=Math.max(a[0],Math.min(a[1],j)),j===S.k?S:new Et(j,S.x,S.y)}function w(S,j,E){var C=j[0]-E[0]*S.k,O=j[1]-E[1]*S.k;return C===S.x&&O===S.y?S:new Et(S.k,C,O)}function _(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function v(S,j,E,C){S.on("start.zoom",function(){A(this,arguments).event(C).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(C).end()}).tween("zoom",function(){var O=this,I=arguments,L=A(O,I).event(C),H=n.apply(O,I),F=E==null?_(H):typeof E=="function"?E.apply(O,I):E,G=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),V=O.__zoom,X=typeof j=="function"?j.apply(O,I):j,tt=c(V.invert(F).concat(G/V.k),X.invert(F).concat(G/X.k));return function(Z){if(Z===1)Z=X;else{var st=tt(Z),et=G/st[2];Z=new Et(et,F[0]-st[0]*et,F[1]-st[1]*et)}L.zoom(null,Z)}})}function A(S,j,E){return!E&&S.__zooming||new M(S,j)}function M(S,j){this.that=S,this.args=j,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,j),this.taps=0}M.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,j){return this.mouse&&S!=="mouse"&&(this.mouse[1]=j.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=j.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=j.invert(this.touch1[0])),this.that.__zoom=j,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var j=pt(this.that).datum();l.call(S,this.that,new Iu(S,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),j)}};function T(S,...j){if(!e.apply(this,arguments))return;var E=A(this,j).event(S),C=this.__zoom,O=Math.max(a[0],Math.min(a[1],C.k*Math.pow(2,i.apply(this,arguments)))),I=xt(S);if(E.wheel)(E.mouse[0][0]!==I[0]||E.mouse[0][1]!==I[1])&&(E.mouse[1]=C.invert(E.mouse[0]=I)),clearTimeout(E.wheel);else{if(C.k===O)return;E.mouse=[I,C.invert(I)],Pe(this),E.start()}Jt(S),E.wheel=setTimeout(L,y),E.zoom("mouse",r(w(k(C,O),E.mouse[0],E.mouse[1]),E.extent,s));function L(){E.wheel=null,E.end()}}function R(S,...j){if(d||!e.apply(this,arguments))return;var E=S.currentTarget,C=A(this,j,!0).event(S),O=pt(S.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),I=xt(S,E),L=S.clientX,H=S.clientY;ci(S.view),Je(S),C.mouse=[I,this.__zoom.invert(I)],Pe(this),C.start();function F(V){if(Jt(V),!C.moved){var X=V.clientX-L,tt=V.clientY-H;C.moved=X*X+tt*tt>x}C.event(V).zoom("mouse",r(w(C.that.__zoom,C.mouse[0]=xt(V,E),C.mouse[1]),C.extent,s))}function G(V){O.on("mousemove.zoom mouseup.zoom",null),fi(V.view,C.moved),Jt(V),C.event(V).end()}}function P(S,...j){if(e.apply(this,arguments)){var E=this.__zoom,C=xt(S.changedTouches?S.changedTouches[0]:S,this),O=E.invert(C),I=E.k*(S.shiftKey?.5:2),L=r(w(k(E,I),C,O),n.apply(this,j),s);Jt(S),u>0?pt(this).transition().duration(u).call(v,L,C,S):pt(this).call(g.transform,L,C,S)}}function N(S,...j){if(e.apply(this,arguments)){var E=S.touches,C=E.length,O=A(this,j,S.changedTouches.length===C).event(S),I,L,H,F;for(Je(S),L=0;L=n||M<0||h&&T>=a}function g(){var A=tn();if(m(A))return k(A);u=setTimeout(g,x(A))}function k(A){return u=void 0,d&&i?p(A):(i=o=void 0,s)}function w(){u!==void 0&&clearTimeout(u),l=0,i=c=o=u=void 0}function _(){return u===void 0?s:k(tn())}function v(){var A=tn(),M=m(A);if(i=arguments,o=this,c=A,M){if(u===void 0)return y(c);if(h)return clearTimeout(u),u=setTimeout(g,n),p(c)}return u===void 0&&(u=setTimeout(g,n)),s}return v.cancel=w,v.flush=_,v}var gl="Expected a function";function yl(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(gl);return Ie(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),xi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},bi=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},wi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),mn=new bi,hr=(function(){function e(n,r){r===void 0&&(r=mn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=vn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=wi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],c=Array.isArray(u),l=c?"array":typeof u,f=!c&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(f){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),c||(r[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var m=Math.trunc(u/c),g=u-m*c,k=Math.min(g/i._duration,1);return k===0&&u===i._duration?1:k},h=f(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/c)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=c*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,x=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);r=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return q(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(jl,arguments)},brighten:function(){return this._applyModification(Dl,arguments)},darken:function(){return this._applyModification(Il,arguments)},desaturate:function(){return this._applyModification(zl,arguments)},saturate:function(){return this._applyModification(Nl,arguments)},greyscale:function(){return this._applyModification(Rl,arguments)},spin:function(){return this._applyModification($l,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Ul,arguments)},complement:function(){return this._applyCombination(Ll,arguments)},monochromatic:function(){return this._applyCombination(Hl,arguments)},splitcomplement:function(){return this._applyCombination(Fl,arguments)},triad:function(){return this._applyCombination(vr,[3])},tetrad:function(){return this._applyCombination(vr,[4])}};q.fromRatio=function(e,n){if($e(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=le(e[i]));e=r}return q(e,n)};function Ml(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=Bl(e)),$e(e)=="object"&&(Mt(e.r)&&Mt(e.g)&&Mt(e.b)?(n=Tl(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Mt(e.h)&&Mt(e.s)&&Mt(e.v)?(i=le(e.s),o=le(e.v),n=Ol(e.h,i,o),s=!0,u="hsv"):Mt(e.h)&&Mt(e.s)&&Mt(e.l)&&(i=le(e.s),a=le(e.l),n=Pl(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=ki(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function Tl(e,n,r){return{r:Q(e,255)*255,g:Q(n,255)*255,b:Q(r,255)*255}}function pr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var c=i-o;switch(s=u>.5?c/(2-i-o):c/(i+o),i){case e:a=(n-r)/c+(n1&&(h-=1),h<1/6?l+(f-l)*6*h:h<1/2?f:h<2/3?l+(f-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,c=2*r-u;i=s(c,u,e+1/3),o=s(c,u,e),a=s(c,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function gr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,c=i-o;if(s=i===0?0:c/i,i==o)a=0;else{switch(i){case e:a=(n-r)/c+(n>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push(q(i));return a}function Hl(e,n){n=n||6;for(var r=q(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push(q({h:i,s:o,v:a})),a=(a+u)%1;return s}q.mix=function(e,n,r){r=r===0?0:r||50;var i=q(e).toRgb(),o=q(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return q(s)};q.readability=function(e,n){var r=q(e),i=q(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};q.isReadable=function(e,n,r){var i=q.readability(e,n),o,a;switch(a=!1,o=Xl(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};q.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,c;r=r||{},s=r.includeFallbackColors,u=r.level,c=r.size;for(var l=0;lo&&(o=a,i=q(n[l]));return q.isReadable(e,i,{level:u,size:c})||!s?i:(r.includeFallbackColors=!1,q.mostReadable(e,["#fff","#000"],r))};var xn=q.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},ql=q.hexNames=Wl(xn);function Wl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function ki(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Q(e,n){Gl(e)&&(e="100%");var r=Vl(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function Be(e){return Math.min(1,Math.max(0,e))}function ct(e){return parseInt(e,16)}function Gl(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Vl(e){return typeof e=="string"&&e.indexOf("%")!=-1}function _t(e){return e.length==1?"0"+e:""+e}function le(e){return e<=1&&(e=e*100+"%"),e}function Ci(e){return Math.round(parseFloat(e)*255).toString(16)}function mr(e){return ct(e)/255}var yt=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function Mt(e){return!!yt.CSS_UNIT.exec(e)}function Bl(e){e=e.replace(Al,"").replace(Sl,"").toLowerCase();var n=!1;if(xn[e])e=xn[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=yt.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=yt.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=yt.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=yt.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=yt.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=yt.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=yt.hex8.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),a:mr(r[4]),format:n?"name":"hex8"}:(r=yt.hex6.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),format:n?"name":"hex"}:(r=yt.hex4.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),a:mr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=yt.hex3.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Xl(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function bn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r0&&arguments[0]!==void 0?arguments[0]:6;Kl(this,e),xr(this,Lt,void 0),xr(this,Tt,void 0),br(Tt,this,n),this.reset()}return Jl(e,[{key:"reset",value:function(){br(Lt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(ht(Lt,this).length>=Math.pow(2,24-ht(Tt,this)))return null;var i=ht(Lt,this).length,o=wr(i,ht(Tt,this)),a=sc(i+(o<<24-ht(Tt,this)));return ht(Lt,this).push(r),a}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?uc(r):Si.apply(void 0,nc(r));if(!i)return null;var o=i&Math.pow(2,24-ht(Tt,this))-1,a=i>>24-ht(Tt,this)&Math.pow(2,ht(Tt,this))-1;return wr(o,ht(Tt,this))!==a||o>=ht(Lt,this).length?null:ht(Lt,this)[o]}}])})(),me,J,Mi,Ti,$t,kr,Pi,Oi,en,Oe,ce,Ei,Dn,wn,kn,Le={},Fe=[],cc=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Xe=Array.isArray;function bt(e,n){for(var r in n)e[r]=n[r];return e}function In(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function fc(e,n,r){var i,o,a,s={};for(a in n)a=="key"?i=n[a]:a=="ref"?o=n[a]:s[a]=n[a];if(arguments.length>2&&(s.children=arguments.length>3?me.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return fe(e,s,i,o,null)}function fe(e,n,r,i,o){var a={type:e,props:n,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++Mi,__i:-1,__u:0};return o==null&&J.vnode!=null&&J.vnode(a),a}function Ye(e){return e.children}function Ee(e,n){this.props=e,this.context=n}function Yt(e,n){if(n==null)return e.__?Yt(e.__,e.__i+1):null;for(var r;nn&&$t.sort(Oi),e=$t.shift(),n=$t.length,hc(e)}finally{$t.length=Ue.__r=0}}function Ni(e,n,r,i,o,a,s,u,c,l,f){var h,d,p,y,x,m,g,k=i&&i.__k||Fe,w=n.length;for(c=dc(r,n,k,c,w),h=0;h0?s=e.__k[a]=fe(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,c=a+d,s.__=e,s.__b=e.__b+1,u=null,(l=s.__i=pc(s,r,c,h))!=-1&&(h--,(u=r[l])&&(u.__u|=2)),u==null||u.__v==null?(l==-1&&(o>f?d--:oc?d--:d++,s.__u|=4))):e.__k[a]=null;if(h)for(a=0;a(f?1:0)){for(o=r-1,a=r+1;o>=0||a=0?o--:a++])!=null&&(2&l.__u)==0&&u==l.key&&c==l.type)return s}return-1}function Ar(e,n,r){n[0]=="-"?e.setProperty(n,r??""):e[n]=r==null?"":typeof r!="number"||cc.test(n)?r:r+"px"}function ke(e,n,r,i,o){var a,s;t:if(n=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof i=="string"&&(e.style.cssText=i=""),i)for(n in i)r&&n in r||Ar(e.style,n,"");if(r)for(n in r)i&&r[n]==i[n]||Ar(e.style,n,r[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Ei,"$1")),s=n.toLowerCase(),n=s in e||n=="onFocusOut"||n=="onFocusIn"?s.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=r,r?i?r[ce]=i[ce]:(r[ce]=Dn,e.addEventListener(n,a?kn:wn,a)):e.removeEventListener(n,a?kn:wn,a);else{if(o=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=r??"";break t}catch{}typeof r=="function"||(r==null||r===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&r==1?"":r))}}function Sr(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n[Oe]==null)n[Oe]=Dn++;else if(n[Oe]0?e:Xe(e)?e.map(Ii):e.constructor!==void 0?null:bt({},e)}function gc(e,n,r,i,o,a,s,u,c){var l,f,h,d,p,y,x,m=r.props||Le,g=n.props,k=n.type;if(k=="svg"?o="http://www.w3.org/2000/svg":k=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l2&&(u.children=arguments.length>3?me.call(arguments,2):r),fe(e.type,u,i||e.key,o||e.ref,null)}me=Fe.slice,J={__e:function(e,n,r,i){for(var o,a,s;n=n.__;)if((o=n.__c)&&!o.__)try{if((a=o.constructor)&&a.getDerivedStateFromError!=null&&(o.setState(a.getDerivedStateFromError(e)),s=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,i||{}),s=o.__d),s)return o.__E=o}catch(u){e=u}throw e}},Mi=0,Ti=function(e){return e!=null&&e.constructor===void 0},Ee.prototype.setState=function(e,n){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=bt({},this.state),typeof e=="function"&&(e=e(bt({},r),this.props)),e&&bt(r,e),e!=null&&this.__v&&(n&&this._sb.push(n),Cr(this))},Ee.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Cr(this))},Ee.prototype.render=Ye,$t=[],Pi=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Oi=function(e,n){return e.__v.__b-n.__v.__b},Ue.__r=0,en=Math.random().toString(8),Oe="__d"+en,ce="__a"+en,Ei=/(PointerCapture)$|Capture$/i,Dn=0,wn=Sr(!1),kn=Sr(!0);function Mr(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var Oc=`.float-tooltip-kap { + */const vo=no("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function mo(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var Qn=180/Math.PI,fn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(e,n,r,i,o,a){var s,u,c;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(c=e*r+n*i)&&(r-=e*c,i-=n*c),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,c/=u),e*i180?f+=360:f-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:Ft(l,f)})):f&&h.push(o(h)+"rotate("+f+i)}function u(l,f,h,d){l!==f?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:Ft(l,f)}):f&&h.push(o(h)+"skewX("+f+i)}function c(l,f,h,d,p,y){if(l!==h||f!==d){var m=p.push(o(p)+"scale(",null,",",null,")");y.push({i:m-4,x:Ft(l,h)},{i:m-2,x:Ft(f,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,f){var h=[],d=[];return l=e(l),f=e(f),a(l.translateX,l.translateY,f.translateX,f.translateY,h,d),s(l.rotate,f.rotate,h,d),u(l.skewX,f.skewX,h,d),c(l.scaleX,l.scaleY,f.scaleX,f.scaleY,h,d),l=f=null,function(p){for(var y=-1,m=d.length,v;++ye.length)&&(n=e.length);for(var r=0,i=new Array(n);ra,methodNames:i=[],initPropNames:o=[]}={}){return W.forwardRef((a,s)=>{const u=W.useRef(),c=W.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);er(()=>{c(r(u.current))},W.useLayoutEffect),er(()=>c._destructor instanceof Function?c._destructor:void 0);const l=W.useCallback((h,...d)=>c[h]instanceof Function?c[h](...d):void 0,[c]),f=W.useRef({});return Object.keys($o(a,[...i,...o])).filter(h=>f.current[h]!==a[h]).forEach(h=>l(h,a[h])),f.current=a,W.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),ro.createElement(n,{ref:u})})}function er(e,n=W.useEffect){const r=W.useRef(),i=W.useRef(!1),o=W.useRef(!1),[a,s]=W.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var dn="http://www.w3.org/1999/xhtml";const nr={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function We(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),nr.hasOwnProperty(n)?{space:nr[n],local:e}:e}function Fo(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===dn&&n.documentElement.namespaceURI===dn?n.createElement(e):n.createElementNS(r,e)}}function Uo(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Qr(e){var n=We(e);return(n.local?Uo:Fo)(n)}function Ho(){}function Tn(e){return e==null?Ho:function(){return this.querySelector(e)}}function qo(e){typeof e!="function"&&(e=Tn(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o=M&&(M=k+1);!(_=v[M])&&++M=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function pa(e){e||(e=ga);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;an?1:e>=n?0:NaN}function ya(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _a(){return Array.from(this)}function va(){for(var e=this._groups,n=0,r=e.length;n1?this.each((n==null?Pa:typeof n=="function"?Ea:Oa)(e,n,r??"")):Bt(this.node(),e)}function Bt(e,n){return e.style.getPropertyValue(n)||ri(e).getComputedStyle(e,null).getPropertyValue(n)}function Na(e){return function(){delete this[e]}}function Ra(e,n){return function(){this[e]=n}}function ja(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Da(e,n){return arguments.length>1?this.each((n==null?Na:typeof n=="function"?ja:Ra)(e,n)):this.node()[e]}function ii(e){return e.trim().split(/^|\s+/)}function Pn(e){return e.classList||new oi(e)}function oi(e){this._node=e,this._names=ii(e.getAttribute("class")||"")}oi.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ai(e,n){for(var r=Pn(e),i=-1,o=n.length;++i=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function cs(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r{}};function ve(){for(var e=0,n=arguments.length,r={},i;e=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}Se.prototype=ve.prototype={constructor:Se,on:function(e,n){var r=this._,i=xs(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a0)for(var r=new Array(o),i=0,o,a;i()=>e;function pn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:c,dy:l,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:f}})}pn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function ks(e){return!e.ctrlKey&&!e.button}function Cs(){return this.parentNode}function As(e,n){return n??{x:e.x,y:e.y}}function Ss(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ms(){var e=ks,n=Cs,r=As,i=Ss,o={},a=ve("start","drag","end"),s=0,u,c,l,f,h=0;function d(b){b.on("mousedown.drag",p).filter(i).on("touchstart.drag",v).on("touchmove.drag",g,ws).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(b,_){if(!(f||!e.call(this,b,_))){var w=M(this,n.call(this,b,_),b,_,"mouse");w&&(pt(b.view).on("mousemove.drag",y,pe).on("mouseup.drag",m,pe),ci(b.view),Qe(b),l=!1,u=b.clientX,c=b.clientY,w("start",b))}}function y(b){if(Vt(b),!l){var _=b.clientX-u,w=b.clientY-c;l=_*_+w*w>h}o.mouse("drag",b)}function m(b){pt(b.view).on("mousemove.drag mouseup.drag",null),fi(b.view,l),Vt(b),o.mouse("end",b)}function v(b,_){if(e.call(this,b,_)){var w=b.changedTouches,A=n.call(this,b,_),T=w.length,R,P;for(R=0;R=0&&e._call.call(void 0,n),e=e._next;--Xt}function ir(){Ht=(Re=ge.now())+Ge,Xt=ae=0;try{Ps()}finally{Xt=0,Es(),Ht=0}}function Os(){var e=ge.now(),n=e-Re;n>hi&&(Ge-=n,Re=e)}function Es(){for(var e,n=Ne,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ne=r);se=e,gn(i)}function gn(e){if(!Xt){ae&&(ae=clearTimeout(ae));var n=e-Ht;n>24?(e<1/0&&(ae=setTimeout(ir,e-ge.now()-Ge)),Qt&&(Qt=clearInterval(Qt))):(Qt||(Re=ge.now(),Qt=setInterval(Os,hi)),Xt=1,di(ir))}}function or(e,n,r){var i=new je;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var zs=ve("start","end","cancel","interrupt"),Ns=[],pi=0,ar=1,yn=2,Me=3,sr=4,_n=5,Te=6;function Ve(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;Rs(e,r,{name:n,index:i,group:o,on:zs,tween:Ns,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:pi})}function zn(e,n){var r=vt(e,n);if(r.state>pi)throw new Error("too late; already scheduled");return r}function Ct(e,n){var r=vt(e,n);if(r.state>Me)throw new Error("too late; already running");return r}function vt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function Rs(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=En(a,0,r.time);function a(l){r.state=ar,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var f,h,d,p;if(r.state!==ar)return c();for(f in i)if(p=i[f],p.name===r.name){if(p.state===Me)return or(s);p.state===sr?(p.state=Te,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[f]):+fyn&&i.state<_n,i.state=Te,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete r[s]}a&&delete e.__transition}}function js(e){return this.each(function(){Pe(this,e)})}function Ds(e,n){var r,i;return function(){var o=Ct(this,e),a=o.tween;if(a!==r){i=r=a;for(var s=0,u=i.length;s=0&&(n=n.slice(0,r)),!n||n==="start"})}function cu(e,n,r){var i,o,a=lu(n)?zn:Ct;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function fu(e,n){var r=this._id;return arguments.length<2?vt(this.node(),r).on.on(e):this.each(cu(r,e,n))}function hu(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function du(){return this.on("end.remove",hu(this._id))}function pu(e){var n=this._name,r=this._id;typeof e!="function"&&(e=Tn(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s()=>e;function Lu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Et(e,n,r){this.k=e,this.x=n,this.y=r}Et.prototype={constructor:Et,scale:function(e){return e===1?this:new Et(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Et(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Rn=new Et(1,0,0);mt.prototype=Et.prototype;function mt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Rn;return e.__zoom}function Je(e){e.stopImmediatePropagation()}function Jt(e){e.preventDefault(),e.stopImmediatePropagation()}function Fu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Uu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ur(){return this.__zoom||Rn}function Hu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function qu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Wu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function Gu(){var e=Fu,n=Uu,r=Wu,i=Hu,o=qu,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,c=Mo,l=ve("start","zoom","end"),f,h,d,p=500,y=150,m=0,v=10;function g(S){S.property("__zoom",ur).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",N).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(S,j,E,C){var O=S.selection?S.selection():S;O.property("__zoom",ur),S!==O?_(S,j,E,C):O.interrupt().each(function(){w(this,arguments).event(C).start().zoom(null,typeof j=="function"?j.apply(this,arguments):j).end()})},g.scaleBy=function(S,j,E,C){g.scaleTo(S,function(){var O=this.__zoom.k,I=typeof j=="function"?j.apply(this,arguments):j;return O*I},E,C)},g.scaleTo=function(S,j,E,C){g.transform(S,function(){var O=n.apply(this,arguments),I=this.__zoom,L=E==null?b(O):typeof E=="function"?E.apply(this,arguments):E,H=I.invert(L),F=typeof j=="function"?j.apply(this,arguments):j;return r(M(k(I,F),L,H),O,s)},E,C)},g.translateBy=function(S,j,E,C){g.transform(S,function(){return r(this.__zoom.translate(typeof j=="function"?j.apply(this,arguments):j,typeof E=="function"?E.apply(this,arguments):E),n.apply(this,arguments),s)},null,C)},g.translateTo=function(S,j,E,C,O){g.transform(S,function(){var I=n.apply(this,arguments),L=this.__zoom,H=C==null?b(I):typeof C=="function"?C.apply(this,arguments):C;return r(Rn.translate(H[0],H[1]).scale(L.k).translate(typeof j=="function"?-j.apply(this,arguments):-j,typeof E=="function"?-E.apply(this,arguments):-E),I,s)},C,O)};function k(S,j){return j=Math.max(a[0],Math.min(a[1],j)),j===S.k?S:new Et(j,S.x,S.y)}function M(S,j,E){var C=j[0]-E[0]*S.k,O=j[1]-E[1]*S.k;return C===S.x&&O===S.y?S:new Et(S.k,C,O)}function b(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function _(S,j,E,C){S.on("start.zoom",function(){w(this,arguments).event(C).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(C).end()}).tween("zoom",function(){var O=this,I=arguments,L=w(O,I).event(C),H=n.apply(O,I),F=E==null?b(H):typeof E=="function"?E.apply(O,I):E,G=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),V=O.__zoom,X=typeof j=="function"?j.apply(O,I):j,tt=c(V.invert(F).concat(G/V.k),X.invert(F).concat(G/X.k));return function(Z){if(Z===1)Z=X;else{var st=tt(Z),et=G/st[2];Z=new Et(et,F[0]-st[0]*et,F[1]-st[1]*et)}L.zoom(null,Z)}})}function w(S,j,E){return!E&&S.__zooming||new A(S,j)}function A(S,j){this.that=S,this.args=j,this.active=0,this.sourceEvent=null,this.extent=n.apply(S,j),this.taps=0}A.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,j){return this.mouse&&S!=="mouse"&&(this.mouse[1]=j.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=j.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=j.invert(this.touch1[0])),this.that.__zoom=j,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var j=pt(this.that).datum();l.call(S,this.that,new Lu(S,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),j)}};function T(S,...j){if(!e.apply(this,arguments))return;var E=w(this,j).event(S),C=this.__zoom,O=Math.max(a[0],Math.min(a[1],C.k*Math.pow(2,i.apply(this,arguments)))),I=xt(S);if(E.wheel)(E.mouse[0][0]!==I[0]||E.mouse[0][1]!==I[1])&&(E.mouse[1]=C.invert(E.mouse[0]=I)),clearTimeout(E.wheel);else{if(C.k===O)return;E.mouse=[I,C.invert(I)],Pe(this),E.start()}Jt(S),E.wheel=setTimeout(L,y),E.zoom("mouse",r(M(k(C,O),E.mouse[0],E.mouse[1]),E.extent,s));function L(){E.wheel=null,E.end()}}function R(S,...j){if(d||!e.apply(this,arguments))return;var E=S.currentTarget,C=w(this,j,!0).event(S),O=pt(S.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),I=xt(S,E),L=S.clientX,H=S.clientY;ci(S.view),Je(S),C.mouse=[I,this.__zoom.invert(I)],Pe(this),C.start();function F(V){if(Jt(V),!C.moved){var X=V.clientX-L,tt=V.clientY-H;C.moved=X*X+tt*tt>m}C.event(V).zoom("mouse",r(M(C.that.__zoom,C.mouse[0]=xt(V,E),C.mouse[1]),C.extent,s))}function G(V){O.on("mousemove.zoom mouseup.zoom",null),fi(V.view,C.moved),Jt(V),C.event(V).end()}}function P(S,...j){if(e.apply(this,arguments)){var E=this.__zoom,C=xt(S.changedTouches?S.changedTouches[0]:S,this),O=E.invert(C),I=E.k*(S.shiftKey?.5:2),L=r(M(k(E,I),C,O),n.apply(this,j),s);Jt(S),u>0?pt(this).transition().duration(u).call(_,L,C,S):pt(this).call(g.transform,L,C,S)}}function N(S,...j){if(e.apply(this,arguments)){var E=S.touches,C=E.length,O=w(this,j,S.changedTouches.length===C).event(S),I,L,H,F;for(Je(S),L=0;L=n||A<0||h&&T>=a}function g(){var w=tn();if(v(w))return k(w);u=setTimeout(g,m(w))}function k(w){return u=void 0,d&&i?p(w):(i=o=void 0,s)}function M(){u!==void 0&&clearTimeout(u),l=0,i=c=o=u=void 0}function b(){return u===void 0?s:k(tn())}function _(){var w=tn(),A=v(w);if(i=arguments,o=this,c=w,A){if(u===void 0)return y(c);if(h)return clearTimeout(u),u=setTimeout(g,n),p(c)}return u===void 0&&(u=setTimeout(g,n)),s}return _.cancel=M,_.flush=b,_}var _l="Expected a function";function vl(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(_l);return Ie(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),xi(e,n,{leading:i,maxWait:n,trailing:o})}var Ut=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ut.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Ut.Bounce.In(e*2)*.5:Ut.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ue=function(){return performance.now()},bi=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ue()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},wi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),mn=new bi,hr=(function(){function e(n,r){r===void 0&&(r=mn),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ut.Linear.None,this._interpolationFunction=vn.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=wi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ue()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],c=Array.isArray(u),l=c?"array":typeof u,f=!c&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(f){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p"u"||a)&&(r[s]=u),c||(r[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ue()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ue()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;ns)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,nl)return 1;var v=Math.trunc(u/c),g=u-v*c,k=Math.min(g/i._duration,1);return k===0&&u===i._duration?1:k},h=f(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/c)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=c*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,m=this._chainedTweens.length;ye.length)&&(n=e.length);for(var r=0,i=Array(n);r=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return q(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(Il,arguments)},brighten:function(){return this._applyModification($l,arguments)},darken:function(){return this._applyModification(Ll,arguments)},desaturate:function(){return this._applyModification(Rl,arguments)},saturate:function(){return this._applyModification(jl,arguments)},greyscale:function(){return this._applyModification(Dl,arguments)},spin:function(){return this._applyModification(Fl,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(ql,arguments)},complement:function(){return this._applyCombination(Ul,arguments)},monochromatic:function(){return this._applyCombination(Wl,arguments)},splitcomplement:function(){return this._applyCombination(Hl,arguments)},triad:function(){return this._applyCombination(vr,[3])},tetrad:function(){return this._applyCombination(vr,[4])}};q.fromRatio=function(e,n){if($e(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=le(e[i]));e=r}return q(e,n)};function Pl(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=Yl(e)),$e(e)=="object"&&(Mt(e.r)&&Mt(e.g)&&Mt(e.b)?(n=Ol(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Mt(e.h)&&Mt(e.s)&&Mt(e.v)?(i=le(e.s),o=le(e.v),n=zl(e.h,i,o),s=!0,u="hsv"):Mt(e.h)&&Mt(e.s)&&Mt(e.l)&&(i=le(e.s),a=le(e.l),n=El(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=ki(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function Ol(e,n,r){return{r:Q(e,255)*255,g:Q(n,255)*255,b:Q(r,255)*255}}function pr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var c=i-o;switch(s=u>.5?c/(2-i-o):c/(i+o),i){case e:a=(n-r)/c+(n1&&(h-=1),h<1/6?l+(f-l)*6*h:h<1/2?f:h<2/3?l+(f-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,c=2*r-u;i=s(c,u,e+1/3),o=s(c,u,e),a=s(c,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function gr(e,n,r){e=Q(e,255),n=Q(n,255),r=Q(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,c=i-o;if(s=i===0?0:c/i,i==o)a=0;else{switch(i){case e:a=(n-r)/c+(n>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push(q(i));return a}function Wl(e,n){n=n||6;for(var r=q(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push(q({h:i,s:o,v:a})),a=(a+u)%1;return s}q.mix=function(e,n,r){r=r===0?0:r||50;var i=q(e).toRgb(),o=q(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return q(s)};q.readability=function(e,n){var r=q(e),i=q(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};q.isReadable=function(e,n,r){var i=q.readability(e,n),o,a;switch(a=!1,o=Zl(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};q.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,c;r=r||{},s=r.includeFallbackColors,u=r.level,c=r.size;for(var l=0;lo&&(o=a,i=q(n[l]));return q.isReadable(e,i,{level:u,size:c})||!s?i:(r.includeFallbackColors=!1,q.mostReadable(e,["#fff","#000"],r))};var xn=q.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Gl=q.hexNames=Vl(xn);function Vl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function ki(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Q(e,n){Bl(e)&&(e="100%");var r=Xl(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function Be(e){return Math.min(1,Math.max(0,e))}function ct(e){return parseInt(e,16)}function Bl(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Xl(e){return typeof e=="string"&&e.indexOf("%")!=-1}function _t(e){return e.length==1?"0"+e:""+e}function le(e){return e<=1&&(e=e*100+"%"),e}function Ci(e){return Math.round(parseFloat(e)*255).toString(16)}function mr(e){return ct(e)/255}var yt=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function Mt(e){return!!yt.CSS_UNIT.exec(e)}function Yl(e){e=e.replace(Ml,"").replace(Tl,"").toLowerCase();var n=!1;if(xn[e])e=xn[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=yt.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=yt.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=yt.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=yt.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=yt.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=yt.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=yt.hex8.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),a:mr(r[4]),format:n?"name":"hex8"}:(r=yt.hex6.exec(e))?{r:ct(r[1]),g:ct(r[2]),b:ct(r[3]),format:n?"name":"hex"}:(r=yt.hex4.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),a:mr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=yt.hex3.exec(e))?{r:ct(r[1]+""+r[1]),g:ct(r[2]+""+r[2]),b:ct(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Zl(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function bn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r0&&arguments[0]!==void 0?arguments[0]:6;Jl(this,e),xr(this,Lt,void 0),xr(this,Tt,void 0),br(Tt,this,n),this.reset()}return ec(e,[{key:"reset",value:function(){br(Lt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(ht(Lt,this).length>=Math.pow(2,24-ht(Tt,this)))return null;var i=ht(Lt,this).length,o=wr(i,ht(Tt,this)),a=lc(i+(o<<24-ht(Tt,this)));return ht(Lt,this).push(r),a}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?cc(r):Si.apply(void 0,ic(r));if(!i)return null;var o=i&Math.pow(2,24-ht(Tt,this))-1,a=i>>24-ht(Tt,this)&Math.pow(2,ht(Tt,this))-1;return wr(o,ht(Tt,this))!==a||o>=ht(Lt,this).length?null:ht(Lt,this)[o]}}])})(),me,J,Mi,Ti,$t,kr,Pi,Oi,en,Oe,ce,Ei,Dn,wn,kn,Le={},Fe=[],hc=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Xe=Array.isArray;function bt(e,n){for(var r in n)e[r]=n[r];return e}function In(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function dc(e,n,r){var i,o,a,s={};for(a in n)a=="key"?i=n[a]:a=="ref"?o=n[a]:s[a]=n[a];if(arguments.length>2&&(s.children=arguments.length>3?me.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return fe(e,s,i,o,null)}function fe(e,n,r,i,o){var a={type:e,props:n,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++Mi,__i:-1,__u:0};return o==null&&J.vnode!=null&&J.vnode(a),a}function Ye(e){return e.children}function Ee(e,n){this.props=e,this.context=n}function Yt(e,n){if(n==null)return e.__?Yt(e.__,e.__i+1):null;for(var r;nn&&$t.sort(Oi),e=$t.shift(),n=$t.length,pc(e)}finally{$t.length=Ue.__r=0}}function Ni(e,n,r,i,o,a,s,u,c,l,f){var h,d,p,y,m,v,g,k=i&&i.__k||Fe,M=n.length;for(c=gc(r,n,k,c,M),h=0;h0?s=e.__k[a]=fe(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,c=a+d,s.__=e,s.__b=e.__b+1,u=null,(l=s.__i=yc(s,r,c,h))!=-1&&(h--,(u=r[l])&&(u.__u|=2)),u==null||u.__v==null?(l==-1&&(o>f?d--:oc?d--:d++,s.__u|=4))):e.__k[a]=null;if(h)for(a=0;a(f?1:0)){for(o=r-1,a=r+1;o>=0||a=0?o--:a++])!=null&&(2&l.__u)==0&&u==l.key&&c==l.type)return s}return-1}function Ar(e,n,r){n[0]=="-"?e.setProperty(n,r??""):e[n]=r==null?"":typeof r!="number"||hc.test(n)?r:r+"px"}function ke(e,n,r,i,o){var a,s;t:if(n=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof i=="string"&&(e.style.cssText=i=""),i)for(n in i)r&&n in r||Ar(e.style,n,"");if(r)for(n in r)i&&r[n]==i[n]||Ar(e.style,n,r[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(Ei,"$1")),s=n.toLowerCase(),n=s in e||n=="onFocusOut"||n=="onFocusIn"?s.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=r,r?i?r[ce]=i[ce]:(r[ce]=Dn,e.addEventListener(n,a?kn:wn,a)):e.removeEventListener(n,a?kn:wn,a);else{if(o=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=r??"";break t}catch{}typeof r=="function"||(r==null||r===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&r==1?"":r))}}function Sr(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n[Oe]==null)n[Oe]=Dn++;else if(n[Oe]0?e:Xe(e)?e.map(Ii):e.constructor!==void 0?null:bt({},e)}function _c(e,n,r,i,o,a,s,u,c){var l,f,h,d,p,y,m,v=r.props||Le,g=n.props,k=n.type;if(k=="svg"?o="http://www.w3.org/2000/svg":k=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l2&&(u.children=arguments.length>3?me.call(arguments,2):r),fe(e.type,u,i||e.key,o||e.ref,null)}me=Fe.slice,J={__e:function(e,n,r,i){for(var o,a,s;n=n.__;)if((o=n.__c)&&!o.__)try{if((a=o.constructor)&&a.getDerivedStateFromError!=null&&(o.setState(a.getDerivedStateFromError(e)),s=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,i||{}),s=o.__d),s)return o.__E=o}catch(u){e=u}throw e}},Mi=0,Ti=function(e){return e!=null&&e.constructor===void 0},Ee.prototype.setState=function(e,n){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=bt({},this.state),typeof e=="function"&&(e=e(bt({},r),this.props)),e&&bt(r,e),e!=null&&this.__v&&(n&&this._sb.push(n),Cr(this))},Ee.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Cr(this))},Ee.prototype.render=Ye,$t=[],Pi=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Oi=function(e,n){return e.__v.__b-n.__v.__b},Ue.__r=0,en=Math.random().toString(8),Oe="__d"+en,ce="__a"+en,Ei=/(PointerCapture)$|Capture$/i,Dn=0,wn=Sr(!1),kn=Sr(!0);function Mr(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var zc=`.float-tooltip-kap { position: absolute; width: max-content; /* prevent shrinking near right edge */ max-width: max(50%, 150px); @@ -19,9 +19,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho background: rgba(0,0,0,0.6); pointer-events: none; } -`;Pc(Oc);var Ec=jn({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.style,a=o===void 0?{}:o,s=!!n&&He(n)==="object"&&!!n.node&&typeof n.node=="function",u=pt(s?n.node():n);u.style("position")==="static"&&u.style("position","relative"),r.tooltipEl=u.append("div").attr("class","float-tooltip-kap"),Object.entries(a).forEach(function(l){var f=kc(l,2),h=f[0],d=f[1];return r.tooltipEl.style(h,d)}),r.tooltipEl.style("left","-10000px").style("display","none");var c="tooltip-".concat(Math.round(Math.random()*1e12));r.mouseInside=!1,u.on("mousemove.".concat(c),function(l){r.mouseInside=!0;var f=xt(l),h=u.node(),d=h.offsetWidth,p=h.offsetHeight,y=[r.offsetX===null||r.offsetX===void 0?"-".concat(f[0]/d*100,"%"):typeof r.offsetX=="number"?"calc(-50% + ".concat(r.offsetX,"px)"):r.offsetX,r.offsetY===null||r.offsetY===void 0?p>130&&p-f[1]<100?"calc(-100% - 6px)":"21px":typeof r.offsetY=="number"?r.offsetY<0?"calc(-100% - ".concat(Math.abs(r.offsetY),"px)"):"".concat(r.offsetY,"px"):r.offsetY];r.tooltipEl.style("left",f[0]+"px").style("top",f[1]+"px").style("transform","translate(".concat(y.join(","),")")),r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseover.".concat(c),function(){r.mouseInside=!0,r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseout.".concat(c),function(){r.mouseInside=!1,r.tooltipEl.style("display","none")})},update:function(n){n.tooltipEl.style("display",n.content&&n.mouseInside?"inline":"none"),n.content?n.content instanceof HTMLElement?(n.tooltipEl.text(""),n.tooltipEl.append(function(){return n.content})):typeof n.content=="string"?n.tooltipEl.html(n.content):Mc(n.content)?(n.tooltipEl.text(""),Tc(n.content,n.tooltipEl.node())):(n.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",n.content,n.content.toString())):n.tooltipEl.text("")}});function zc(e,n,r){var i,o=1;e==null&&(e=0),n==null&&(n=0),r==null&&(r=0);function a(){var s,u=i.length,c,l=0,f=0,h=0;for(s=0;s=(c=(s+u)/2))?s=c:u=c,i=o,!(o=o[h=+f]))return i[h]=a,e;if(l=+e._x.call(null,o.data),n===l)return a.next=o,i?i[h]=a:e._root=a,e;do i=i?i[h]=new Array(2):e._root=new Array(2),(f=n>=(c=(s+u)/2))?s=c:u=c;while((h=+f)==(d=+(l>=c)));return i[d]=o,i[h]=a,e}function Rc(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n);let i=1/0,o=-1/0;for(let a=0,s;ao&&(o=s));if(i>o)return this;this.cover(i).cover(o);for(let a=0;ae||e>=r;)switch(s=+(es||(a=l.x1)=h))&&(l=u[u.length-1],u[u.length-1]=u[u.length-1-f],u[u.length-1-f]=l)}else{var d=Math.abs(e-+this._x.call(null,c.data));d=(l=(s+u)/2))?s=l:u=l,n=r,!(r=r[h=+f]))return this;if(!r.length)break;n[h+1&1]&&(i=n,d=h)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[h]=a:delete n[h],(r=n[0]||n[1])&&r===(n[1]||n[0])&&!r.length&&(i?i[d]=r:this._root=r),this):(this._root=a,this)}function Fc(e){for(var n=0,r=e.length;n=(h=(u+l)/2))?u=h:l=h,(m=r>=(d=(c+f)/2))?c=d:f=d,o=a,!(a=a[g=m<<1|x]))return o[g]=s,e;if(p=+e._x.call(null,a.data),y=+e._y.call(null,a.data),n===p&&r===y)return s.next=a,o?o[g]=s:e._root=s,e;do o=o?o[g]=new Array(4):e._root=new Array(4),(x=n>=(h=(u+l)/2))?u=h:l=h,(m=r>=(d=(c+f)/2))?c=d:f=d;while((g=m<<1|x)===(k=(y>=d)<<1|p>=h));return o[k]=a,o[g]=s,e}function Xc(e){var n,r,i=e.length,o,a,s=new Array(i),u=new Array(i),c=1/0,l=1/0,f=-1/0,h=-1/0;for(r=0;rf&&(f=o),ah&&(h=a));if(c>f||l>h)return this;for(this.cover(c,l).cover(f,h),r=0;re||e>=o||i>n||n>=a;)switch(l=(nf||(u=y.y0)>h||(c=y.x1)=g)<<1|e>=m)&&(y=d[d.length-1],d[d.length-1]=d[d.length-1-x],d[d.length-1-x]=y)}else{var k=e-+this._x.call(null,p.data),w=n-+this._y.call(null,p.data),_=k*k+w*w;if(_=(d=(s+c)/2))?s=d:c=d,(x=h>=(p=(u+l)/2))?u=p:l=p,n=r,!(r=r[m=x<<1|y]))return this;if(!r.length)break;(n[m+1&3]||n[m+2&3]||n[m+3&3])&&(i=n,g=m)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[m]=a:delete n[m],(r=n[0]||n[1]||n[2]||n[3])&&r===(n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[g]=r:this._root=r),this):(this._root=a,this)}function tf(e){for(var n=0,r=e.length;n=(y=(c+h)/2))?c=y:h=y,(v=r>=(x=(l+d)/2))?l=x:d=x,(A=i>=(m=(f+p)/2))?f=m:p=m,a=s,!(s=s[M=A<<2|v<<1|_]))return a[M]=u,e;if(g=+e._x.call(null,s.data),k=+e._y.call(null,s.data),w=+e._z.call(null,s.data),n===g&&r===k&&i===w)return u.next=s,a?a[M]=u:e._root=u,e;do a=a?a[M]=new Array(8):e._root=new Array(8),(_=n>=(y=(c+h)/2))?c=y:h=y,(v=r>=(x=(l+d)/2))?l=x:d=x,(A=i>=(m=(f+p)/2))?f=m:p=m;while((M=A<<2|v<<1|_)===(T=(w>=m)<<2|(k>=x)<<1|g>=y));return a[T]=s,a[M]=u,e}function ff(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n),i=new Float64Array(n),o=new Float64Array(n);let a=1/0,s=1/0,u=1/0,c=-1/0,l=-1/0,f=-1/0;for(let h=0,d,p,y,x;hc&&(c=p),yl&&(l=y),xf&&(f=x));if(a>c||s>l||u>f)return this;this.cover(a,s,u).cover(c,l,f);for(let h=0;he||e>=s||o>n||n>=u||a>r||r>=c;)switch(d=(ry||(l=w.y0)>x||(f=w.z0)>m||(h=w.x1)=M)<<2|(n>=A)<<1|e>=v)&&(w=g[g.length-1],g[g.length-1]=g[g.length-1-_],g[g.length-1-_]=w)}else{var T=e-+this._x.call(null,k.data),R=n-+this._y.call(null,k.data),P=r-+this._z.call(null,k.data),N=T*T+R*R+P*P;if(NMath.sqrt((e-i)**2+(n-o)**2+(r-a)**2);function _f(e,n,r,i){const o=[],a=e-i,s=n-i,u=r-i,c=e+i,l=n+i,f=r+i;return this.visit((h,d,p,y,x,m,g)=>{if(!h.length)do{const k=h.data;yf(e,n,r,this._x(k),this._y(k),this._z(k))<=i&&o.push(k)}while(h=h.next);return d>c||p>l||y>f||x=(x=(s+l)/2))?s=x:l=x,(w=p>=(m=(u+f)/2))?u=m:f=m,(_=y>=(g=(c+h)/2))?c=g:h=g,n=r,!(r=r[v=_<<2|w<<1|k]))return this;if(!r.length)break;(n[v+1&7]||n[v+2&7]||n[v+3&7]||n[v+4&7]||n[v+5&7]||n[v+6&7]||n[v+7&7])&&(i=n,A=v)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[v]=a:delete n[v],(r=n[0]||n[1]||n[2]||n[3]||n[4]||n[5]||n[6]||n[7])&&r===(n[7]||n[6]||n[5]||n[4]||n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[A]=r:this._root=r),this):(this._root=a,this)}function mf(e){for(var n=0,r=e.length;n1&&(R=M.y+M.vy-A.y-A.vy||Ot(f)),u>2&&(P=M.z+M.vz-A.z-A.vz||Ot(f)),N=Math.sqrt(T*T+R*R+P*P),N=(N-a[_])/N*g*i[_],T*=N,R*=N,P*=N,M.vx-=T*(D=l[_]),u>1&&(M.vy-=R*D),u>2&&(M.vz-=P*D),A.vx+=T*(D=1-D),u>1&&(A.vy+=R*D),u>2&&(A.vz+=P*D)}function y(){if(s){var g,k=s.length,w=e.length,_=new Map(s.map((A,M)=>[n(A,M,s),A])),v;for(g=0,c=new Array(k);gtypeof w=="function")||Math.random,u=k.find(w=>[1,2,3].includes(w))||2,y()},p.links=function(g){return arguments.length?(e=g,y(),p):e},p.id=function(g){return arguments.length?(n=g,p):n},p.iterations=function(g){return arguments.length?(h=+g,p):h},p.strength=function(g){return arguments.length?(r=typeof g=="function"?g:zt(+g),x(),p):r},p.distance=function(g){return arguments.length?(o=typeof g=="function"?g:zt(+g),m(),p):o},p}const zf=1664525,Nf=1013904223,Nr=4294967296;function Rf(){let e=1;return()=>(e=(zf*e+Nf)%Nr)/Nr}var Rr=3;function nn(e){return e.x}function jr(e){return e.y}function jf(e){return e.z}var Df=10,If=Math.PI*(3-Math.sqrt(5)),$f=Math.PI*20/(9+Math.sqrt(221));function Lf(e,n){n=n||2;var r=Math.min(Rr,Math.max(1,Math.round(n))),i,o=1,a=.001,s=1-Math.pow(a,1/300),u=0,c=.6,l=new Map,f=En(p),h=ve("tick","end"),d=Rf();e==null&&(e=[]);function p(){y(),h.call("tick",i),o1&&(_.fy==null?_.y+=_.vy*=c:(_.y=_.fy,_.vy=0)),r>2&&(_.fz==null?_.z+=_.vz*=c:(_.z=_.fz,_.vz=0));return i}function x(){for(var g=0,k=e.length,w;g1&&isNaN(w.y)||r>2&&isNaN(w.z)){var _=Df*(r>2?Math.cbrt(.5+g):r>1?Math.sqrt(.5+g):g),v=g*If,A=g*$f;r===1?w.x=_:r===2?(w.x=_*Math.cos(v),w.y=_*Math.sin(v)):(w.x=_*Math.sin(v)*Math.cos(A),w.y=_*Math.cos(v),w.z=_*Math.sin(v)*Math.sin(A))}(isNaN(w.vx)||r>1&&isNaN(w.vy)||r>2&&isNaN(w.vz))&&(w.vx=0,r>1&&(w.vy=0),r>2&&(w.vz=0))}}function m(g){return g.initialize&&g.initialize(e,d,r),g}return x(),i={tick:y,restart:function(){return f.restart(p),i},stop:function(){return f.stop(),i},numDimensions:function(g){return arguments.length?(r=Math.min(Rr,Math.max(1,Math.round(g))),l.forEach(m),i):r},nodes:function(g){return arguments.length?(e=g,x(),l.forEach(m),i):e},alpha:function(g){return arguments.length?(o=+g,i):o},alphaMin:function(g){return arguments.length?(a=+g,i):a},alphaDecay:function(g){return arguments.length?(s=+g,i):+s},alphaTarget:function(g){return arguments.length?(u=+g,i):u},velocityDecay:function(g){return arguments.length?(c=1-g,i):1-c},randomSource:function(g){return arguments.length?(d=g,l.forEach(m),i):d},force:function(g,k){return arguments.length>1?(k==null?l.delete(g):l.set(g,m(k)),i):l.get(g)},find:function(){var g=Array.prototype.slice.call(arguments),k=g.shift()||0,w=(r>1?g.shift():null)||0,_=(r>2?g.shift():null)||0,v=g.shift()||1/0,A=0,M=e.length,T,R,P,N,D,U;for(v*=v,A=0;A1?(h.on(g,k),i):h.on(g)}}}function Ff(){var e,n,r,i,o,a=zt(-30),s,u=1,c=1/0,l=.81;function f(y){var x,m=e.length,g=(n===1?Ui(e,nn):n===2?Un(e,nn,jr):n===3?Wi(e,nn,jr,jf):null).visitAfter(d);for(o=y,x=0;x1&&(y.y=_/k),n>2&&(y.z=v/k)}else{m=y,m.x=m.data.x,n>1&&(m.y=m.data.y),n>2&&(m.z=m.data.z);do x+=s[m.data.index];while(m=m.next)}y.value=x}function p(y,x,m,g,k){if(!y.value)return!0;var w=[m,g,k][n-1],_=y.x-r.x,v=n>1?y.y-r.y:0,A=n>2?y.z-r.z:0,M=w-x,T=_*_+v*v+A*A;if(M*M/l1&&v===0&&(v=Ot(i),T+=v*v),n>2&&A===0&&(A=Ot(i),T+=A*A),T1&&(r.vy+=v*y.value*o/T),n>2&&(r.vz+=A*y.value*o/T)),!0;if(y.length||T>=c)return;(y.data!==r||y.next)&&(_===0&&(_=Ot(i),T+=_*_),n>1&&v===0&&(v=Ot(i),T+=v*v),n>2&&A===0&&(A=Ot(i),T+=A*A),T1&&(r.vy+=v*M),n>2&&(r.vz+=A*M));while(y=y.next)}return f.initialize=function(y,...x){e=y,i=x.find(m=>typeof m=="function")||Math.random,n=x.find(m=>[1,2,3].includes(m))||2,h()},f.strength=function(y){return arguments.length?(a=typeof y=="function"?y:zt(+y),h(),f):a},f.distanceMin=function(y){return arguments.length?(u=y*y,f):Math.sqrt(u)},f.distanceMax=function(y){return arguments.length?(c=y*y,f):Math.sqrt(c)},f.theta=function(y){return arguments.length?(l=y*y,f):Math.sqrt(l)},f}function Uf(e,n,r,i){var o,a,s=zt(.1),u,c;typeof e!="function"&&(e=zt(+e)),n==null&&(n=0),r==null&&(r=0),i==null&&(i=0);function l(h){for(var d=0,p=o.length;d1&&(y.vy+=m*w),a>2&&(y.vz+=g*w)}}function f(){if(o){var h,d=o.length;for(u=new Array(d),c=new Array(d),h=0;h[1,2,3].includes(p))||2,f()},l.strength=function(h){return arguments.length?(s=typeof h=="function"?h:zt(+h),f(),l):s},l.radius=function(h){return arguments.length?(e=typeof h=="function"?h:zt(+h),f(),l):e},l.x=function(h){return arguments.length?(n=+h,l):n},l.y=function(h){return arguments.length?(r=+h,l):r},l.z=function(h){return arguments.length?(i=+h,l):i},l}const{abs:ee,cos:Pt,sin:Wt,acos:Hf,atan2:ne,sqrt:Dt,pow:dt}=Math;function re(e){return e<0?-dt(-e,1/3):dt(e,1/3)}const Gi=Math.PI,Ce=2*Gi,It=Gi/2,qf=1e-6,rn=Number.MAX_SAFE_INTEGER||9007199254740991,on=Number.MIN_SAFE_INTEGER||-9007199254740991,Wf={x:0,y:0,z:0},z={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,n){const r=n(e);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),Dt(i)},compute:function(e,n,r){if(e===0)return n[0].t=0,n[0];const i=n.length-1;if(e===1)return n[i].t=1,n[i];const o=1-e;let a=n;if(i===0)return n[0].t=e,n[0];if(i===1){const u={x:o*a[0].x+e*a[1].x,y:o*a[0].y+e*a[1].y,t:e};return r&&(u.z=o*a[0].z+e*a[1].z),u}if(i<4){let u=o*o,c=e*e,l,f,h,d=0;i===2?(a=[a[0],a[1],a[2],Wf],l=u,f=o*e*2,h=c):i===3&&(l=u*o,f=u*e*3,h=o*c*3,d=e*c);const p={x:l*a[0].x+f*a[1].x+h*a[2].x+d*a[3].x,y:l*a[0].y+f*a[1].y+h*a[2].y+d*a[3].y,t:e};return r&&(p.z=l*a[0].z+f*a[1].z+h*a[2].z+d*a[3].z),p}const s=JSON.parse(JSON.stringify(n));for(;s.length>1;){for(let u=0;u1;o--,a--){const s=[];for(let u=0,c;u"u")e=.5;else if(e===0||e===1)return e;const r=dt(e,n)+dt(1-e,n),i=r-1;return ee(i/r)},projectionratio:function(e,n){if(n!==2&&n!==3)return!1;if(typeof e>"u")e=.5;else if(e===0||e===1)return e;const r=dt(1-e,n),i=dt(e,n)+r;return r/i},lli8:function(e,n,r,i,o,a,s,u){const c=(e*i-n*r)*(o-s)-(e-r)*(o*u-a*s),l=(e*i-n*r)*(a-u)-(n-i)*(o*u-a*s),f=(e-r)*(a-u)-(n-i)*(o-s);return f==0?!1:{x:c/f,y:l/f}},lli4:function(e,n,r,i){const o=e.x,a=e.y,s=n.x,u=n.y,c=r.x,l=r.y,f=i.x,h=i.y;return z.lli8(o,a,s,u,c,l,f,h)},lli:function(e,n){return z.lli4(e,e.c,n,n.c)},makeline:function(e,n){return new K(e.x,e.y,(e.x+n.x)/2,(e.y+n.y)/2,n.x,n.y)},findbbox:function(e){let n=rn,r=rn,i=on,o=on;return e.forEach(function(a){const s=a.bbox();n>s.x.min&&(n=s.x.min),r>s.y.min&&(r=s.y.min),i0&&(f.c1=c,f.c2=l,f.s1=e,f.s2=r,a.push(f))})}),a},makeshape:function(e,n,r){const i=n.points.length,o=e.points.length,a=z.makeline(n.points[i-1],e.points[0]),s=z.makeline(e.points[o-1],n.points[0]),u={startcap:a,forward:e,back:n,endcap:s,bbox:z.findbbox([a,e,n,s])};return u.intersections=function(c){return z.shapeintersections(u,u.bbox,c,c.bbox,r)},u},getminmax:function(e,n,r){if(!r)return{min:0,max:0};let i=rn,o=on,a,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let u=0,c=r.length;uo&&(o=s[n]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(e,n){const r=n.p1.x,i=n.p1.y,o=-ne(n.p2.y-i,n.p2.x-r),a=function(s){return{x:(s.x-r)*Pt(o)-(s.y-i)*Wt(o),y:(s.x-r)*Wt(o)+(s.y-i)*Pt(o)}};return e.map(a)},roots:function(e,n){n=n||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=e.length-1,i=z.align(e,n),o=function(M){return 0<=M&&M<=1};if(r===2){const M=i[0].y,T=i[1].y,R=i[2].y,P=M-2*T+R;if(P!==0){const N=-Dt(T*T-M*R),D=-M+T,U=-(N+D)/P,S=-(-N+D)/P;return[U,S].filter(o)}else if(T!==R&&P===0)return[(2*T-R)/(2*T-2*R)].filter(o);return[]}const a=i[0].y,s=i[1].y,u=i[2].y,c=i[3].y;let l=-a+3*s-3*u+c,f=3*a-6*s+3*u,h=-3*a+3*s,d=a;if(z.approximately(l,0)){if(z.approximately(f,0))return z.approximately(h,0)?[]:[-d/h].filter(o);const M=Dt(h*h-4*f*d),T=2*f;return[(M-h)/T,(-h-M)/T].filter(o)}f/=l,h/=l,d/=l;const p=(3*h-f*f)/3,y=p/3,x=(2*f*f*f-9*f*h+27*d)/27,m=x/2,g=m*m+y*y*y;let k,w,_,v,A;if(g<0){const M=-p/3,T=M*M*M,R=Dt(T),P=-x/(2*R),N=P<-1?-1:P>1?1:P,D=Hf(N),U=re(R),S=2*U;return _=S*Pt(D/3)-f/3,v=S*Pt((D+Ce)/3)-f/3,A=S*Pt((D+2*Ce)/3)-f/3,[_,v,A].filter(o)}else{if(g===0)return k=m<0?re(-m):-re(m),_=2*k-f/3,v=-k-f/3,[_,v].filter(o);{const M=Dt(g);return k=re(-m+M),w=re(m+M),[k-w-f/3].filter(o)}}},droots:function(e){if(e.length===3){const n=e[0],r=e[1],i=e[2],o=n-2*r+i;if(o!==0){const a=-Dt(r*r-n*i),s=-n+r,u=-(a+s)/o,c=-(-a+s)/o;return[u,c]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(e.length===2){const n=e[0],r=e[1];return n!==r?[n/(n-r)]:[]}return[]},curvature:function(e,n,r,i,o){let a,s,u,c,l=0,f=0;const h=z.compute(e,n),d=z.compute(e,r),p=h.x*h.x+h.y*h.y;if(i?(a=Dt(dt(h.y*d.z-d.y*h.z,2)+dt(h.z*d.x-d.z*h.x,2)+dt(h.x*d.y-d.x*h.y,2)),s=dt(p+h.z*h.z,3/2)):(a=h.x*d.y-h.y*d.x,s=dt(p,3/2)),a===0||s===0)return{k:0,r:0};if(l=a/s,f=s/a,!o){const y=z.curvature(e-.001,n,r,i,!0).k,x=z.curvature(e+.001,n,r,i,!0).k;c=(x-l+(l-y))/2,u=(ee(x-l)+ee(l-y))/2}return{k:l,r:f,dk:c,adk:u}},inflections:function(e){if(e.length<4)return[];const n=z.align(e,{p1:e[0],p2:e.slice(-1)[0]}),r=n[2].x*n[1].y,i=n[3].x*n[1].y,o=n[1].x*n[2].y,a=n[3].x*n[2].y,s=18*(-3*r+2*i+3*o-a),u=18*(3*r-i-3*o),c=18*(o-r);if(z.approximately(s,0)){if(!z.approximately(u,0)){let d=-c/u;if(0<=d&&d<=1)return[d]}return[]}const l=2*s;if(z.approximately(l,0))return[];const f=u*u-4*s*c;if(f<0)return[];const h=Math.sqrt(f);return[(h-u)/l,-(u+h)/l].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(e,n){const r=["x","y"],i=r.length;for(let o=0,a,s,u,c;o=c)return!1;return!0},expandbox:function(e,n){n.x.mine.x.max&&(e.x.max=n.x.max),n.y.max>e.y.max&&(e.y.max=n.y.max),n.z&&n.z.max>e.z.max&&(e.z.max=n.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,n,r){const i=e.bbox(),o=n.bbox(),a=1e5,s=r||.5;if(i.x.size+i.y.sizeA||A>M)&&(v+=Ce),v>M&&(T=M,M=v,v=T)):M4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(a!==6&&a!==8&&a!==9&&a!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!o&&(a===9||a===12)||n&&n[0]&&typeof n[0].z<"u",u=this.points=[];for(let p=0,y=s?3:2;pp+ie(y.y),0)"u"&&(o=.5),o===0)return new K(r,r,i);if(o===1)return new K(n,r,r);const a=K.getABC(2,n,r,i,o);return new K(n,a.A,i)}static cubicFromPoints(n,r,i,o,a){typeof o>"u"&&(o=.5);const s=K.getABC(3,n,r,i,o);typeof a>"u"&&(a=z.dist(r,s.C));const u=a*(1-o)/o,c=z.dist(n,i),l=(i.x-n.x)/c,f=(i.y-n.y)/c,h=a*l,d=a*f,p=u*l,y=u*f,x={x:r.x-h,y:r.y-d},m={x:r.x+p,y:r.y+y},g=s.A,k={x:g.x+(x.x-g.x)/(1-o),y:g.y+(x.y-g.y)/(1-o)},w={x:g.x+(m.x-g.x)/o,y:g.y+(m.y-g.y)/o},_={x:n.x+(k.x-n.x)/o,y:n.y+(k.y-n.y)/o},v={x:i.x+(w.x-i.x)/(1-o),y:i.y+(w.y-i.y)/(1-o)};return new K(n,_,v,i)}static getUtils(){return z}getUtils(){return K.getUtils()}static get PolyBezier(){return he}valueOf(){return this.toString()}toString(){return z.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const n=this.points,r=n[0].x,i=n[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let a=1,s=n.length;a0}length(){return z.length(this.derivative.bind(this))}static getABC(n=2,r,i,o,a=.5){const s=z.projectionratio(a,n),u=1-s,c={x:s*r.x+u*o.x,y:s*r.y+u*o.y},l=z.abcratio(a,n);return{A:{x:i.x+(i.x-c.x)/l,y:i.y+(i.y-c.y)/l},B:i,C:c,S:r,E:o}}getABC(n,r){r=r||this.get(n);let i=this.points[0],o=this.points[this.order];return K.getABC(this.order,i,r,o,n)}getLUT(n){if(this.verify(),n=n||100,this._lut.length===n+1)return this._lut;this._lut=[],n++,this._lut=[];for(let r=0,i,o;r1?1:h,d=this.compute(h),d.t=h,d.d=l,d}get(n){return this.compute(n)}point(n){return this.points[n]}compute(n){return this.ratios?z.computeWithRatios(n,this.points,this.ratios,this._3d):z.compute(n,this.points,this._3d,this.ratios)}raise(){const n=this.points,r=[n[0]],i=n.length;for(let o=1,a,s;o1;){i=[];for(let s=0,u,c=r.length-1;s=0&&s<=1}),r=r.concat(n[i].sort(z.numberSort))}).bind(this)),n.values=r.sort(z.numberSort).filter(function(i,o){return r.indexOf(i)===o}),n}bbox(){const n=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=z.getminmax(this,i,n[i])}).bind(this)),r}overlaps(n){const r=this.bbox(),i=n.bbox();return z.bboxoverlap(r,i)}offset(n,r){if(typeof r<"u"){const i=this.get(n),o=this.normal(n),a={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(a.z=i.z+o.z*r),a}if(this._linear){const i=this.normal(0),o=this.points.map(function(a){const s={x:a.x+n*i.x,y:a.y+n*i.y};return a.z&&i.z&&(s.z=a.z+n*i.z),s});return[new K(o)]}return this.reduce().map(function(i){return i._linear?i.offset(n)[0]:i.scale(n)})}simple(){if(this.order===3){const o=z.angle(this.points[0],this.points[3],this.points[1]),a=z.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&a<0||o<0&&a>0)return!1}const n=this.normal(0),r=this.normal(1);let i=n.x*r.x+n.y*r.y;return this._3d&&(i+=n.z*r.z),ie(Bf(i))(1-u/o)*r+u/o*i);return new K(this.points.map((s,u)=>({x:s.x+n.x*a[u],y:s.y+n.y*a[u]})))}scale(n){const r=this.order;let i=!1;if(typeof n=="function"&&(i=n),i&&r===2)return this.raise().scale(i);const o=this.clockwise,a=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):n,i?i(1):n);const s=i?i(0):n,u=i?i(1):n,c=[this.offset(0,10),this.offset(1,10)],l=[],f=z.lli4(c[0],c[0].c,c[1],c[1].c);if(!f)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const d=l[h*r]=z.copy(a[h*r]);d.x+=(h?u:s)*c[h].n.x,d.y+=(h?u:s)*c[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var d=a[h+1],p={x:d.x-f.x,y:d.y-f.y},y=i?i((h+1)/r):n;i&&!o&&(y=-y);var x=oe(p.x*p.x+p.y*p.y);p.x/=x,p.y/=x,l[h+1]={x:d.x+y*p.x,y:d.y+y*p.y}}}),new K(l)):([0,1].forEach(h=>{if(r===2&&h)return;const d=l[h*r],p=this.derivative(h),y={x:d.x+p.x,y:d.y+p.y};l[h+1]=z.lli4(d,y,f,a[h+1])}),new K(l))}outline(n,r,i,o){if(r=r===void 0?n:r,this._linear){const v=this.normal(0),A=this.points[0],M=this.points[this.points.length-1];let T,R,P;i===void 0&&(i=n,o=r),T={x:A.x+v.x*n,y:A.y+v.y*n},P={x:M.x+v.x*i,y:M.y+v.y*i},R={x:(T.x+P.x)/2,y:(T.y+P.y)/2};const N=[T,R,P];T={x:A.x-v.x*r,y:A.y-v.y*r},P={x:M.x-v.x*o,y:M.y-v.y*o},R={x:(T.x+P.x)/2,y:(T.y+P.y)/2};const D=[P,R,T],U=z.makeline(D[2],N[0]),S=z.makeline(N[2],D[0]),j=[U,new K(N),S,new K(D)];return new he(j)}const a=this.reduce(),s=a.length,u=[];let c=[],l,f=0,h=this.length();const d=typeof i<"u"&&typeof o<"u";function p(v,A,M,T,R){return function(P){const N=T/M,D=(T+R)/M,U=A-v;return z.map(P,0,1,v+N*U,v+D*U)}}a.forEach(function(v){const A=v.length();d?(u.push(v.scale(p(n,i,h,f,A))),c.push(v.scale(p(-r,-o,h,f,A)))):(u.push(v.scale(n)),c.push(v.scale(-r))),f+=A}),c=c.map(function(v){return l=v.points,l[3]?v.points=[l[3],l[2],l[1],l[0]]:v.points=[l[2],l[1],l[0]],v}).reverse();const y=u[0].points[0],x=u[s-1].points[u[s-1].points.length-1],m=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],k=z.makeline(m,y),w=z.makeline(x,g),_=[k].concat(u).concat([w]).concat(c);return new he(_)}outlineshapes(n,r,i){r=r||n;const o=this.outline(n,r).curves,a=[];for(let s=1,u=o.length;s1,c.endcap.virtual=s{var u=this.get(s);return z.between(u.x,r,o)&&z.between(u.y,i,a)})}selfintersects(n){const r=this.reduce(),i=r.length-2,o=[];for(let a=0,s,u,c;a0&&(a=a.concat(u))}),a}arcs(n){return n=n||.5,this._iterate(n,[])}_error(n,r,i,o){const a=(o-i)/4,s=this.get(i+a),u=this.get(o-a),c=z.dist(n,r),l=z.dist(n,s),f=z.dist(n,u);return ie(l-c)+ie(f-c)}_iterate(n,r){let i=0,o=1,a;do{a=0,o=1;let s=this.get(i),u,c,l,f,h=!1,d=!1,p,y=o,x=1;do if(d=h,f=l,y=(i+o)/2,u=this.get(y),c=this.get(o),l=z.getccenter(s,u,c),l.interval={start:i,end:o},h=this._error(l,s,i,o)<=n,p=d&&!h,p||(x=o),h){if(o>=1){if(l.interval.end=x=1,f=l,o>1){let g={x:l.x+l.r*Gf(l.e),y:l.y+l.r*Vf(l.e)};l.e+=z.angle({x:l.x,y:l.y},g,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!p&&a++<100);if(a>=100)break;f=f||l,r.push(f),i=x}while(o<1);return r}}function An(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=(n instanceof Array?n.length?n:[void 0]:[n]).map(function(u){return{keyAccessor:u,isProp:!(u instanceof Function)}}),a=e.reduce(function(u,c){var l=u,f=c;return o.forEach(function(h,d){var p=h.keyAccessor,y=h.isProp,x;if(y){var m=f,g=m[p],k=eh(m,[p].map(ah));x=g,f=k}else x=p(f,d);d+11&&arguments[1]!==void 0?arguments[1]:1;l===o.length?Object.keys(c).forEach(function(f){return c[f]=r(c[f])}):Object.values(c).forEach(function(f){return u(f,l+1)})})(a);var s=a;return i&&(s=[],(function u(c){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];l.length===o.length?s.push({keys:l,vals:c}):Object.entries(c).forEach(function(f){var h=rh(f,2),d=h[0],p=h[1];return u(p,[].concat(ih(l),[d]))})})(a),n instanceof Array&&n.length===0&&s.length===1&&(s[0].keys=[])),s});function uh(e){for(var n=e.length/6|0,r=new Array(n),i=0;i"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var fh=`.force-graph-container canvas { +`;Ec(zc);var Nc=jn({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.style,a=o===void 0?{}:o,s=!!n&&He(n)==="object"&&!!n.node&&typeof n.node=="function",u=pt(s?n.node():n);u.style("position")==="static"&&u.style("position","relative"),r.tooltipEl=u.append("div").attr("class","float-tooltip-kap"),Object.entries(a).forEach(function(l){var f=Ac(l,2),h=f[0],d=f[1];return r.tooltipEl.style(h,d)}),r.tooltipEl.style("left","-10000px").style("display","none");var c="tooltip-".concat(Math.round(Math.random()*1e12));r.mouseInside=!1,u.on("mousemove.".concat(c),function(l){r.mouseInside=!0;var f=xt(l),h=u.node(),d=h.offsetWidth,p=h.offsetHeight,y=[r.offsetX===null||r.offsetX===void 0?"-".concat(f[0]/d*100,"%"):typeof r.offsetX=="number"?"calc(-50% + ".concat(r.offsetX,"px)"):r.offsetX,r.offsetY===null||r.offsetY===void 0?p>130&&p-f[1]<100?"calc(-100% - 6px)":"21px":typeof r.offsetY=="number"?r.offsetY<0?"calc(-100% - ".concat(Math.abs(r.offsetY),"px)"):"".concat(r.offsetY,"px"):r.offsetY];r.tooltipEl.style("left",f[0]+"px").style("top",f[1]+"px").style("transform","translate(".concat(y.join(","),")")),r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseover.".concat(c),function(){r.mouseInside=!0,r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseout.".concat(c),function(){r.mouseInside=!1,r.tooltipEl.style("display","none")})},update:function(n){n.tooltipEl.style("display",n.content&&n.mouseInside?"inline":"none"),n.content?n.content instanceof HTMLElement?(n.tooltipEl.text(""),n.tooltipEl.append(function(){return n.content})):typeof n.content=="string"?n.tooltipEl.html(n.content):Pc(n.content)?(n.tooltipEl.text(""),Oc(n.content,n.tooltipEl.node())):(n.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",n.content,n.content.toString())):n.tooltipEl.text("")}});function Rc(e,n,r){var i,o=1;e==null&&(e=0),n==null&&(n=0),r==null&&(r=0);function a(){var s,u=i.length,c,l=0,f=0,h=0;for(s=0;s=(c=(s+u)/2))?s=c:u=c,i=o,!(o=o[h=+f]))return i[h]=a,e;if(l=+e._x.call(null,o.data),n===l)return a.next=o,i?i[h]=a:e._root=a,e;do i=i?i[h]=new Array(2):e._root=new Array(2),(f=n>=(c=(s+u)/2))?s=c:u=c;while((h=+f)==(d=+(l>=c)));return i[d]=o,i[h]=a,e}function Dc(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n);let i=1/0,o=-1/0;for(let a=0,s;ao&&(o=s));if(i>o)return this;this.cover(i).cover(o);for(let a=0;ae||e>=r;)switch(s=+(es||(a=l.x1)=h))&&(l=u[u.length-1],u[u.length-1]=u[u.length-1-f],u[u.length-1-f]=l)}else{var d=Math.abs(e-+this._x.call(null,c.data));d=(l=(s+u)/2))?s=l:u=l,n=r,!(r=r[h=+f]))return this;if(!r.length)break;n[h+1&1]&&(i=n,d=h)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[h]=a:delete n[h],(r=n[0]||n[1])&&r===(n[1]||n[0])&&!r.length&&(i?i[d]=r:this._root=r),this):(this._root=a,this)}function Hc(e){for(var n=0,r=e.length;n=(h=(u+l)/2))?u=h:l=h,(v=r>=(d=(c+f)/2))?c=d:f=d,o=a,!(a=a[g=v<<1|m]))return o[g]=s,e;if(p=+e._x.call(null,a.data),y=+e._y.call(null,a.data),n===p&&r===y)return s.next=a,o?o[g]=s:e._root=s,e;do o=o?o[g]=new Array(4):e._root=new Array(4),(m=n>=(h=(u+l)/2))?u=h:l=h,(v=r>=(d=(c+f)/2))?c=d:f=d;while((g=v<<1|m)===(k=(y>=d)<<1|p>=h));return o[k]=a,o[g]=s,e}function Zc(e){var n,r,i=e.length,o,a,s=new Array(i),u=new Array(i),c=1/0,l=1/0,f=-1/0,h=-1/0;for(r=0;rf&&(f=o),ah&&(h=a));if(c>f||l>h)return this;for(this.cover(c,l).cover(f,h),r=0;re||e>=o||i>n||n>=a;)switch(l=(nf||(u=y.y0)>h||(c=y.x1)=g)<<1|e>=v)&&(y=d[d.length-1],d[d.length-1]=d[d.length-1-m],d[d.length-1-m]=y)}else{var k=e-+this._x.call(null,p.data),M=n-+this._y.call(null,p.data),b=k*k+M*M;if(b=(d=(s+c)/2))?s=d:c=d,(m=h>=(p=(u+l)/2))?u=p:l=p,n=r,!(r=r[v=m<<1|y]))return this;if(!r.length)break;(n[v+1&3]||n[v+2&3]||n[v+3&3])&&(i=n,g=v)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[v]=a:delete n[v],(r=n[0]||n[1]||n[2]||n[3])&&r===(n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[g]=r:this._root=r),this):(this._root=a,this)}function nf(e){for(var n=0,r=e.length;n=(y=(c+h)/2))?c=y:h=y,(_=r>=(m=(l+d)/2))?l=m:d=m,(w=i>=(v=(f+p)/2))?f=v:p=v,a=s,!(s=s[A=w<<2|_<<1|b]))return a[A]=u,e;if(g=+e._x.call(null,s.data),k=+e._y.call(null,s.data),M=+e._z.call(null,s.data),n===g&&r===k&&i===M)return u.next=s,a?a[A]=u:e._root=u,e;do a=a?a[A]=new Array(8):e._root=new Array(8),(b=n>=(y=(c+h)/2))?c=y:h=y,(_=r>=(m=(l+d)/2))?l=m:d=m,(w=i>=(v=(f+p)/2))?f=v:p=v;while((A=w<<2|_<<1|b)===(T=(M>=v)<<2|(k>=m)<<1|g>=y));return a[T]=s,a[A]=u,e}function df(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n),i=new Float64Array(n),o=new Float64Array(n);let a=1/0,s=1/0,u=1/0,c=-1/0,l=-1/0,f=-1/0;for(let h=0,d,p,y,m;hc&&(c=p),yl&&(l=y),mf&&(f=m));if(a>c||s>l||u>f)return this;this.cover(a,s,u).cover(c,l,f);for(let h=0;he||e>=s||o>n||n>=u||a>r||r>=c;)switch(d=(ry||(l=M.y0)>m||(f=M.z0)>v||(h=M.x1)=A)<<2|(n>=w)<<1|e>=_)&&(M=g[g.length-1],g[g.length-1]=g[g.length-1-b],g[g.length-1-b]=M)}else{var T=e-+this._x.call(null,k.data),R=n-+this._y.call(null,k.data),P=r-+this._z.call(null,k.data),N=T*T+R*R+P*P;if(NMath.sqrt((e-i)**2+(n-o)**2+(r-a)**2);function mf(e,n,r,i){const o=[],a=e-i,s=n-i,u=r-i,c=e+i,l=n+i,f=r+i;return this.visit((h,d,p,y,m,v,g)=>{if(!h.length)do{const k=h.data;vf(e,n,r,this._x(k),this._y(k),this._z(k))<=i&&o.push(k)}while(h=h.next);return d>c||p>l||y>f||m=(m=(s+l)/2))?s=m:l=m,(M=p>=(v=(u+f)/2))?u=v:f=v,(b=y>=(g=(c+h)/2))?c=g:h=g,n=r,!(r=r[_=b<<2|M<<1|k]))return this;if(!r.length)break;(n[_+1&7]||n[_+2&7]||n[_+3&7]||n[_+4&7]||n[_+5&7]||n[_+6&7]||n[_+7&7])&&(i=n,w=_)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[_]=a:delete n[_],(r=n[0]||n[1]||n[2]||n[3]||n[4]||n[5]||n[6]||n[7])&&r===(n[7]||n[6]||n[5]||n[4]||n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[w]=r:this._root=r),this):(this._root=a,this)}function bf(e){for(var n=0,r=e.length;n1&&(R=A.y+A.vy-w.y-w.vy||Ot(f)),u>2&&(P=A.z+A.vz-w.z-w.vz||Ot(f)),N=Math.sqrt(T*T+R*R+P*P),N=(N-a[b])/N*g*i[b],T*=N,R*=N,P*=N,A.vx-=T*(D=l[b]),u>1&&(A.vy-=R*D),u>2&&(A.vz-=P*D),w.vx+=T*(D=1-D),u>1&&(w.vy+=R*D),u>2&&(w.vz+=P*D)}function y(){if(s){var g,k=s.length,M=e.length,b=new Map(s.map((w,A)=>[n(w,A,s),w])),_;for(g=0,c=new Array(k);gtypeof M=="function")||Math.random,u=k.find(M=>[1,2,3].includes(M))||2,y()},p.links=function(g){return arguments.length?(e=g,y(),p):e},p.id=function(g){return arguments.length?(n=g,p):n},p.iterations=function(g){return arguments.length?(h=+g,p):h},p.strength=function(g){return arguments.length?(r=typeof g=="function"?g:zt(+g),m(),p):r},p.distance=function(g){return arguments.length?(o=typeof g=="function"?g:zt(+g),v(),p):o},p}const Rf=1664525,jf=1013904223,Nr=4294967296;function Df(){let e=1;return()=>(e=(Rf*e+jf)%Nr)/Nr}var Rr=3;function nn(e){return e.x}function jr(e){return e.y}function If(e){return e.z}var $f=10,Lf=Math.PI*(3-Math.sqrt(5)),Ff=Math.PI*20/(9+Math.sqrt(221));function Uf(e,n){n=n||2;var r=Math.min(Rr,Math.max(1,Math.round(n))),i,o=1,a=.001,s=1-Math.pow(a,1/300),u=0,c=.6,l=new Map,f=En(p),h=ve("tick","end"),d=Df();e==null&&(e=[]);function p(){y(),h.call("tick",i),o1&&(b.fy==null?b.y+=b.vy*=c:(b.y=b.fy,b.vy=0)),r>2&&(b.fz==null?b.z+=b.vz*=c:(b.z=b.fz,b.vz=0));return i}function m(){for(var g=0,k=e.length,M;g1&&isNaN(M.y)||r>2&&isNaN(M.z)){var b=$f*(r>2?Math.cbrt(.5+g):r>1?Math.sqrt(.5+g):g),_=g*Lf,w=g*Ff;r===1?M.x=b:r===2?(M.x=b*Math.cos(_),M.y=b*Math.sin(_)):(M.x=b*Math.sin(_)*Math.cos(w),M.y=b*Math.cos(_),M.z=b*Math.sin(_)*Math.sin(w))}(isNaN(M.vx)||r>1&&isNaN(M.vy)||r>2&&isNaN(M.vz))&&(M.vx=0,r>1&&(M.vy=0),r>2&&(M.vz=0))}}function v(g){return g.initialize&&g.initialize(e,d,r),g}return m(),i={tick:y,restart:function(){return f.restart(p),i},stop:function(){return f.stop(),i},numDimensions:function(g){return arguments.length?(r=Math.min(Rr,Math.max(1,Math.round(g))),l.forEach(v),i):r},nodes:function(g){return arguments.length?(e=g,m(),l.forEach(v),i):e},alpha:function(g){return arguments.length?(o=+g,i):o},alphaMin:function(g){return arguments.length?(a=+g,i):a},alphaDecay:function(g){return arguments.length?(s=+g,i):+s},alphaTarget:function(g){return arguments.length?(u=+g,i):u},velocityDecay:function(g){return arguments.length?(c=1-g,i):1-c},randomSource:function(g){return arguments.length?(d=g,l.forEach(v),i):d},force:function(g,k){return arguments.length>1?(k==null?l.delete(g):l.set(g,v(k)),i):l.get(g)},find:function(){var g=Array.prototype.slice.call(arguments),k=g.shift()||0,M=(r>1?g.shift():null)||0,b=(r>2?g.shift():null)||0,_=g.shift()||1/0,w=0,A=e.length,T,R,P,N,D,U;for(_*=_,w=0;w1?(h.on(g,k),i):h.on(g)}}}function Hf(){var e,n,r,i,o,a=zt(-30),s,u=1,c=1/0,l=.81;function f(y){var m,v=e.length,g=(n===1?Ui(e,nn):n===2?Un(e,nn,jr):n===3?Wi(e,nn,jr,If):null).visitAfter(d);for(o=y,m=0;m1&&(y.y=b/k),n>2&&(y.z=_/k)}else{v=y,v.x=v.data.x,n>1&&(v.y=v.data.y),n>2&&(v.z=v.data.z);do m+=s[v.data.index];while(v=v.next)}y.value=m}function p(y,m,v,g,k){if(!y.value)return!0;var M=[v,g,k][n-1],b=y.x-r.x,_=n>1?y.y-r.y:0,w=n>2?y.z-r.z:0,A=M-m,T=b*b+_*_+w*w;if(A*A/l1&&_===0&&(_=Ot(i),T+=_*_),n>2&&w===0&&(w=Ot(i),T+=w*w),T1&&(r.vy+=_*y.value*o/T),n>2&&(r.vz+=w*y.value*o/T)),!0;if(y.length||T>=c)return;(y.data!==r||y.next)&&(b===0&&(b=Ot(i),T+=b*b),n>1&&_===0&&(_=Ot(i),T+=_*_),n>2&&w===0&&(w=Ot(i),T+=w*w),T1&&(r.vy+=_*A),n>2&&(r.vz+=w*A));while(y=y.next)}return f.initialize=function(y,...m){e=y,i=m.find(v=>typeof v=="function")||Math.random,n=m.find(v=>[1,2,3].includes(v))||2,h()},f.strength=function(y){return arguments.length?(a=typeof y=="function"?y:zt(+y),h(),f):a},f.distanceMin=function(y){return arguments.length?(u=y*y,f):Math.sqrt(u)},f.distanceMax=function(y){return arguments.length?(c=y*y,f):Math.sqrt(c)},f.theta=function(y){return arguments.length?(l=y*y,f):Math.sqrt(l)},f}function qf(e,n,r,i){var o,a,s=zt(.1),u,c;typeof e!="function"&&(e=zt(+e)),n==null&&(n=0),r==null&&(r=0),i==null&&(i=0);function l(h){for(var d=0,p=o.length;d1&&(y.vy+=v*M),a>2&&(y.vz+=g*M)}}function f(){if(o){var h,d=o.length;for(u=new Array(d),c=new Array(d),h=0;h[1,2,3].includes(p))||2,f()},l.strength=function(h){return arguments.length?(s=typeof h=="function"?h:zt(+h),f(),l):s},l.radius=function(h){return arguments.length?(e=typeof h=="function"?h:zt(+h),f(),l):e},l.x=function(h){return arguments.length?(n=+h,l):n},l.y=function(h){return arguments.length?(r=+h,l):r},l.z=function(h){return arguments.length?(i=+h,l):i},l}const{abs:ee,cos:Pt,sin:Wt,acos:Wf,atan2:ne,sqrt:Dt,pow:dt}=Math;function re(e){return e<0?-dt(-e,1/3):dt(e,1/3)}const Gi=Math.PI,Ce=2*Gi,It=Gi/2,Gf=1e-6,rn=Number.MAX_SAFE_INTEGER||9007199254740991,on=Number.MIN_SAFE_INTEGER||-9007199254740991,Vf={x:0,y:0,z:0},z={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,n){const r=n(e);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),Dt(i)},compute:function(e,n,r){if(e===0)return n[0].t=0,n[0];const i=n.length-1;if(e===1)return n[i].t=1,n[i];const o=1-e;let a=n;if(i===0)return n[0].t=e,n[0];if(i===1){const u={x:o*a[0].x+e*a[1].x,y:o*a[0].y+e*a[1].y,t:e};return r&&(u.z=o*a[0].z+e*a[1].z),u}if(i<4){let u=o*o,c=e*e,l,f,h,d=0;i===2?(a=[a[0],a[1],a[2],Vf],l=u,f=o*e*2,h=c):i===3&&(l=u*o,f=u*e*3,h=o*c*3,d=e*c);const p={x:l*a[0].x+f*a[1].x+h*a[2].x+d*a[3].x,y:l*a[0].y+f*a[1].y+h*a[2].y+d*a[3].y,t:e};return r&&(p.z=l*a[0].z+f*a[1].z+h*a[2].z+d*a[3].z),p}const s=JSON.parse(JSON.stringify(n));for(;s.length>1;){for(let u=0;u1;o--,a--){const s=[];for(let u=0,c;u"u")e=.5;else if(e===0||e===1)return e;const r=dt(e,n)+dt(1-e,n),i=r-1;return ee(i/r)},projectionratio:function(e,n){if(n!==2&&n!==3)return!1;if(typeof e>"u")e=.5;else if(e===0||e===1)return e;const r=dt(1-e,n),i=dt(e,n)+r;return r/i},lli8:function(e,n,r,i,o,a,s,u){const c=(e*i-n*r)*(o-s)-(e-r)*(o*u-a*s),l=(e*i-n*r)*(a-u)-(n-i)*(o*u-a*s),f=(e-r)*(a-u)-(n-i)*(o-s);return f==0?!1:{x:c/f,y:l/f}},lli4:function(e,n,r,i){const o=e.x,a=e.y,s=n.x,u=n.y,c=r.x,l=r.y,f=i.x,h=i.y;return z.lli8(o,a,s,u,c,l,f,h)},lli:function(e,n){return z.lli4(e,e.c,n,n.c)},makeline:function(e,n){return new K(e.x,e.y,(e.x+n.x)/2,(e.y+n.y)/2,n.x,n.y)},findbbox:function(e){let n=rn,r=rn,i=on,o=on;return e.forEach(function(a){const s=a.bbox();n>s.x.min&&(n=s.x.min),r>s.y.min&&(r=s.y.min),i0&&(f.c1=c,f.c2=l,f.s1=e,f.s2=r,a.push(f))})}),a},makeshape:function(e,n,r){const i=n.points.length,o=e.points.length,a=z.makeline(n.points[i-1],e.points[0]),s=z.makeline(e.points[o-1],n.points[0]),u={startcap:a,forward:e,back:n,endcap:s,bbox:z.findbbox([a,e,n,s])};return u.intersections=function(c){return z.shapeintersections(u,u.bbox,c,c.bbox,r)},u},getminmax:function(e,n,r){if(!r)return{min:0,max:0};let i=rn,o=on,a,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let u=0,c=r.length;uo&&(o=s[n]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(e,n){const r=n.p1.x,i=n.p1.y,o=-ne(n.p2.y-i,n.p2.x-r),a=function(s){return{x:(s.x-r)*Pt(o)-(s.y-i)*Wt(o),y:(s.x-r)*Wt(o)+(s.y-i)*Pt(o)}};return e.map(a)},roots:function(e,n){n=n||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=e.length-1,i=z.align(e,n),o=function(A){return 0<=A&&A<=1};if(r===2){const A=i[0].y,T=i[1].y,R=i[2].y,P=A-2*T+R;if(P!==0){const N=-Dt(T*T-A*R),D=-A+T,U=-(N+D)/P,S=-(-N+D)/P;return[U,S].filter(o)}else if(T!==R&&P===0)return[(2*T-R)/(2*T-2*R)].filter(o);return[]}const a=i[0].y,s=i[1].y,u=i[2].y,c=i[3].y;let l=-a+3*s-3*u+c,f=3*a-6*s+3*u,h=-3*a+3*s,d=a;if(z.approximately(l,0)){if(z.approximately(f,0))return z.approximately(h,0)?[]:[-d/h].filter(o);const A=Dt(h*h-4*f*d),T=2*f;return[(A-h)/T,(-h-A)/T].filter(o)}f/=l,h/=l,d/=l;const p=(3*h-f*f)/3,y=p/3,m=(2*f*f*f-9*f*h+27*d)/27,v=m/2,g=v*v+y*y*y;let k,M,b,_,w;if(g<0){const A=-p/3,T=A*A*A,R=Dt(T),P=-m/(2*R),N=P<-1?-1:P>1?1:P,D=Wf(N),U=re(R),S=2*U;return b=S*Pt(D/3)-f/3,_=S*Pt((D+Ce)/3)-f/3,w=S*Pt((D+2*Ce)/3)-f/3,[b,_,w].filter(o)}else{if(g===0)return k=v<0?re(-v):-re(v),b=2*k-f/3,_=-k-f/3,[b,_].filter(o);{const A=Dt(g);return k=re(-v+A),M=re(v+A),[k-M-f/3].filter(o)}}},droots:function(e){if(e.length===3){const n=e[0],r=e[1],i=e[2],o=n-2*r+i;if(o!==0){const a=-Dt(r*r-n*i),s=-n+r,u=-(a+s)/o,c=-(-a+s)/o;return[u,c]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(e.length===2){const n=e[0],r=e[1];return n!==r?[n/(n-r)]:[]}return[]},curvature:function(e,n,r,i,o){let a,s,u,c,l=0,f=0;const h=z.compute(e,n),d=z.compute(e,r),p=h.x*h.x+h.y*h.y;if(i?(a=Dt(dt(h.y*d.z-d.y*h.z,2)+dt(h.z*d.x-d.z*h.x,2)+dt(h.x*d.y-d.x*h.y,2)),s=dt(p+h.z*h.z,3/2)):(a=h.x*d.y-h.y*d.x,s=dt(p,3/2)),a===0||s===0)return{k:0,r:0};if(l=a/s,f=s/a,!o){const y=z.curvature(e-.001,n,r,i,!0).k,m=z.curvature(e+.001,n,r,i,!0).k;c=(m-l+(l-y))/2,u=(ee(m-l)+ee(l-y))/2}return{k:l,r:f,dk:c,adk:u}},inflections:function(e){if(e.length<4)return[];const n=z.align(e,{p1:e[0],p2:e.slice(-1)[0]}),r=n[2].x*n[1].y,i=n[3].x*n[1].y,o=n[1].x*n[2].y,a=n[3].x*n[2].y,s=18*(-3*r+2*i+3*o-a),u=18*(3*r-i-3*o),c=18*(o-r);if(z.approximately(s,0)){if(!z.approximately(u,0)){let d=-c/u;if(0<=d&&d<=1)return[d]}return[]}const l=2*s;if(z.approximately(l,0))return[];const f=u*u-4*s*c;if(f<0)return[];const h=Math.sqrt(f);return[(h-u)/l,-(u+h)/l].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(e,n){const r=["x","y"],i=r.length;for(let o=0,a,s,u,c;o=c)return!1;return!0},expandbox:function(e,n){n.x.mine.x.max&&(e.x.max=n.x.max),n.y.max>e.y.max&&(e.y.max=n.y.max),n.z&&n.z.max>e.z.max&&(e.z.max=n.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,n,r){const i=e.bbox(),o=n.bbox(),a=1e5,s=r||.5;if(i.x.size+i.y.sizew||w>A)&&(_+=Ce),_>A&&(T=A,A=_,_=T)):A4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(a!==6&&a!==8&&a!==9&&a!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!o&&(a===9||a===12)||n&&n[0]&&typeof n[0].z<"u",u=this.points=[];for(let p=0,y=s?3:2;pp+ie(y.y),0)"u"&&(o=.5),o===0)return new K(r,r,i);if(o===1)return new K(n,r,r);const a=K.getABC(2,n,r,i,o);return new K(n,a.A,i)}static cubicFromPoints(n,r,i,o,a){typeof o>"u"&&(o=.5);const s=K.getABC(3,n,r,i,o);typeof a>"u"&&(a=z.dist(r,s.C));const u=a*(1-o)/o,c=z.dist(n,i),l=(i.x-n.x)/c,f=(i.y-n.y)/c,h=a*l,d=a*f,p=u*l,y=u*f,m={x:r.x-h,y:r.y-d},v={x:r.x+p,y:r.y+y},g=s.A,k={x:g.x+(m.x-g.x)/(1-o),y:g.y+(m.y-g.y)/(1-o)},M={x:g.x+(v.x-g.x)/o,y:g.y+(v.y-g.y)/o},b={x:n.x+(k.x-n.x)/o,y:n.y+(k.y-n.y)/o},_={x:i.x+(M.x-i.x)/(1-o),y:i.y+(M.y-i.y)/(1-o)};return new K(n,b,_,i)}static getUtils(){return z}getUtils(){return K.getUtils()}static get PolyBezier(){return he}valueOf(){return this.toString()}toString(){return z.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const n=this.points,r=n[0].x,i=n[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let a=1,s=n.length;a0}length(){return z.length(this.derivative.bind(this))}static getABC(n=2,r,i,o,a=.5){const s=z.projectionratio(a,n),u=1-s,c={x:s*r.x+u*o.x,y:s*r.y+u*o.y},l=z.abcratio(a,n);return{A:{x:i.x+(i.x-c.x)/l,y:i.y+(i.y-c.y)/l},B:i,C:c,S:r,E:o}}getABC(n,r){r=r||this.get(n);let i=this.points[0],o=this.points[this.order];return K.getABC(this.order,i,r,o,n)}getLUT(n){if(this.verify(),n=n||100,this._lut.length===n+1)return this._lut;this._lut=[],n++,this._lut=[];for(let r=0,i,o;r1?1:h,d=this.compute(h),d.t=h,d.d=l,d}get(n){return this.compute(n)}point(n){return this.points[n]}compute(n){return this.ratios?z.computeWithRatios(n,this.points,this.ratios,this._3d):z.compute(n,this.points,this._3d,this.ratios)}raise(){const n=this.points,r=[n[0]],i=n.length;for(let o=1,a,s;o1;){i=[];for(let s=0,u,c=r.length-1;s=0&&s<=1}),r=r.concat(n[i].sort(z.numberSort))}).bind(this)),n.values=r.sort(z.numberSort).filter(function(i,o){return r.indexOf(i)===o}),n}bbox(){const n=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=z.getminmax(this,i,n[i])}).bind(this)),r}overlaps(n){const r=this.bbox(),i=n.bbox();return z.bboxoverlap(r,i)}offset(n,r){if(typeof r<"u"){const i=this.get(n),o=this.normal(n),a={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(a.z=i.z+o.z*r),a}if(this._linear){const i=this.normal(0),o=this.points.map(function(a){const s={x:a.x+n*i.x,y:a.y+n*i.y};return a.z&&i.z&&(s.z=a.z+n*i.z),s});return[new K(o)]}return this.reduce().map(function(i){return i._linear?i.offset(n)[0]:i.scale(n)})}simple(){if(this.order===3){const o=z.angle(this.points[0],this.points[3],this.points[1]),a=z.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&a<0||o<0&&a>0)return!1}const n=this.normal(0),r=this.normal(1);let i=n.x*r.x+n.y*r.y;return this._3d&&(i+=n.z*r.z),ie(Yf(i))(1-u/o)*r+u/o*i);return new K(this.points.map((s,u)=>({x:s.x+n.x*a[u],y:s.y+n.y*a[u]})))}scale(n){const r=this.order;let i=!1;if(typeof n=="function"&&(i=n),i&&r===2)return this.raise().scale(i);const o=this.clockwise,a=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):n,i?i(1):n);const s=i?i(0):n,u=i?i(1):n,c=[this.offset(0,10),this.offset(1,10)],l=[],f=z.lli4(c[0],c[0].c,c[1],c[1].c);if(!f)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const d=l[h*r]=z.copy(a[h*r]);d.x+=(h?u:s)*c[h].n.x,d.y+=(h?u:s)*c[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var d=a[h+1],p={x:d.x-f.x,y:d.y-f.y},y=i?i((h+1)/r):n;i&&!o&&(y=-y);var m=oe(p.x*p.x+p.y*p.y);p.x/=m,p.y/=m,l[h+1]={x:d.x+y*p.x,y:d.y+y*p.y}}}),new K(l)):([0,1].forEach(h=>{if(r===2&&h)return;const d=l[h*r],p=this.derivative(h),y={x:d.x+p.x,y:d.y+p.y};l[h+1]=z.lli4(d,y,f,a[h+1])}),new K(l))}outline(n,r,i,o){if(r=r===void 0?n:r,this._linear){const _=this.normal(0),w=this.points[0],A=this.points[this.points.length-1];let T,R,P;i===void 0&&(i=n,o=r),T={x:w.x+_.x*n,y:w.y+_.y*n},P={x:A.x+_.x*i,y:A.y+_.y*i},R={x:(T.x+P.x)/2,y:(T.y+P.y)/2};const N=[T,R,P];T={x:w.x-_.x*r,y:w.y-_.y*r},P={x:A.x-_.x*o,y:A.y-_.y*o},R={x:(T.x+P.x)/2,y:(T.y+P.y)/2};const D=[P,R,T],U=z.makeline(D[2],N[0]),S=z.makeline(N[2],D[0]),j=[U,new K(N),S,new K(D)];return new he(j)}const a=this.reduce(),s=a.length,u=[];let c=[],l,f=0,h=this.length();const d=typeof i<"u"&&typeof o<"u";function p(_,w,A,T,R){return function(P){const N=T/A,D=(T+R)/A,U=w-_;return z.map(P,0,1,_+N*U,_+D*U)}}a.forEach(function(_){const w=_.length();d?(u.push(_.scale(p(n,i,h,f,w))),c.push(_.scale(p(-r,-o,h,f,w)))):(u.push(_.scale(n)),c.push(_.scale(-r))),f+=w}),c=c.map(function(_){return l=_.points,l[3]?_.points=[l[3],l[2],l[1],l[0]]:_.points=[l[2],l[1],l[0]],_}).reverse();const y=u[0].points[0],m=u[s-1].points[u[s-1].points.length-1],v=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],k=z.makeline(v,y),M=z.makeline(m,g),b=[k].concat(u).concat([M]).concat(c);return new he(b)}outlineshapes(n,r,i){r=r||n;const o=this.outline(n,r).curves,a=[];for(let s=1,u=o.length;s1,c.endcap.virtual=s{var u=this.get(s);return z.between(u.x,r,o)&&z.between(u.y,i,a)})}selfintersects(n){const r=this.reduce(),i=r.length-2,o=[];for(let a=0,s,u,c;a0&&(a=a.concat(u))}),a}arcs(n){return n=n||.5,this._iterate(n,[])}_error(n,r,i,o){const a=(o-i)/4,s=this.get(i+a),u=this.get(o-a),c=z.dist(n,r),l=z.dist(n,s),f=z.dist(n,u);return ie(l-c)+ie(f-c)}_iterate(n,r){let i=0,o=1,a;do{a=0,o=1;let s=this.get(i),u,c,l,f,h=!1,d=!1,p,y=o,m=1;do if(d=h,f=l,y=(i+o)/2,u=this.get(y),c=this.get(o),l=z.getccenter(s,u,c),l.interval={start:i,end:o},h=this._error(l,s,i,o)<=n,p=d&&!h,p||(m=o),h){if(o>=1){if(l.interval.end=m=1,f=l,o>1){let g={x:l.x+l.r*Bf(l.e),y:l.y+l.r*Xf(l.e)};l.e+=z.angle({x:l.x,y:l.y},g,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!p&&a++<100);if(a>=100)break;f=f||l,r.push(f),i=m}while(o<1);return r}}function An(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=(n instanceof Array?n.length?n:[void 0]:[n]).map(function(u){return{keyAccessor:u,isProp:!(u instanceof Function)}}),a=e.reduce(function(u,c){var l=u,f=c;return o.forEach(function(h,d){var p=h.keyAccessor,y=h.isProp,m;if(y){var v=f,g=v[p],k=rh(v,[p].map(uh));m=g,f=k}else m=p(f,d);d+11&&arguments[1]!==void 0?arguments[1]:1;l===o.length?Object.keys(c).forEach(function(f){return c[f]=r(c[f])}):Object.values(c).forEach(function(f){return u(f,l+1)})})(a);var s=a;return i&&(s=[],(function u(c){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];l.length===o.length?s.push({keys:l,vals:c}):Object.entries(c).forEach(function(f){var h=oh(f,2),d=h[0],p=h[1];return u(p,[].concat(ah(l),[d]))})})(a),n instanceof Array&&n.length===0&&s.length===1&&(s[0].keys=[])),s});function ch(e){for(var n=e.length/6|0,r=new Array(n),i=0;i"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var dh=`.force-graph-container canvas { display: block; user-select: none; outline: none; @@ -44,9 +44,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho cursor: -moz-grabbing; cursor: -webkit-grabbing; } -`;ch(fh);function Sn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r2&&arguments[2]!==void 0?arguments[2]:{},a=o.nodeFilter,s=a===void 0?function(){return!0}:a,u=o.onLoopError,c=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,l={};r.forEach(function(p){return l[n(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var y=p.source,x=p.target,m=_(y),g=_(x);if(!l.hasOwnProperty(m))throw"Missing source node with id: ".concat(m);if(!l.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var k=l[m],w=l[g];k.out.push(w);function _(v){return Mn(v)==="object"?n(v):v}});var f=[];d(Object.values(l));var h=Object.assign.apply(Object,[{}].concat(gt(Object.entries(l).filter(function(p){var y=de(p,2),x=y[1];return!x.skip}).map(function(p){var y=de(p,2),x=y[0],m=y[1];return ye({},x,m.depth)}))));return h;function d(p){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,m=function(){var _=p[g];if(y.indexOf(_)!==-1){var v=[].concat(gt(y.slice(y.indexOf(_))),[_]).map(function(A){return n(A.data)});return f.some(function(A){return A.length===v.length&&A.every(function(M,T){return M===v[T]})})||(f.push(v),c(v)),1}x>_.depth&&(_.depth=x,d(_.out,[].concat(gt(y),[_]),x+(_.skip?0:1)))},g=0,k=p.length;gn.cooldownTicks||new Date-n.startTickTime>n.cooldownTime||n.d3AlphaMin>0&&n.forceLayout.alpha()0){var D=Math.atan2(P.y-R.y,P.x-R.x),U=N*T,S={x:(R.x+P.x)/2+U*Math.cos(D-Math.PI/2),y:(R.y+P.y)/2+U*Math.sin(D-Math.PI/2)};M.__controlPoints=[S.x,S.y]}else{var j=T*70;M.__controlPoints=[P.x,P.y-j,P.x+j,P.y]}}}}function a(){var u=1.6,c=.2,l=B(n.linkDirectionalArrowLength),f=B(n.linkDirectionalArrowRelPos),h=B(n.linkVisibility),d=B(n.linkDirectionalArrowColor||n.linkColor),p=B(n.nodeVal),y=n.ctx;y.save(),n.graphData.links.filter(h).forEach(function(x){var m=l(x);if(!(!m||m<0)){var g=x.source,k=x.target;if(!(!g||!k||!g.hasOwnProperty("x")||!k.hasOwnProperty("x"))){var w=Math.sqrt(Math.max(0,p(g)||1))*n.nodeRelSize,_=Math.sqrt(Math.max(0,p(k)||1))*n.nodeRelSize,v=Math.min(1,Math.max(0,f(x))),A=d(x)||"rgba(0,0,0,0.28)",M=m/u/2,T=x.__controlPoints&&$r(K,[g.x,g.y].concat(gt(x.__controlPoints),[k.x,k.y])),R=T?function(E){return T.get(E)}:function(E){return{x:g.x+(k.x-g.x)*E||0,y:g.y+(k.y-g.y)*E||0}},P=T?T.length():Math.sqrt(Math.pow(k.x-g.x,2)+Math.pow(k.y-g.y,2)),N=w+m+(P-w-_-m)*v,D=R(N/P),U=R((N-m)/P),S=R((N-m*(1-c))/P),j=Math.atan2(D.y-U.y,D.x-U.x)-Math.PI/2;y.beginPath(),y.moveTo(D.x,D.y),y.lineTo(U.x+M*Math.cos(j),U.y+M*Math.sin(j)),y.lineTo(S.x,S.y),y.lineTo(U.x-M*Math.cos(j),U.y-M*Math.sin(j)),y.fillStyle=A,y.fill()}}}),y.restore()}function s(){var u=B(n.linkDirectionalParticles),c=B(n.linkDirectionalParticleSpeed),l=B(n.linkDirectionalParticleOffset),f=B(n.linkDirectionalParticleWidth),h=B(n.linkVisibility),d=B(n.linkDirectionalParticleColor||n.linkColor),p=n.ctx;p.save(),n.graphData.links.filter(h).forEach(function(y){var x=u(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var m=y.source,g=y.target;if(!(!m||!g||!m.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var k=c(y),w=Math.abs(l(y)),_=y.__photons||[],v=Math.max(0,f(y)/2)/Math.sqrt(n.globalScale),A=d(y)||"rgba(0,0,0,0.28)";p.fillStyle=A;var M=y.__controlPoints?$r(K,[m.x,m.y].concat(gt(y.__controlPoints),[g.x,g.y])):null,T=0,R=!1;_.forEach(function(P){var N=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=N?k<0?1:0:(T+w)/x),!N&&T++,P.__progressRatio+=k,P.__progressRatio>=1||P.__progressRatio<0)if(!N)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{R=!0;return}var D=P.__progressRatio,U=M?M.get(D):{x:m.x+(g.x-m.x)*D||0,y:m.y+(g.y-m.y)*D||0};n.linkDirectionalParticleCanvasObject?n.linkDirectionalParticleCanvasObject(U.x,U.y,y,p,n.globalScale):(p.beginPath(),p.arc(U.x,U.y,v,0,2*Math.PI,!1),p.fill())}),R&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),p.restore()}},emitParticle:function(n,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Lf().force("link",Ef()).force("charge",Ff()).force("center",zc()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(n,r){r.ctx=n},update:function(n,r){n.engineRunning=!1,n.onUpdate(),n.nodeAutoColorBy!==null&&Fr(n.graphData.nodes,B(n.nodeAutoColorBy),n.nodeColor),n.linkAutoColorBy!==null&&Fr(n.graphData.links,B(n.linkAutoColorBy),n.linkColor),n.graphData.links.forEach(function(d){d.source=d[n.linkSource],d.target=d[n.linkTarget]}),n.forceLayout.stop().alpha(1).nodes(n.graphData.nodes);var i=n.forceLayout.force("link");i&&i.id(function(d){return d[n.nodeId]}).links(n.graphData.links);var o=n.dagMode&&bh(n.graphData,function(d){return d[n.nodeId]},{nodeFilter:n.dagNodeFilter,onLoopError:n.onDagError||void 0}),a=Math.max.apply(Math,gt(Object.values(o||[]))),s=n.dagLevelDistance||n.graphData.nodes.length/(a||1)*wh*(["radialin","radialout"].indexOf(n.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(n.dagMode)){var c=["rl","bu"].includes(n.dagMode),l=function(p){return(o[p[n.nodeId]]-a/2)*s*(c?-1:1)},f=["lr","rl"].includes(n.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return d[f]=l(d)})}n.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(n.dagMode)!==-1?Uf(function(d){var p=o[d[n.nodeId]]||-1;return(n.dagMode==="radialin"?a-p:p)*s}).strength(function(d){return n.dagNodeFilter(d)?1:0}):null);for(var h=0;h0&&n.forceLayout.alpha()1?u-1:0),l=1;l1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,a=new Array(o>3?o-3:0),s=3;s1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=B(n.nodeVal),o=function(u){return Math.sqrt(Math.max(0,i(u)||1))*n.nodeRelSize},a=n.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:o(s)}});return a.length?{x:[Zn(a,function(s){return s.x-s.r}),Kn(a,function(s){return s.x+s.r})],y:[Zn(a,function(s){return s.y-s.r}),Kn(a,function(s){return s.y+s.r})]}:null},pauseAnimation:function(n){return n.animationFrameRequestId&&(cancelAnimationFrame(n.animationFrameRequestId),n.animationFrameRequestId=null),this},resumeAnimation:function(n){return n.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Th),stateInit:function(){return{lastSetZoom:1,zoom:qu(),forceGraph:new qe,shadowGraph:new qe().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new lc,tweenGroup:new bi}},init:function(n,r){var i=this;n.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",n.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var a=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},c=function(){var h=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(h=r.colorTracker.lookup(p.data)),h};pt(r.canvas).call(As().subject(function(){if(!r.enableNodeDrag)return null;var f=c();return f&&f.type==="Node"?f.d:null}).on("start",function(f){var h=f.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},f.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(f){var h=f.subject,d=h.__initialDragPos,p=f,y=mt(r.canvas).k,x={x:d.x+(p.x-d.x)/y-h.x,y:d.y+(p.y-d.y)/y-h.y};["x","y"].forEach(function(m){return h["f".concat(m)]=h[m]=d[m]+(p[m]-d[m])/y}),!(!h.__dragged&&Ah>=Math.sqrt(_o(["x","y"].map(function(m){return Math.pow(f[m]-d[m],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,x))}).on("end",function(f){var h=f.subject,d=h.__initialDragPos,p={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,p))})),r.zoom(r.zoom.__baseElem=pt(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(f){return!f.button&&r.enableZoomPanInteraction&&(f.type!=="wheel"||B(r.enableZoomInteraction)(f))&&(f.type==="wheel"||B(r.enablePanInteraction)(f))}).on("zoom",function(f){var h=f.transform;[a,s].forEach(function(d){Ki(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(Gt(Gt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(f){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(Gt(Gt({},f.transform),i.centerAt()))}),an(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){mt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Ch/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Ec(o),["pointermove","pointerdown"].forEach(function(f){return o.addEventListener(f,function(h){f==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=p(o);u.x=h.pageX-d.left,u.y=h.pageY-d.top;function p(y){var x=y.getBoundingClientRect(),m=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:x.top+g,left:x.left+m}}},{passive:!0})}),o.addEventListener("pointerup",function(f){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[f,r.pointerDownEvent];requestAnimationFrame(function(){if(f.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(f.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(f){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(f.preventDefault(),!1)}),r.forceGraph(a),r.shadowGraph(s);var l=yl(function(){Hr(s,r.width,r.height),r.shadowGraph.linkWidth(function(h){return B(r.linkWidth)(h)+r.linkHoverPrecision});var f=mt(r.canvas);r.shadowGraph.globalScale(f.k).tickFrame()},kh);r.flushShadowCanvas=l.flush,(this._animationCycle=function f(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(w){return w.__photons&&w.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:c();if(d!==r.hoverObj){var p=r.hoverObj,y=p?p.type:null,x=d?d.type:null;if(y&&y!==x){var m=r["on".concat(y,"Hover")];m&&m(null,p.d)}if(x){var g=r["on".concat(x,"Hover")];g&&g(d.d,y===x?p.d:null)}r.tooltip.content(d&&B(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(x,"Click")]||!d&&r.onBackgroundClick)&&B(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&l()}if(h){Hr(a,r.width,r.height);var k=mt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(a,k),r.forceGraph.globalScale(k).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(a,k)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(f)})()},update:function(n){}}),sn={exports:{}},un,qr;function Oh(){if(qr)return un;qr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return un=e,un}var ln,Wr;function Eh(){if(Wr)return ln;Wr=1;var e=Oh();function n(){}function r(){}return r.resetWarningCache=n,ln=function(){function i(s,u,c,l,f,h){if(h!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}i.isRequired=i;function o(){return i}var a={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a},ln}var Gr;function zh(){return Gr||(Gr=1,sn.exports=Eh()()),sn.exports}var Nh=zh();const b=io(Nh),Ze={width:b.number,height:b.number,graphData:b.shape({nodes:b.arrayOf(b.object).isRequired,links:b.arrayOf(b.object).isRequired}),backgroundColor:b.string,nodeRelSize:b.number,nodeId:b.string,nodeLabel:b.oneOfType([b.string,b.func]),nodeVal:b.oneOfType([b.number,b.string,b.func]),nodeVisibility:b.oneOfType([b.bool,b.string,b.func]),nodeColor:b.oneOfType([b.string,b.func]),nodeAutoColorBy:b.oneOfType([b.string,b.func]),onNodeHover:b.func,onNodeClick:b.func,linkSource:b.string,linkTarget:b.string,linkLabel:b.oneOfType([b.string,b.func]),linkVisibility:b.oneOfType([b.bool,b.string,b.func]),linkColor:b.oneOfType([b.string,b.func]),linkAutoColorBy:b.oneOfType([b.string,b.func]),linkWidth:b.oneOfType([b.number,b.string,b.func]),linkCurvature:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowLength:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowColor:b.oneOfType([b.string,b.func]),linkDirectionalArrowRelPos:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticles:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleSpeed:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleOffset:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleWidth:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleColor:b.oneOfType([b.string,b.func]),onLinkHover:b.func,onLinkClick:b.func,dagMode:b.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:b.number,dagNodeFilter:b.func,onDagError:b.func,d3AlphaMin:b.number,d3AlphaDecay:b.number,d3VelocityDecay:b.number,warmupTicks:b.number,cooldownTicks:b.number,cooldownTime:b.number,onEngineTick:b.func,onEngineStop:b.func,getGraphBbox:b.func},Qi={zoomToFit:b.func,onNodeRightClick:b.func,onNodeDrag:b.func,onNodeDragEnd:b.func,onLinkRightClick:b.func,linkHoverPrecision:b.number,onBackgroundClick:b.func,onBackgroundRightClick:b.func,showPointerCursor:b.oneOfType([b.bool,b.func]),enablePointerInteraction:b.bool,enableNodeDrag:b.bool},Wn={showNavInfo:b.bool,nodeOpacity:b.number,nodeResolution:b.number,nodeThreeObject:b.oneOfType([b.object,b.string,b.func]),nodeThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),nodePositionUpdate:b.func,linkOpacity:b.number,linkResolution:b.number,linkCurveRotation:b.oneOfType([b.number,b.string,b.func]),linkMaterial:b.oneOfType([b.object,b.string,b.func]),linkThreeObject:b.oneOfType([b.object,b.string,b.func]),linkThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),linkPositionUpdate:b.func,linkDirectionalArrowResolution:b.number,linkDirectionalParticleResolution:b.number,linkDirectionalParticleThreeObject:b.oneOfType([b.object,b.string,b.func]),forceEngine:b.oneOf(["d3","ngraph"]),ngraphPhysics:b.object,numDimensions:b.oneOf([1,2,3])},Rh=Object.assign({},Ze,Qi,{linkLineDash:b.oneOfType([b.arrayOf(b.number),b.string,b.func]),nodeCanvasObjectMode:b.oneOfType([b.string,b.func]),nodeCanvasObject:b.func,nodePointerAreaPaint:b.func,linkCanvasObjectMode:b.oneOfType([b.string,b.func]),linkCanvasObject:b.func,linkPointerAreaPaint:b.func,linkDirectionalParticleCanvasObject:b.func,autoPauseRedraw:b.bool,minZoom:b.number,maxZoom:b.number,enableZoomInteraction:b.oneOfType([b.bool,b.func]),enablePanInteraction:b.oneOfType([b.bool,b.func]),onZoom:b.func,onZoomEnd:b.func,onRenderFramePre:b.func,onRenderFramePost:b.func});Object.assign({},Ze,Qi,Wn,{enableNavigationControls:b.bool,controlType:b.oneOf(["trackball","orbit","fly"]),rendererConfig:b.object,extraRenderers:b.arrayOf(b.shape({render:b.func.isRequired}))});Object.assign({},Ze,Wn,{nodeDesc:b.oneOfType([b.string,b.func]),linkDesc:b.oneOfType([b.string,b.func])});Object.assign({},Ze,Wn,{markerAttrs:b.object,yOffset:b.number,glScale:b.number});const Gn=Io(Ph,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Gn.displayName="ForceGraph2D";Gn.propTypes=Rh;function wt(e){return function(){return e}}function Vr(e){return(e()-.5)*1e-6}function jh(e){return e.x+e.vx}function Dh(e){return e.y+e.vy}function Ih(e){var n,r,i,o=1,a=1;typeof e!="function"&&(e=wt(e==null?1:+e));function s(){for(var l,f=n.length,h,d,p,y,x,m,g=0;gd.index){var N=p-T.x-T.vx,D=y-T.y-T.vy,U=N*N+D*D;Up+P||Ay+P||Ml.r&&(l.r=l[f].r)}function c(){if(n){var l,f=n.length,h;for(r=new Array(f),l=0;la[0]-s[0]||a[1]-s[1]),r=(a,s,u)=>(s[0]-a[0])*(u[1]-a[1])-(s[1]-a[1])*(u[0]-a[0]),i=[];for(const a of n){for(;i.length>=2&&r(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a)}const o=[];for(let a=n.length-1;a>=0;a--){const s=n[a];for(;o.length>=2&&r(o[o.length-2],o[o.length-1],s)<=0;)o.pop();o.push(s)}return i.pop(),o.pop(),i.concat(o)}function Xh({data:e,selectedNodeId:n,onNodeSelect:r}){const[i,o]=W.useState(null),[a,s]=W.useState(.75),u=W.useRef(null),c=W.useRef(null),[l,f]=W.useState({width:500,height:560});W.useEffect(()=>{if(!u.current)return;const C=new ResizeObserver(O=>{for(const I of O)I.contentRect.width>0&&I.contentRect.height>0&&f({width:Math.floor(I.contentRect.width),height:Math.floor(I.contentRect.height)})});return C.observe(u.current),()=>C.disconnect()},[]);const h=W.useRef(new Map),d=W.useMemo(()=>{const C=h.current,O=new Set,I=e.nodes.map(F=>{O.add(F.id);let G=C.get(F.id);return G?(G.content!==F.content||G.category!==F.category)&&(G.content=F.content,G.category=F.category,G.__baseTextWidth=void 0):(G={...F},C.set(F.id,G)),G});for(const F of Array.from(C.keys()))O.has(F)||C.delete(F);const L=new Map(e.nodes.map(F=>[F.id,F.category])),H=e.edges.map(F=>({source:F.source,target:F.target,weight:F.weight||0,__sid:F.source,__tid:F.target,__sameCat:L.get(F.source)===L.get(F.target),__restColor:Hh[L.get(F.source)??""]??Uh}));return{nodes:I,links:H}},[e]),p=W.useMemo(()=>{const C={};return e.edges.forEach(O=>{C[O.source]=(C[O.source]||0)+1,C[O.target]=(C[O.target]||0)+1}),C},[e]),y=C=>({identity:-240,knowledge:240,rules:-240,events:240})[C]||0,x=C=>({identity:-240,knowledge:-240,rules:240,events:240})[C]||0,m=W.useMemo(()=>`${e.nodes.map(C=>C.id).sort().join(",")}#${e.edges.length}`,[e]);W.useEffect(()=>{const C=c.current;if(!C)return;C.d3Force("center",null),C.d3Force("x",$h().x(L=>y(L.category)).strength(.1)),C.d3Force("y",Lh().y(L=>x(L.category)).strength(.1));const O=C.d3Force("charge");O&&O.strength(-380),C.d3Force("collide",Ih().radius(28).iterations(2));const I=C.d3Force("link");I&&I.distance(L=>L.__sameCat?70:200).strength(L=>L.__sameCat?.3*(L.weight||.6):.01),C.d3ReheatSimulation()},[m]);const g=i||n,k=W.useMemo(()=>d.links.filter(C=>C.__sameCat&&(C.weight||0)>=a).length,[d,a]),w=()=>{c.current&&c.current.zoomToFit(400,40)},_=W.useMemo(()=>{if(!g)return new Set;const C=new Set;return e.edges.forEach(O=>{O.source===g&&C.add(O.target),O.target===g&&C.add(O.source)}),C},[g,e]),v=W.useCallback(C=>g?C.__sid===g||C.__tid===g:C.__sameCat&&(C.weight||0)>=a,[g,a]),A=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?Fh:C.__restColor,[g]),M=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?2.5:1.4,[g]),T=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?4:0,[g]),R=W.useCallback((C,O)=>{const I=c.current,L=u.current;if(!I||!L)return null;const H=L.getBoundingClientRect(),{x:F,y:G}=I.screen2GraphCoords(C-H.left,O-H.top),V=Math.max(I.zoom()||1,.01);let X=null,tt=1/0;for(const Z of d.nodes){if(Z.x==null||Z.y==null)continue;const st=6+Math.min(p[Z.id]||0,15)*.8,et=Math.max(st+3,16/V),qt=Z.x-F,At=Z.y-G,nt=qt*qt+At*At;nt<=et*et&&nt{const O=C.target instanceof HTMLCanvasElement?R(C.clientX,C.clientY):null;o(O?O.id:null),u.current&&(u.current.style.cursor=O?"pointer":"default")},[R]),N=W.useCallback(()=>{o(null),u.current&&(u.current.style.cursor="default")},[]),D=W.useRef(null),U=W.useCallback(C=>{D.current={x:C.clientX,y:C.clientY}},[]),S=W.useCallback(C=>{if(!(C.target instanceof HTMLCanvasElement))return;const O=D.current;if(O&&Math.hypot(C.clientX-O.x,C.clientY-O.y)>6)return;const I=R(C.clientX,C.clientY);r(I?I.id:null)},[R,r]),j=W.useCallback((C,O)=>{var L;const I={};for(const H of d.nodes)H.x==null||H.y==null||(I[L=H.category]??(I[L]=[])).push([H.x,H.y]);for(const[H,F]of Object.entries(I)){const G=Wh[H];if(!G||F.length===0)continue;const V=Bh(F);let X=0,tt=0;V.forEach(et=>{X+=et[0],tt+=et[1]}),X/=V.length,tt/=V.length;const Z=34;if(C.beginPath(),V.length<3)C.arc(X,tt,Z+16,0,2*Math.PI);else{const et=V.map(([nt,lt])=>{const jt=nt-X,Zt=lt-tt,Kt=Math.hypot(jt,Zt)||1;return[nt+jt/Kt*Z,lt+Zt/Kt*Z]}),qt=(nt,lt)=>[(nt[0]+lt[0])/2,(nt[1]+lt[1])/2],At=qt(et[et.length-1],et[0]);C.moveTo(At[0],At[1]);for(let nt=0;ntet[1]));C.font='600 26px "Space Grotesk", sans-serif',C.textAlign="center",C.textBaseline="bottom",C.fillStyle=Vh[H],C.fillText(Xr[H]||H,X,st-Z-8)}},[d]),E=W.useCallback((C,O,I)=>{const L=C.x??0,H=C.y??0,F=6+Math.min(p[C.id]||0,15)*.8,G=Br[C.category]||"#64748b",V=C.id===i,X=C.id===n,tt=g&&C.id!==g&&!_.has(C.id),Z=tt?"#1e293b":G;if(tt||(O.beginPath(),O.arc(L,H,F*1.9,0,2*Math.PI,!1),O.fillStyle=qh[C.category]||"rgba(100, 116, 139, 0.14)",O.fill()),(V||X)&&(O.shadowColor=G,O.shadowBlur=15),O.beginPath(),O.arc(L,H,F,0,2*Math.PI,!1),O.fillStyle=Z,O.fill(),O.shadowBlur=0,(V||X)&&(O.beginPath(),O.arc(L,H,F+2.5,0,2*Math.PI,!1),O.strokeStyle=X?"#ffffff":"rgba(255, 255, 255, 0.7)",O.lineWidth=1.5,O.stroke()),V||X||g&&_.has(C.id)){const et=C.content.length>35?C.content.slice(0,34)+"…":C.content;if(C.__baseTextWidth===void 0){const Ji=O.font;O.font='500 10px "Space Grotesk", sans-serif',C.__baseTextWidth=O.measureText(et).width,O.font=Ji}const At=(V||X?10.5:9.5)/Math.max(.5,I);O.font=`${V||X?"bold":"500"} ${At}px "Space Grotesk", sans-serif`;const nt=C.__baseTextWidth*(At/10),lt=4.5/Math.max(.5,I),jt=L-nt/2-lt,Zt=H+F+6/Math.max(.5,I),Kt=nt+lt*2,Vn=At+lt*1.6;O.fillStyle=tt?"rgba(10, 15, 25, 0.45)":"rgba(8, 12, 20, 0.88)",O.fillRect(jt,Zt,Kt,Vn),O.strokeStyle=V||X?"rgba(255, 255, 255, 0.2)":"rgba(255, 255, 255, 0.08)",O.lineWidth=.6/Math.max(.5,I),O.strokeRect(jt,Zt,Kt,Vn),O.textAlign="center",O.textBaseline="top",O.fillStyle=tt?"#475569":V||X?"#ffffff":"#cbd5e1",O.fillText(et,L,H+F+7/Math.max(.5,I))}},[p,i,n,g,_]);return $.jsxs("div",{className:"absolute inset-0",ref:u,onPointerMove:P,onPointerLeave:N,onPointerDown:U,onClick:S,style:{background:"radial-gradient(circle at center, rgba(59, 130, 246, 0.08) 0%, #030712 100%)"},children:[$.jsx(Gn,{ref:c,width:l.width,height:l.height,graphData:d,backgroundColor:"rgba(0,0,0,0)",cooldownTicks:120,enablePointerInteraction:!1,enableNodeDrag:!1,onRenderFramePre:j,linkVisibility:v,linkColor:A,linkWidth:M,linkDirectionalParticles:T,linkDirectionalParticleWidth:2.2,linkDirectionalParticleSpeed:.006,nodeCanvasObject:E}),$.jsxs("button",{onClick:w,title:"Zentrieren",className:"absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-lg border border-border/60 bg-background/50 px-2.5 py-1.5 text-[11px] text-muted-foreground hover:text-foreground backdrop-blur-sm transition-colors cursor-pointer",children:[$.jsx(ho,{className:"h-3.5 w-3.5"})," Zentrieren"]}),$.jsxs("div",{className:"absolute left-3 bottom-3 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-background/40 px-2.5 py-1.5 backdrop-blur-sm",children:[Object.entries(Xr).map(([C,O])=>$.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[$.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:Br[C]}}),O]},C)),$.jsxs("label",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground border-l border-border/40 pl-3",children:[$.jsx("span",{children:"Verbindungen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"alle"}),$.jsx("input",{type:"range",min:.45,max:.95,step:.05,value:a,onChange:C=>s(Number(C.target.value)),className:"w-20 accent-primary cursor-pointer",title:"Nur Verbindungen ab dieser Stärke zeigen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"stark"}),$.jsx("span",{className:"font-mono text-[9px] text-muted-foreground/80 min-w-[3ch] text-right",children:k})]})]})]})}class Yh extends W.Component{constructor(){super(...arguments);Bn(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?$.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:[$.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),$.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Zh={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function id(){const{data:e,isLoading:n}=oo(),[r,i]=W.useState(null),[o,a]=W.useState(null),[s,u]=W.useState(!1),[c,l]=W.useState(""),[f,h]=W.useState(!1),{data:d,isLoading:p}=ao(f),y=W.useMemo(()=>(e==null?void 0:e.files)??[],[e]),x=W.useMemo(()=>{const w=new Map;for(const _ of y)w.set(_.name.toLowerCase(),_.path);return w},[y]),m=W.useMemo(()=>{if(!c.trim())return y;const w=c.toLowerCase();return y.filter(_=>_.title.toLowerCase().includes(w)||_.path.toLowerCase().includes(w))},[y,c]),g=W.useMemo(()=>{const w=[];for(const _ of m){const v=w.find(A=>A.dir===_.dir);v?v.files.push(_):w.push({dir:_.dir,files:[_]})}return w.sort((_,v)=>_.dir===""?-1:v.dir===""?1:_.dir.localeCompare(v.dir))},[m]);W.useEffect(()=>{if(!r&&y.length){const w=y.find(_=>_.path.toLowerCase()==="index.md");i((w==null?void 0:w.path)??y[0].path)}},[y,r]),W.useEffect(()=>{r&&(u(!0),so(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(a).catch(()=>a({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const k=w=>{const _=x.get(w.toLowerCase());_&&i(_)};return $.jsxs("div",{className:"space-y-5",children:[$.jsxs("div",{className:"flex items-center justify-between",children:[$.jsxs("div",{children:[$.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:"Wissen"}),$.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),y.length>0&&$.jsxs("div",{className:"flex rounded-lg border border-border/60 bg-card p-1",children:[$.jsx("button",{onClick:()=>h(!1),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"text-muted-foreground hover:bg-muted":"bg-primary text-primary-foreground shadow"),children:"Liste"}),$.jsx("button",{onClick:()=>h(!0),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",f?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:bg-muted"),children:"Graph"})]})]}),e&&!e.available&&$.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),n&&$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&y.length===0&&$.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),f?$.jsxs("div",{className:"mc-card flex h-[70vh] flex-col overflow-hidden p-0 relative",children:[p&&$.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Graph wird berechnet …"]})}),$.jsx(Yh,{children:d&&$.jsx(Xh,{data:d,selectedNodeId:r,onNodeSelect:w=>{w&&(i(w),h(!1))}})})]}):y.length>0&&$.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[$.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[$.jsxs("div",{className:"relative",children:[$.jsx("input",{value:c,onChange:w=>l(w.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),$.jsx(po,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),$.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:g.map(({dir:w,files:_})=>$.jsxs("div",{children:[$.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[$.jsx(yo,{className:"h-3 w-3"})," ",Zh[w]??w]}),$.jsx("div",{className:"space-y-0.5",children:_.map(v=>$.jsxs("button",{onClick:()=>i(v.path),className:Ae("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===v.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[$.jsx(go,{className:"h-3.5 w-3.5 shrink-0"}),$.jsx("span",{className:"truncate",title:v.title,children:v.name}),v.neu&&$.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[$.jsx(uo,{className:"h-2.5 w-2.5"}),"neu"]})]},v.path))})]},w||"__root"))})]}),$.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:s?$.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):o?$.jsxs($.Fragment,{children:[$.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[$.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[$.jsx(lo,{className:"h-3.5 w-3.5"})," ",o.path]}),o.mtime>0&&$.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(o.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),$.jsx(Kh,{text:o.content,onWikiLink:k,known:x})]}):null})]})]})}function Kh({text:e,onWikiLink:n,known:r}){const i=e.split(` +`;hh(dh);function Sn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r2&&arguments[2]!==void 0?arguments[2]:{},a=o.nodeFilter,s=a===void 0?function(){return!0}:a,u=o.onLoopError,c=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,l={};r.forEach(function(p){return l[n(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var y=p.source,m=p.target,v=b(y),g=b(m);if(!l.hasOwnProperty(v))throw"Missing source node with id: ".concat(v);if(!l.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var k=l[v],M=l[g];k.out.push(M);function b(_){return Mn(_)==="object"?n(_):_}});var f=[];d(Object.values(l));var h=Object.assign.apply(Object,[{}].concat(gt(Object.entries(l).filter(function(p){var y=de(p,2),m=y[1];return!m.skip}).map(function(p){var y=de(p,2),m=y[0],v=y[1];return ye({},m,v.depth)}))));return h;function d(p){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,v=function(){var b=p[g];if(y.indexOf(b)!==-1){var _=[].concat(gt(y.slice(y.indexOf(b))),[b]).map(function(w){return n(w.data)});return f.some(function(w){return w.length===_.length&&w.every(function(A,T){return A===_[T]})})||(f.push(_),c(_)),1}m>b.depth&&(b.depth=m,d(b.out,[].concat(gt(y),[b]),m+(b.skip?0:1)))},g=0,k=p.length;gn.cooldownTicks||new Date-n.startTickTime>n.cooldownTime||n.d3AlphaMin>0&&n.forceLayout.alpha()0){var D=Math.atan2(P.y-R.y,P.x-R.x),U=N*T,S={x:(R.x+P.x)/2+U*Math.cos(D-Math.PI/2),y:(R.y+P.y)/2+U*Math.sin(D-Math.PI/2)};A.__controlPoints=[S.x,S.y]}else{var j=T*70;A.__controlPoints=[P.x,P.y-j,P.x+j,P.y]}}}}function a(){var u=1.6,c=.2,l=B(n.linkDirectionalArrowLength),f=B(n.linkDirectionalArrowRelPos),h=B(n.linkVisibility),d=B(n.linkDirectionalArrowColor||n.linkColor),p=B(n.nodeVal),y=n.ctx;y.save(),n.graphData.links.filter(h).forEach(function(m){var v=l(m);if(!(!v||v<0)){var g=m.source,k=m.target;if(!(!g||!k||!g.hasOwnProperty("x")||!k.hasOwnProperty("x"))){var M=Math.sqrt(Math.max(0,p(g)||1))*n.nodeRelSize,b=Math.sqrt(Math.max(0,p(k)||1))*n.nodeRelSize,_=Math.min(1,Math.max(0,f(m))),w=d(m)||"rgba(0,0,0,0.28)",A=v/u/2,T=m.__controlPoints&&$r(K,[g.x,g.y].concat(gt(m.__controlPoints),[k.x,k.y])),R=T?function(E){return T.get(E)}:function(E){return{x:g.x+(k.x-g.x)*E||0,y:g.y+(k.y-g.y)*E||0}},P=T?T.length():Math.sqrt(Math.pow(k.x-g.x,2)+Math.pow(k.y-g.y,2)),N=M+v+(P-M-b-v)*_,D=R(N/P),U=R((N-v)/P),S=R((N-v*(1-c))/P),j=Math.atan2(D.y-U.y,D.x-U.x)-Math.PI/2;y.beginPath(),y.moveTo(D.x,D.y),y.lineTo(U.x+A*Math.cos(j),U.y+A*Math.sin(j)),y.lineTo(S.x,S.y),y.lineTo(U.x-A*Math.cos(j),U.y-A*Math.sin(j)),y.fillStyle=w,y.fill()}}}),y.restore()}function s(){var u=B(n.linkDirectionalParticles),c=B(n.linkDirectionalParticleSpeed),l=B(n.linkDirectionalParticleOffset),f=B(n.linkDirectionalParticleWidth),h=B(n.linkVisibility),d=B(n.linkDirectionalParticleColor||n.linkColor),p=n.ctx;p.save(),n.graphData.links.filter(h).forEach(function(y){var m=u(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var v=y.source,g=y.target;if(!(!v||!g||!v.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var k=c(y),M=Math.abs(l(y)),b=y.__photons||[],_=Math.max(0,f(y)/2)/Math.sqrt(n.globalScale),w=d(y)||"rgba(0,0,0,0.28)";p.fillStyle=w;var A=y.__controlPoints?$r(K,[v.x,v.y].concat(gt(y.__controlPoints),[g.x,g.y])):null,T=0,R=!1;b.forEach(function(P){var N=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=N?k<0?1:0:(T+M)/m),!N&&T++,P.__progressRatio+=k,P.__progressRatio>=1||P.__progressRatio<0)if(!N)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{R=!0;return}var D=P.__progressRatio,U=A?A.get(D):{x:v.x+(g.x-v.x)*D||0,y:v.y+(g.y-v.y)*D||0};n.linkDirectionalParticleCanvasObject?n.linkDirectionalParticleCanvasObject(U.x,U.y,y,p,n.globalScale):(p.beginPath(),p.arc(U.x,U.y,_,0,2*Math.PI,!1),p.fill())}),R&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),p.restore()}},emitParticle:function(n,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Uf().force("link",Nf()).force("charge",Hf()).force("center",Rc()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(n,r){r.ctx=n},update:function(n,r){n.engineRunning=!1,n.onUpdate(),n.nodeAutoColorBy!==null&&Fr(n.graphData.nodes,B(n.nodeAutoColorBy),n.nodeColor),n.linkAutoColorBy!==null&&Fr(n.graphData.links,B(n.linkAutoColorBy),n.linkColor),n.graphData.links.forEach(function(d){d.source=d[n.linkSource],d.target=d[n.linkTarget]}),n.forceLayout.stop().alpha(1).nodes(n.graphData.nodes);var i=n.forceLayout.force("link");i&&i.id(function(d){return d[n.nodeId]}).links(n.graphData.links);var o=n.dagMode&&kh(n.graphData,function(d){return d[n.nodeId]},{nodeFilter:n.dagNodeFilter,onLoopError:n.onDagError||void 0}),a=Math.max.apply(Math,gt(Object.values(o||[]))),s=n.dagLevelDistance||n.graphData.nodes.length/(a||1)*Ch*(["radialin","radialout"].indexOf(n.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(n.dagMode)){var c=["rl","bu"].includes(n.dagMode),l=function(p){return(o[p[n.nodeId]]-a/2)*s*(c?-1:1)},f=["lr","rl"].includes(n.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return d[f]=l(d)})}n.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(n.dagMode)!==-1?qf(function(d){var p=o[d[n.nodeId]]||-1;return(n.dagMode==="radialin"?a-p:p)*s}).strength(function(d){return n.dagNodeFilter(d)?1:0}):null);for(var h=0;h0&&n.forceLayout.alpha()1?u-1:0),l=1;l1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,a=new Array(o>3?o-3:0),s=3;s1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=B(n.nodeVal),o=function(u){return Math.sqrt(Math.max(0,i(u)||1))*n.nodeRelSize},a=n.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:o(s)}});return a.length?{x:[Zn(a,function(s){return s.x-s.r}),Kn(a,function(s){return s.x+s.r})],y:[Zn(a,function(s){return s.y-s.r}),Kn(a,function(s){return s.y+s.r})]}:null},pauseAnimation:function(n){return n.animationFrameRequestId&&(cancelAnimationFrame(n.animationFrameRequestId),n.animationFrameRequestId=null),this},resumeAnimation:function(n){return n.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Oh),stateInit:function(){return{lastSetZoom:1,zoom:Gu(),forceGraph:new qe,shadowGraph:new qe().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new fc,tweenGroup:new bi}},init:function(n,r){var i=this;n.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",n.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var a=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},c=function(){var h=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(h=r.colorTracker.lookup(p.data)),h};pt(r.canvas).call(Ms().subject(function(){if(!r.enableNodeDrag)return null;var f=c();return f&&f.type==="Node"?f.d:null}).on("start",function(f){var h=f.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},f.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(f){var h=f.subject,d=h.__initialDragPos,p=f,y=mt(r.canvas).k,m={x:d.x+(p.x-d.x)/y-h.x,y:d.y+(p.y-d.y)/y-h.y};["x","y"].forEach(function(v){return h["f".concat(v)]=h[v]=d[v]+(p[v]-d[v])/y}),!(!h.__dragged&&Mh>=Math.sqrt(mo(["x","y"].map(function(v){return Math.pow(f[v]-d[v],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,m))}).on("end",function(f){var h=f.subject,d=h.__initialDragPos,p={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,p))})),r.zoom(r.zoom.__baseElem=pt(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(f){return!f.button&&r.enableZoomPanInteraction&&(f.type!=="wheel"||B(r.enableZoomInteraction)(f))&&(f.type==="wheel"||B(r.enablePanInteraction)(f))}).on("zoom",function(f){var h=f.transform;[a,s].forEach(function(d){Ki(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(Gt(Gt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(f){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(Gt(Gt({},f.transform),i.centerAt()))}),an(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){mt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Sh/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Nc(o),["pointermove","pointerdown"].forEach(function(f){return o.addEventListener(f,function(h){f==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=p(o);u.x=h.pageX-d.left,u.y=h.pageY-d.top;function p(y){var m=y.getBoundingClientRect(),v=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:m.top+g,left:m.left+v}}},{passive:!0})}),o.addEventListener("pointerup",function(f){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[f,r.pointerDownEvent];requestAnimationFrame(function(){if(f.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(f.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(f){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(f.preventDefault(),!1)}),r.forceGraph(a),r.shadowGraph(s);var l=vl(function(){Hr(s,r.width,r.height),r.shadowGraph.linkWidth(function(h){return B(r.linkWidth)(h)+r.linkHoverPrecision});var f=mt(r.canvas);r.shadowGraph.globalScale(f.k).tickFrame()},Ah);r.flushShadowCanvas=l.flush,(this._animationCycle=function f(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(M){return M.__photons&&M.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:c();if(d!==r.hoverObj){var p=r.hoverObj,y=p?p.type:null,m=d?d.type:null;if(y&&y!==m){var v=r["on".concat(y,"Hover")];v&&v(null,p.d)}if(m){var g=r["on".concat(m,"Hover")];g&&g(d.d,y===m?p.d:null)}r.tooltip.content(d&&B(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(m,"Click")]||!d&&r.onBackgroundClick)&&B(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&l()}if(h){Hr(a,r.width,r.height);var k=mt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(a,k),r.forceGraph.globalScale(k).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(a,k)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(f)})()},update:function(n){}}),sn={exports:{}},un,qr;function zh(){if(qr)return un;qr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return un=e,un}var ln,Wr;function Nh(){if(Wr)return ln;Wr=1;var e=zh();function n(){}function r(){}return r.resetWarningCache=n,ln=function(){function i(s,u,c,l,f,h){if(h!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}i.isRequired=i;function o(){return i}var a={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a},ln}var Gr;function Rh(){return Gr||(Gr=1,sn.exports=Nh()()),sn.exports}var jh=Rh();const x=io(jh),Ze={width:x.number,height:x.number,graphData:x.shape({nodes:x.arrayOf(x.object).isRequired,links:x.arrayOf(x.object).isRequired}),backgroundColor:x.string,nodeRelSize:x.number,nodeId:x.string,nodeLabel:x.oneOfType([x.string,x.func]),nodeVal:x.oneOfType([x.number,x.string,x.func]),nodeVisibility:x.oneOfType([x.bool,x.string,x.func]),nodeColor:x.oneOfType([x.string,x.func]),nodeAutoColorBy:x.oneOfType([x.string,x.func]),onNodeHover:x.func,onNodeClick:x.func,linkSource:x.string,linkTarget:x.string,linkLabel:x.oneOfType([x.string,x.func]),linkVisibility:x.oneOfType([x.bool,x.string,x.func]),linkColor:x.oneOfType([x.string,x.func]),linkAutoColorBy:x.oneOfType([x.string,x.func]),linkWidth:x.oneOfType([x.number,x.string,x.func]),linkCurvature:x.oneOfType([x.number,x.string,x.func]),linkDirectionalArrowLength:x.oneOfType([x.number,x.string,x.func]),linkDirectionalArrowColor:x.oneOfType([x.string,x.func]),linkDirectionalArrowRelPos:x.oneOfType([x.number,x.string,x.func]),linkDirectionalParticles:x.oneOfType([x.number,x.string,x.func]),linkDirectionalParticleSpeed:x.oneOfType([x.number,x.string,x.func]),linkDirectionalParticleOffset:x.oneOfType([x.number,x.string,x.func]),linkDirectionalParticleWidth:x.oneOfType([x.number,x.string,x.func]),linkDirectionalParticleColor:x.oneOfType([x.string,x.func]),onLinkHover:x.func,onLinkClick:x.func,dagMode:x.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:x.number,dagNodeFilter:x.func,onDagError:x.func,d3AlphaMin:x.number,d3AlphaDecay:x.number,d3VelocityDecay:x.number,warmupTicks:x.number,cooldownTicks:x.number,cooldownTime:x.number,onEngineTick:x.func,onEngineStop:x.func,getGraphBbox:x.func},Qi={zoomToFit:x.func,onNodeRightClick:x.func,onNodeDrag:x.func,onNodeDragEnd:x.func,onLinkRightClick:x.func,linkHoverPrecision:x.number,onBackgroundClick:x.func,onBackgroundRightClick:x.func,showPointerCursor:x.oneOfType([x.bool,x.func]),enablePointerInteraction:x.bool,enableNodeDrag:x.bool},Wn={showNavInfo:x.bool,nodeOpacity:x.number,nodeResolution:x.number,nodeThreeObject:x.oneOfType([x.object,x.string,x.func]),nodeThreeObjectExtend:x.oneOfType([x.bool,x.string,x.func]),nodePositionUpdate:x.func,linkOpacity:x.number,linkResolution:x.number,linkCurveRotation:x.oneOfType([x.number,x.string,x.func]),linkMaterial:x.oneOfType([x.object,x.string,x.func]),linkThreeObject:x.oneOfType([x.object,x.string,x.func]),linkThreeObjectExtend:x.oneOfType([x.bool,x.string,x.func]),linkPositionUpdate:x.func,linkDirectionalArrowResolution:x.number,linkDirectionalParticleResolution:x.number,linkDirectionalParticleThreeObject:x.oneOfType([x.object,x.string,x.func]),forceEngine:x.oneOf(["d3","ngraph"]),ngraphPhysics:x.object,numDimensions:x.oneOf([1,2,3])},Dh=Object.assign({},Ze,Qi,{linkLineDash:x.oneOfType([x.arrayOf(x.number),x.string,x.func]),nodeCanvasObjectMode:x.oneOfType([x.string,x.func]),nodeCanvasObject:x.func,nodePointerAreaPaint:x.func,linkCanvasObjectMode:x.oneOfType([x.string,x.func]),linkCanvasObject:x.func,linkPointerAreaPaint:x.func,linkDirectionalParticleCanvasObject:x.func,autoPauseRedraw:x.bool,minZoom:x.number,maxZoom:x.number,enableZoomInteraction:x.oneOfType([x.bool,x.func]),enablePanInteraction:x.oneOfType([x.bool,x.func]),onZoom:x.func,onZoomEnd:x.func,onRenderFramePre:x.func,onRenderFramePost:x.func});Object.assign({},Ze,Qi,Wn,{enableNavigationControls:x.bool,controlType:x.oneOf(["trackball","orbit","fly"]),rendererConfig:x.object,extraRenderers:x.arrayOf(x.shape({render:x.func.isRequired}))});Object.assign({},Ze,Wn,{nodeDesc:x.oneOfType([x.string,x.func]),linkDesc:x.oneOfType([x.string,x.func])});Object.assign({},Ze,Wn,{markerAttrs:x.object,yOffset:x.number,glScale:x.number});const Gn=Lo(Eh,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Gn.displayName="ForceGraph2D";Gn.propTypes=Dh;function wt(e){return function(){return e}}function Vr(e){return(e()-.5)*1e-6}function Ih(e){return e.x+e.vx}function $h(e){return e.y+e.vy}function Lh(e){var n,r,i,o=1,a=1;typeof e!="function"&&(e=wt(e==null?1:+e));function s(){for(var l,f=n.length,h,d,p,y,m,v,g=0;gd.index){var N=p-T.x-T.vx,D=y-T.y-T.vy,U=N*N+D*D;Up+P||wy+P||Al.r&&(l.r=l[f].r)}function c(){if(n){var l,f=n.length,h;for(r=new Array(f),l=0;la[0]-s[0]||a[1]-s[1]),r=(a,s,u)=>(s[0]-a[0])*(u[1]-a[1])-(s[1]-a[1])*(u[0]-a[0]),i=[];for(const a of n){for(;i.length>=2&&r(i[i.length-2],i[i.length-1],a)<=0;)i.pop();i.push(a)}const o=[];for(let a=n.length-1;a>=0;a--){const s=n[a];for(;o.length>=2&&r(o[o.length-2],o[o.length-1],s)<=0;)o.pop();o.push(s)}return i.pop(),o.pop(),i.concat(o)}function Zh({data:e,selectedNodeId:n,onNodeSelect:r}){const[i,o]=W.useState(null),[a,s]=W.useState(.75),u=W.useRef(null),c=W.useRef(null),[l,f]=W.useState({width:500,height:560});W.useEffect(()=>{if(!u.current)return;const C=new ResizeObserver(O=>{for(const I of O)I.contentRect.width>0&&I.contentRect.height>0&&f({width:Math.floor(I.contentRect.width),height:Math.floor(I.contentRect.height)})});return C.observe(u.current),()=>C.disconnect()},[]);const h=W.useRef(new Map),d=W.useMemo(()=>{const C=h.current,O=new Set,I=e.nodes.map(F=>{O.add(F.id);let G=C.get(F.id);return G?(G.content!==F.content||G.category!==F.category)&&(G.content=F.content,G.category=F.category,G.__baseTextWidth=void 0):(G={...F},C.set(F.id,G)),G});for(const F of Array.from(C.keys()))O.has(F)||C.delete(F);const L=new Map(e.nodes.map(F=>[F.id,F.category])),H=e.edges.map(F=>({source:F.source,target:F.target,weight:F.weight||0,__sid:F.source,__tid:F.target,__sameCat:L.get(F.source)===L.get(F.target),__restColor:Wh[L.get(F.source)??""]??qh}));return{nodes:I,links:H}},[e]),p=W.useMemo(()=>{const C={};return e.edges.forEach(O=>{C[O.source]=(C[O.source]||0)+1,C[O.target]=(C[O.target]||0)+1}),C},[e]),y=C=>({identity:-240,knowledge:240,rules:-240,events:240})[C]||0,m=C=>({identity:-240,knowledge:-240,rules:240,events:240})[C]||0,v=W.useMemo(()=>`${e.nodes.map(C=>C.id).sort().join(",")}#${e.edges.length}`,[e]);W.useEffect(()=>{const C=c.current;if(!C)return;C.d3Force("center",null),C.d3Force("x",Fh().x(L=>y(L.category)).strength(.1)),C.d3Force("y",Uh().y(L=>m(L.category)).strength(.1));const O=C.d3Force("charge");O&&O.strength(-380),C.d3Force("collide",Lh().radius(28).iterations(2));const I=C.d3Force("link");I&&I.distance(L=>L.__sameCat?70:200).strength(L=>L.__sameCat?.3*(L.weight||.6):.01),C.d3ReheatSimulation()},[v]);const g=i||n,k=W.useMemo(()=>d.links.filter(C=>C.__sameCat&&(C.weight||0)>=a).length,[d,a]),M=()=>{c.current&&c.current.zoomToFit(400,40)},b=W.useMemo(()=>{if(!g)return new Set;const C=new Set;return e.edges.forEach(O=>{O.source===g&&C.add(O.target),O.target===g&&C.add(O.source)}),C},[g,e]),_=W.useCallback(C=>g?C.__sid===g||C.__tid===g:C.__sameCat&&(C.weight||0)>=a,[g,a]),w=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?Hh:C.__restColor,[g]),A=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?2.5:1.4,[g]),T=W.useCallback(C=>g&&(C.__sid===g||C.__tid===g)?4:0,[g]),R=W.useCallback((C,O)=>{const I=c.current,L=u.current;if(!I||!L)return null;const H=L.getBoundingClientRect(),{x:F,y:G}=I.screen2GraphCoords(C-H.left,O-H.top),V=Math.max(I.zoom()||1,.01);let X=null,tt=1/0;for(const Z of d.nodes){if(Z.x==null||Z.y==null)continue;const st=6+Math.min(p[Z.id]||0,15)*.8,et=Math.max(st+3,16/V),qt=Z.x-F,At=Z.y-G,nt=qt*qt+At*At;nt<=et*et&&nt{const O=C.target instanceof HTMLCanvasElement?R(C.clientX,C.clientY):null;o(O?O.id:null),u.current&&(u.current.style.cursor=O?"pointer":"default")},[R]),N=W.useCallback(()=>{o(null),u.current&&(u.current.style.cursor="default")},[]),D=W.useRef(null),U=W.useCallback(C=>{D.current={x:C.clientX,y:C.clientY}},[]),S=W.useCallback(C=>{if(!(C.target instanceof HTMLCanvasElement))return;const O=D.current;if(O&&Math.hypot(C.clientX-O.x,C.clientY-O.y)>6)return;const I=R(C.clientX,C.clientY);r(I?I.id:null)},[R,r]),j=W.useCallback((C,O)=>{var L;const I={};for(const H of d.nodes)H.x==null||H.y==null||(I[L=H.category]??(I[L]=[])).push([H.x,H.y]);for(const[H,F]of Object.entries(I)){const G=Vh[H];if(!G||F.length===0)continue;const V=Yh(F);let X=0,tt=0;V.forEach(et=>{X+=et[0],tt+=et[1]}),X/=V.length,tt/=V.length;const Z=34;if(C.beginPath(),V.length<3)C.arc(X,tt,Z+16,0,2*Math.PI);else{const et=V.map(([nt,lt])=>{const jt=nt-X,Zt=lt-tt,Kt=Math.hypot(jt,Zt)||1;return[nt+jt/Kt*Z,lt+Zt/Kt*Z]}),qt=(nt,lt)=>[(nt[0]+lt[0])/2,(nt[1]+lt[1])/2],At=qt(et[et.length-1],et[0]);C.moveTo(At[0],At[1]);for(let nt=0;ntet[1]));C.font='600 26px "Space Grotesk", sans-serif',C.textAlign="center",C.textBaseline="bottom",C.fillStyle=Xh[H],C.fillText(Xr[H]||H,X,st-Z-8)}},[d]),E=W.useCallback((C,O,I)=>{const L=C.x??0,H=C.y??0,F=6+Math.min(p[C.id]||0,15)*.8,G=Br[C.category]||"#64748b",V=C.id===i,X=C.id===n,tt=g&&C.id!==g&&!b.has(C.id),Z=tt?"#1e293b":G;if(tt||(O.beginPath(),O.arc(L,H,F*1.9,0,2*Math.PI,!1),O.fillStyle=Gh[C.category]||"rgba(100, 116, 139, 0.14)",O.fill()),(V||X)&&(O.shadowColor=G,O.shadowBlur=15),O.beginPath(),O.arc(L,H,F,0,2*Math.PI,!1),O.fillStyle=Z,O.fill(),O.shadowBlur=0,(V||X)&&(O.beginPath(),O.arc(L,H,F+2.5,0,2*Math.PI,!1),O.strokeStyle=X?"#ffffff":"rgba(255, 255, 255, 0.7)",O.lineWidth=1.5,O.stroke()),V||X||g&&b.has(C.id)){const et=C.content.length>35?C.content.slice(0,34)+"…":C.content;if(C.__baseTextWidth===void 0){const Ji=O.font;O.font='500 10px "Space Grotesk", sans-serif',C.__baseTextWidth=O.measureText(et).width,O.font=Ji}const At=(V||X?10.5:9.5)/Math.max(.5,I);O.font=`${V||X?"bold":"500"} ${At}px "Space Grotesk", sans-serif`;const nt=C.__baseTextWidth*(At/10),lt=4.5/Math.max(.5,I),jt=L-nt/2-lt,Zt=H+F+6/Math.max(.5,I),Kt=nt+lt*2,Vn=At+lt*1.6;O.fillStyle=tt?"rgba(10, 15, 25, 0.45)":"rgba(8, 12, 20, 0.88)",O.fillRect(jt,Zt,Kt,Vn),O.strokeStyle=V||X?"rgba(255, 255, 255, 0.2)":"rgba(255, 255, 255, 0.08)",O.lineWidth=.6/Math.max(.5,I),O.strokeRect(jt,Zt,Kt,Vn),O.textAlign="center",O.textBaseline="top",O.fillStyle=tt?"#475569":V||X?"#ffffff":"#cbd5e1",O.fillText(et,L,H+F+7/Math.max(.5,I))}},[p,i,n,g,b]);return $.jsxs("div",{className:"absolute inset-0",ref:u,onPointerMove:P,onPointerLeave:N,onPointerDown:U,onClick:S,style:{background:"radial-gradient(circle at center, rgba(59, 130, 246, 0.08) 0%, #030712 100%)"},children:[$.jsx(Gn,{ref:c,width:l.width,height:l.height,graphData:d,backgroundColor:"rgba(0,0,0,0)",cooldownTicks:120,enablePointerInteraction:!1,enableNodeDrag:!1,onRenderFramePre:j,linkVisibility:_,linkColor:w,linkWidth:A,linkDirectionalParticles:T,linkDirectionalParticleWidth:2.2,linkDirectionalParticleSpeed:.006,nodeCanvasObject:E}),$.jsxs("button",{onClick:M,title:"Zentrieren",className:"absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-lg border border-border/60 bg-background/50 px-2.5 py-1.5 text-[11px] text-muted-foreground hover:text-foreground backdrop-blur-sm transition-colors cursor-pointer",children:[$.jsx(go,{className:"h-3.5 w-3.5"})," Zentrieren"]}),$.jsxs("div",{className:"absolute left-3 bottom-3 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-background/40 px-2.5 py-1.5 backdrop-blur-sm",children:[Object.entries(Xr).map(([C,O])=>$.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[$.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:Br[C]}}),O]},C)),$.jsxs("label",{className:"flex items-center gap-1.5 text-[10px] text-muted-foreground border-l border-border/40 pl-3",children:[$.jsx("span",{children:"Verbindungen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"alle"}),$.jsx("input",{type:"range",min:.45,max:.95,step:.05,value:a,onChange:C=>s(Number(C.target.value)),className:"w-20 accent-primary cursor-pointer",title:"Nur Verbindungen ab dieser Stärke zeigen"}),$.jsx("span",{className:"text-[9px] text-muted-foreground/60",children:"stark"}),$.jsx("span",{className:"font-mono text-[9px] text-muted-foreground/80 min-w-[3ch] text-right",children:k})]})]})]})}class Kh extends W.Component{constructor(){super(...arguments);Bn(this,"state",{error:null})}static getDerivedStateFromError(r){return{error:r}}render(){return this.state.error?$.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:[$.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),$.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Qh={"":"Allgemein",traeume:"Träume",muster:"Muster","skill-kandidaten":"Skill-Kandidaten","skill-kandidaten/beauftragt":"Skill-Kandidaten · beauftragt","skill-kandidaten/verworfen":"Skill-Kandidaten · verworfen"};function ad(){const{data:e,isLoading:n}=oo(),[r,i]=W.useState(null),[o,a]=W.useState(null),[s,u]=W.useState(!1),c=ao(),{suche:l=""}=so({from:"/wissen"}),f=l,h=_=>c({to:"/wissen",search:w=>({...w,suche:_||void 0}),replace:!0}),[d,p]=W.useState(!1),{data:y,isLoading:m}=uo(d),v=W.useMemo(()=>(e==null?void 0:e.files)??[],[e]),g=W.useMemo(()=>{const _=new Map;for(const w of v)_.set(w.name.toLowerCase(),w.path);return _},[v]),k=W.useMemo(()=>{if(!f.trim())return v;const _=f.toLowerCase();return v.filter(w=>w.title.toLowerCase().includes(_)||w.path.toLowerCase().includes(_))},[v,f]),M=W.useMemo(()=>{const _=[];for(const w of k){const A=_.find(T=>T.dir===w.dir);A?A.files.push(w):_.push({dir:w.dir,files:[w]})}return _.sort((w,A)=>w.dir===""?-1:A.dir===""?1:w.dir.localeCompare(A.dir))},[k]);W.useEffect(()=>{if(!r&&v.length){const _=v.find(w=>w.path.toLowerCase()==="index.md");i((_==null?void 0:_.path)??v[0].path)}},[v,r]),W.useEffect(()=>{r&&(u(!0),lo(`/api/wissen/datei?pfad=${encodeURIComponent(r)}`).then(a).catch(()=>a({path:r,content:"*(Notiz nicht ladbar)*",mtime:0})).finally(()=>u(!1)))},[r]);const b=_=>{const w=g.get(_.toLowerCase());w&&i(w)};return $.jsxs("div",{className:"space-y-5",children:[$.jsxs("div",{className:"flex items-center justify-between",children:[$.jsxs("div",{children:[$.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:"Wissen"}),$.jsx("p",{className:"text-sm text-muted-foreground",children:"Was sich die Box nachts erschließt — Traum-Notizen, Muster und Skill-Ideen aus dem Wissens-Vault, verlinkt wie ein Wiki."})]}),v.length>0&&$.jsxs("div",{className:"flex rounded-lg border border-border/60 bg-card p-1",children:[$.jsx("button",{onClick:()=>p(!1),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",d?"text-muted-foreground hover:bg-muted":"bg-primary text-primary-foreground shadow"),children:"Liste"}),$.jsx("button",{onClick:()=>p(!0),className:Ae("rounded-md px-3 py-1.5 text-xs font-medium transition-colors",d?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:bg-muted"),children:"Graph"})]})]}),e&&!e.available&&$.jsx("div",{className:"rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-xs text-amber-300",children:"Der Wissens-Vault liegt auf der Box (~/wissens-vault) — im lokalen Dev-Modus nicht verfügbar."}),n&&$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card/30 p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Vault wird geladen …"]}),(e==null?void 0:e.available)&&v.length===0&&$.jsx("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 text-center text-xs text-muted-foreground",children:"Noch keine Notizen. Der nächtliche Traum (03:15) legt sie an — morgen früh steht hier die erste."}),d?$.jsxs("div",{className:"mc-card flex h-[70vh] flex-col overflow-hidden p-0 relative",children:[m&&$.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:$.jsxs("div",{className:"flex items-center gap-2 rounded-2xl border border-border/60 bg-card p-6 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Graph wird berechnet …"]})}),$.jsx(Kh,{children:y&&$.jsx(Zh,{data:y,selectedNodeId:r,onNodeSelect:_=>{_&&(i(_),p(!1))}})})]}):v.length>0&&$.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row",children:[$.jsxs("aside",{className:"w-full shrink-0 space-y-3 lg:w-72",children:[$.jsxs("div",{className:"relative",children:[$.jsx("input",{value:f,onChange:_=>h(_.target.value),type:"search",placeholder:"Notizen durchsuchen…","aria-label":"Notizen durchsuchen",className:"h-9 w-full rounded-lg border border-border/60 bg-card/45 pl-8 pr-3 text-xs text-foreground outline-none focus:ring-1 focus:ring-primary/50"}),$.jsx(yo,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),$.jsx("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto pr-1 scrollbar-thin",children:M.map(({dir:_,files:w})=>$.jsxs("div",{children:[$.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:[$.jsx(vo,{className:"h-3 w-3"})," ",Qh[_]??_]}),$.jsx("div",{className:"space-y-0.5",children:w.map(A=>$.jsxs("button",{onClick:()=>i(A.path),className:Ae("flex w-full items-center gap-1.5 rounded-lg px-2 py-1.5 text-left text-xs transition-all cursor-pointer",r===A.path?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[$.jsx(_o,{className:"h-3.5 w-3.5 shrink-0"}),$.jsx("span",{className:"truncate",title:A.title,children:A.name}),A.neu&&$.jsxs("span",{className:"ml-auto flex items-center gap-0.5 rounded bg-violet-500/15 px-1 py-0.5 text-[8px] font-bold uppercase text-violet-300",children:[$.jsx(co,{className:"h-2.5 w-2.5"}),"neu"]})]},A.path))})]},_||"__root"))})]}),$.jsx("div",{className:"min-w-0 flex-1 mc-card p-5",children:s?$.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[$.jsx(Ke,{className:"h-4 w-4 animate-spin"})," Notiz wird geladen …"]}):o?$.jsxs($.Fragment,{children:[$.jsxs("div",{className:"mb-3 flex items-center justify-between border-b border-border/40 pb-2",children:[$.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[$.jsx(fo,{className:"h-3.5 w-3.5"})," ",o.path]}),o.mtime>0&&$.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Stand ",new Date(o.mtime*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),$.jsx(Jh,{text:o.content,onWikiLink:b,known:g})]}):null})]})]})}function Jh({text:e,onWikiLink:n,known:r}){const i=e.split(` `),o=[];let a=[],s=null;const u=c=>{a.length&&(o.push($.jsx("ul",{className:"mb-3 ml-4 list-disc space-y-1",children:a},c)),a=[])};return i.forEach((c,l)=>{const f=`l${l}`;if(s!==null){c.trimEnd()==="```"?(o.push($.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px] leading-relaxed text-foreground/85",children:s.join(` -`)},f)),s=null):s.push(c);return}if(c.trimStart().startsWith("```")){u(f),s=[];return}const h=c.trimEnd();if(!h.trim()){u(f);return}const d=h.match(/^(#{1,4})\s+(.*)$/);if(d){u(f);const y=d[1].length,x=y===1?"text-lg font-bold mt-1 mb-3":y===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";o.push($.jsx("p",{className:Ae(x,"font-space text-foreground"),children:cn(d[2],n,r,f)},f));return}const p=h.match(/^\s*[-*•]\s+(.*)$/);if(p){a.push($.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:cn(p[1],n,r,f)},f));return}u(f),o.push($.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:cn(h,n,r,f)},f))}),u("end"),s!==null&&o.push($.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:s.join(` -`)},"code-end")),$.jsx("div",{className:"max-w-3xl",children:o})}function cn(e,n,r,i){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((a,s)=>{const u=`${i}-${s}`,c=a.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(c){const l=c[1].trim(),f=(c[2]??c[1]).trim();return r.has(l.toLowerCase())?$.jsx("button",{onClick:()=>n(l),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:f},u):$.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:f},u)}return a.startsWith("**")&&a.endsWith("**")?$.jsx("b",{className:"font-semibold text-foreground",children:a.slice(2,-2)},u):a.startsWith("*")&&a.endsWith("*")&&a.length>2?$.jsx("i",{children:a.slice(1,-1)},u):a.startsWith("`")&&a.endsWith("`")?$.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:a.slice(1,-1)},u):$.jsx("span",{children:a},u)})}export{id as WissenView}; +`)},f)),s=null):s.push(c);return}if(c.trimStart().startsWith("```")){u(f),s=[];return}const h=c.trimEnd();if(!h.trim()){u(f);return}const d=h.match(/^(#{1,4})\s+(.*)$/);if(d){u(f);const y=d[1].length,m=y===1?"text-lg font-bold mt-1 mb-3":y===2?"text-base font-bold mt-4 mb-2":"text-sm font-bold mt-3 mb-1.5";o.push($.jsx("p",{className:Ae(m,"font-space text-foreground"),children:cn(d[2],n,r,f)},f));return}const p=h.match(/^\s*[-*•]\s+(.*)$/);if(p){a.push($.jsx("li",{className:"text-xs leading-relaxed text-foreground/85",children:cn(p[1],n,r,f)},f));return}u(f),o.push($.jsx("p",{className:"mb-2 text-xs leading-relaxed text-foreground/85",children:cn(h,n,r,f)},f))}),u("end"),s!==null&&o.push($.jsx("pre",{className:"mb-3 overflow-x-auto rounded-xl border border-border/50 bg-background/50 p-3 font-mono text-[11px]",children:s.join(` +`)},"code-end")),$.jsx("div",{className:"max-w-3xl",children:o})}function cn(e,n,r,i){return e.split(/(\[\[[^\]]+\]\]|\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).map((a,s)=>{const u=`${i}-${s}`,c=a.match(/^\[\[([^\]|]+)(?:\|([^\]]+))?\]\]$/);if(c){const l=c[1].trim(),f=(c[2]??c[1]).trim();return r.has(l.toLowerCase())?$.jsx("button",{onClick:()=>n(l),className:"rounded bg-primary/10 px-1 text-primary underline decoration-primary/40 underline-offset-2 hover:bg-primary/20 cursor-pointer",children:f},u):$.jsx("span",{className:"rounded bg-background/40 px-1 text-muted-foreground",title:"Notiz existiert (noch) nicht",children:f},u)}return a.startsWith("**")&&a.endsWith("**")?$.jsx("b",{className:"font-semibold text-foreground",children:a.slice(2,-2)},u):a.startsWith("*")&&a.endsWith("*")&&a.length>2?$.jsx("i",{children:a.slice(1,-1)},u):a.startsWith("`")&&a.endsWith("`")?$.jsx("code",{className:"rounded bg-background/50 px-1 font-mono text-[11px] text-teal-300",children:a.slice(1,-1)},u):$.jsx("span",{children:a},u)})}export{ad as WissenView}; diff --git a/frontend/dist/assets/arrow-right-DrtT4MFG.js b/frontend/dist/assets/arrow-right-BuSI6b_d.js similarity index 86% rename from frontend/dist/assets/arrow-right-DrtT4MFG.js rename to frontend/dist/assets/arrow-right-BuSI6b_d.js index aee0671..842fcf1 100644 --- a/frontend/dist/assets/arrow-right-DrtT4MFG.js +++ b/frontend/dist/assets/arrow-right-BuSI6b_d.js @@ -1,4 +1,4 @@ -import{c as r}from"./index-DvtGY8-b.js";/** +import{c as r}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/chevron-down-hb9Pt4vA.js b/frontend/dist/assets/chevron-down-DCnAAqHq.js similarity index 85% rename from frontend/dist/assets/chevron-down-hb9Pt4vA.js rename to frontend/dist/assets/chevron-down-DCnAAqHq.js index 2759109..85b1b1c 100644 --- a/frontend/dist/assets/chevron-down-hb9Pt4vA.js +++ b/frontend/dist/assets/chevron-down-DCnAAqHq.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-DvtGY8-b.js";/** +import{c as o}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/clock-geHux9wJ.js b/frontend/dist/assets/clock-Dgmp--tr.js similarity index 88% rename from frontend/dist/assets/clock-geHux9wJ.js rename to frontend/dist/assets/clock-Dgmp--tr.js index 2f13369..6b8e6da 100644 --- a/frontend/dist/assets/clock-geHux9wJ.js +++ b/frontend/dist/assets/clock-Dgmp--tr.js @@ -1,4 +1,4 @@ -import{c}from"./index-DvtGY8-b.js";/** +import{c}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/cloud-download-U4tFtHIE.js b/frontend/dist/assets/cloud-download-U4tFtHIE.js new file mode 100644 index 0000000..1361c96 --- /dev/null +++ b/frontend/dist/assets/cloud-download-U4tFtHIE.js @@ -0,0 +1,11 @@ +import{c as a}from"./index-C3tzC6TG.js";/** + * @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 c=a("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** + * @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 o=a("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);export{o as C,c as a}; diff --git a/frontend/dist/assets/code-xml-CWTq52sX.js b/frontend/dist/assets/code-xml-CizGFoHx.js similarity index 88% rename from frontend/dist/assets/code-xml-CWTq52sX.js rename to frontend/dist/assets/code-xml-CizGFoHx.js index 10609ee..4d1c5f3 100644 --- a/frontend/dist/assets/code-xml-CWTq52sX.js +++ b/frontend/dist/assets/code-xml-CizGFoHx.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-DvtGY8-b.js";/** +import{c as e}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/external-link-DPeXL_3q.js b/frontend/dist/assets/external-link-A-cVlKY7.js similarity index 89% rename from frontend/dist/assets/external-link-DPeXL_3q.js rename to frontend/dist/assets/external-link-A-cVlKY7.js index 83ae0e4..ba06528 100644 --- a/frontend/dist/assets/external-link-DPeXL_3q.js +++ b/frontend/dist/assets/external-link-A-cVlKY7.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-DvtGY8-b.js";/** +import{c as a}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/file-text-BN2uI732.js b/frontend/dist/assets/file-text-CgoPL5rz.js similarity index 91% rename from frontend/dist/assets/file-text-BN2uI732.js rename to frontend/dist/assets/file-text-CgoPL5rz.js index ef347b0..76ebeef 100644 --- a/frontend/dist/assets/file-text-BN2uI732.js +++ b/frontend/dist/assets/file-text-CgoPL5rz.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-DvtGY8-b.js";/** +import{c as e}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/hammer-CE6Zn7Q-.js b/frontend/dist/assets/hammer-B3FRhAF9.js similarity index 91% rename from frontend/dist/assets/hammer-CE6Zn7Q-.js rename to frontend/dist/assets/hammer-B3FRhAF9.js index f5c376d..d86e7df 100644 --- a/frontend/dist/assets/hammer-CE6Zn7Q-.js +++ b/frontend/dist/assets/hammer-B3FRhAF9.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-DvtGY8-b.js";/** +import{c as a}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/index-BKD_njTm.js b/frontend/dist/assets/index-BKD_njTm.js new file mode 100644 index 0000000..a8755f2 --- /dev/null +++ b/frontend/dist/assets/index-BKD_njTm.js @@ -0,0 +1 @@ +import{aA as r}from"./index-C3tzC6TG.js";var o=r();export{o as r}; diff --git a/frontend/dist/assets/index-C0bSwoXg.css b/frontend/dist/assets/index-C0bSwoXg.css deleted file mode 100644 index 4b7391f..0000000 --- a/frontend/dist/assets/index-C0bSwoXg.css +++ /dev/null @@ -1 +0,0 @@ -/*! 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}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--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-red-600:oklch(57.7% .245 27.325);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--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-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--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-emerald-600:oklch(59.6% .145 163.225);--color-teal-300:oklch(85.5% .138 181.071);--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-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--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-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--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-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--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-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--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-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--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}.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-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.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}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.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-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-6{-webkit-line-clamp:6;-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{height:var(--spacing)}.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-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[70vh\]{height:70vh}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-56{max-height:calc(var(--spacing) * 56)}.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)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.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-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-\[1600px\]{max-width:1600px}.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}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;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-default{cursor:default}.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}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.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-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-2{column-gap:calc(var(--spacing) * 2)}.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-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}: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}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}:where(.divide-border\/30>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/30>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.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}.overscroll-contain{overscroll-behavior:contain}.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-sm{border-radius:calc(var(--radius) - 4px)}.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-2{border-style:var(--tw-border-style);border-width:2px}.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-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.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-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,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\/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\/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\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,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-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,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\/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-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.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-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,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\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,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\/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-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,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-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-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-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.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-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,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-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,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\/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-border,.bg-border\/40{background-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.bg-border\/40{background-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.bg-card,.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\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,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\/95{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,hsl(var(--card)) 95%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.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-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.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-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,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-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.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{background-color:var(--color-pink-500)}.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\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,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-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.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{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,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{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.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-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.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))}.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)}.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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.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{padding:0}.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)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.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-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.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}.text-right{text-align:right}.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-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.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-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.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\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.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-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.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-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.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-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-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-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.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-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.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}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.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-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-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);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{--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)}.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)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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\/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-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)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, 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)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, 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,)}.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,)}.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-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-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}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:shadow-md:is(:where(.group):hover *){--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)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,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\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.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\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,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\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,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-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover,.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\/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-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\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.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\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.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\/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\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.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\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.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\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-red-400{color:var(--color-red-400)}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2")}: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;color-scheme:dark}html,body,#root{height:100dvh;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@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}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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}@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/assets/index-DvtGY8-b.js b/frontend/dist/assets/index-C3tzC6TG.js similarity index 67% rename from frontend/dist/assets/index-DvtGY8-b.js rename to frontend/dist/assets/index-C3tzC6TG.js index e4f5bd7..23b6d60 100644 --- a/frontend/dist/assets/index-DvtGY8-b.js +++ b/frontend/dist/assets/index-C3tzC6TG.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SystemDrawer-BqYzprU9.js","assets/refresh-cw-CTp9Wnlo.js","assets/file-text-BN2uI732.js","assets/search-CES9eee3.js","assets/shield-DuTFhOFM.js","assets/arrow-right-DrtT4MFG.js","assets/clock-geHux9wJ.js","assets/external-link-DPeXL_3q.js","assets/power-t1doBEG9.js","assets/CommandPalette-FxofQTPj.js","assets/index-CLtv5X6m.js","assets/LiveAreaChartImpl-DDkrCKJU.js","assets/string-DoZi9Vij.js","assets/ModelsView-Dn4Ryn0Z.js","assets/JobsBar-B0XdGtEh.js","assets/code-xml-CWTq52sX.js","assets/zap-fipupct_.js","assets/chevron-down-hb9Pt4vA.js","assets/layers-DGDzGr16.js","assets/ConnectView-BdqWBHRP.js","assets/AgentView-CW6l1s2v.js","assets/SectionLabel-D0h88ho8.js","assets/KonsoleView-CsAZfGsS.js","assets/GuideView-Coe5WKp_.js","assets/AuftragsbuchView-CwIgN4P-.js","assets/hammer-CE6Zn7Q-.js","assets/IdeenAnsicht-Crw42hu2.js","assets/SkillsView-BPwq8_ZP.js","assets/WissenView-Cm8edL44.js"])))=>i.map(i=>d[i]); -var w0=Object.defineProperty;var $h=n=>{throw TypeError(n)};var k0=(n,r,s)=>r in n?w0(n,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[r]=s;var wl=(n,r,s)=>k0(n,typeof r!="symbol"?r+"":r,s),Ou=(n,r,s)=>r.has(n)||$h("Cannot "+s);var j=(n,r,s)=>(Ou(n,r,"read from private field"),s?s.call(n):r.get(n)),de=(n,r,s)=>r.has(n)?$h("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(n):r.set(n,s),re=(n,r,s,l)=>(Ou(n,r,"write to private field"),l?l.call(n,s):r.set(n,s),s),we=(n,r,s)=>(Ou(n,r,"access private method"),s);var kl=(n,r,s,l)=>({set _(a){re(n,r,a,s)},get _(){return j(n,r,l)}});function S0(n,r){for(var s=0;sl[a]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const h of c.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function s(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=s(a);fetch(a.href,c)}})();function sm(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Au={exports:{}},Ti={},Uu={exports:{}},xe={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SystemDrawer-BFlT9oNB.js","assets/refresh-cw-COF4ZaAx.js","assets/file-text-CgoPL5rz.js","assets/search-CMGuC7tW.js","assets/shield-DhFhR3yI.js","assets/arrow-right-BuSI6b_d.js","assets/clock-Dgmp--tr.js","assets/external-link-A-cVlKY7.js","assets/cloud-download-U4tFtHIE.js","assets/power-cDUHwtRA.js","assets/CommandPalette-L89cO5ZN.js","assets/index-BKD_njTm.js","assets/LiveAreaChartImpl-Bzha3ivD.js","assets/string-DoZi9Vij.js","assets/ModelsView-DMJ2Z3kM.js","assets/JobsBar-DqqfGkDz.js","assets/code-xml-CizGFoHx.js","assets/zap-BmFVNuAf.js","assets/chevron-down-DCnAAqHq.js","assets/layers-y7VoVedk.js","assets/ConnectView-U6cUckmd.js","assets/AgentView-DgKqlZTR.js","assets/SectionLabel-CWIt51pc.js","assets/KonsoleView-CLFb1i3h.js","assets/GuideView-BIajrEL5.js","assets/AuftragsbuchView-WPZv57nm.js","assets/hammer-B3FRhAF9.js","assets/IdeenAnsicht-C0oq2uu1.js","assets/SkillsView-bgnrIBeZ.js","assets/ChronikView-BpNpbHag.js","assets/WissenView-CNMl8olT.js"])))=>i.map(i=>d[i]); +var w0=Object.defineProperty;var $h=n=>{throw TypeError(n)};var k0=(n,r,s)=>r in n?w0(n,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[r]=s;var wl=(n,r,s)=>k0(n,typeof r!="symbol"?r+"":r,s),Ou=(n,r,s)=>r.has(n)||$h("Cannot "+s);var j=(n,r,s)=>(Ou(n,r,"read from private field"),s?s.call(n):r.get(n)),de=(n,r,s)=>r.has(n)?$h("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(n):r.set(n,s),re=(n,r,s,l)=>(Ou(n,r,"write to private field"),l?l.call(n,s):r.set(n,s),s),we=(n,r,s)=>(Ou(n,r,"access private method"),s);var kl=(n,r,s,l)=>({set _(a){re(n,r,a,s)},get _(){return j(n,r,l)}});function S0(n,r){for(var s=0;sl[a]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))l(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const h of c.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function s(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(a){if(a.ep)return;a.ep=!0;const c=s(a);fetch(a.href,c)}})();function sm(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Au={exports:{}},Di={},Uu={exports:{}},xe={};/** * @license React * react.production.min.js * @@ -7,7 +7,7 @@ var w0=Object.defineProperty;var $h=n=>{throw TypeError(n)};var k0=(n,r,s)=>r in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Vh;function b0(){if(Vh)return xe;Vh=1;var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),h=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),y=Symbol.iterator;function x(P){return P===null||typeof P!="object"?null:(P=y&&P[y]||P["@@iterator"],typeof P=="function"?P:null)}var k={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,b={};function _(P,U,pe){this.props=P,this.context=U,this.refs=b,this.updater=pe||k}_.prototype.isReactComponent={},_.prototype.setState=function(P,U){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,U,"setState")},_.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function R(){}R.prototype=_.prototype;function L(P,U,pe){this.props=P,this.context=U,this.refs=b,this.updater=pe||k}var z=L.prototype=new R;z.constructor=L,S(z,_.prototype),z.isPureReactComponent=!0;var M=Array.isArray,A=Object.prototype.hasOwnProperty,F={current:null},G={key:!0,ref:!0,__self:!0,__source:!0};function V(P,U,pe){var ge,Se={},ve=null,Re=null;if(U!=null)for(ge in U.ref!==void 0&&(Re=U.ref),U.key!==void 0&&(ve=""+U.key),U)A.call(U,ge)&&!G.hasOwnProperty(ge)&&(Se[ge]=U[ge]);var Ee=arguments.length-2;if(Ee===1)Se.children=pe;else if(1{throw TypeError(n)};var k0=(n,r,s)=>r in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wh;function _0(){if(Wh)return Ti;Wh=1;var n=io(),r=Symbol.for("react.element"),s=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function h(f,p,m){var w,y={},x=null,k=null;m!==void 0&&(x=""+m),p.key!==void 0&&(x=""+p.key),p.ref!==void 0&&(k=p.ref);for(w in p)l.call(p,w)&&!c.hasOwnProperty(w)&&(y[w]=p[w]);if(f&&f.defaultProps)for(w in p=f.defaultProps,p)y[w]===void 0&&(y[w]=p[w]);return{$$typeof:r,type:f,key:x,ref:k,props:y,_owner:a.current}}return Ti.Fragment=s,Ti.jsx=h,Ti.jsxs=h,Ti}var Qh;function C0(){return Qh||(Qh=1,Au.exports=_0()),Au.exports}var g=C0(),W=io();const Gt=sm(W),Xk=S0({__proto__:null,default:Gt},[W]);var Sl={},Bu={exports:{}},xt={},$u={exports:{}},Vu={};/** + */var Wh;function _0(){if(Wh)return Di;Wh=1;var n=lo(),r=Symbol.for("react.element"),s=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function h(f,p,g){var w,y={},x=null,k=null;g!==void 0&&(x=""+g),p.key!==void 0&&(x=""+p.key),p.ref!==void 0&&(k=p.ref);for(w in p)l.call(p,w)&&!c.hasOwnProperty(w)&&(y[w]=p[w]);if(f&&f.defaultProps)for(w in p=f.defaultProps,p)y[w]===void 0&&(y[w]=p[w]);return{$$typeof:r,type:f,key:x,ref:k,props:y,_owner:a.current}}return Di.Fragment=s,Di.jsx=h,Di.jsxs=h,Di}var Qh;function C0(){return Qh||(Qh=1,Au.exports=_0()),Au.exports}var m=C0(),W=lo();const qt=sm(W),Xk=S0({__proto__:null,default:qt},[W]);var Sl={},Bu={exports:{}},xt={},$u={exports:{}},Vu={};/** * @license React * scheduler.production.min.js * @@ -23,7 +23,7 @@ var w0=Object.defineProperty;var $h=n=>{throw TypeError(n)};var k0=(n,r,s)=>r in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Kh;function E0(){return Kh||(Kh=1,(function(n){function r(Y,J){var ee=Y.length;Y.push(J);e:for(;0>>1,U=Y[P];if(0>>1;Pa(Se,ee))vea(Re,Se)?(Y[P]=Re,Y[ve]=ee,P=ve):(Y[P]=Se,Y[ge]=ee,P=ge);else if(vea(Re,ee))Y[P]=Re,Y[ve]=ee,P=ve;else break e}}return J}function a(Y,J){var ee=Y.sortIndex-J.sortIndex;return ee!==0?ee:Y.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var h=Date,f=h.now();n.unstable_now=function(){return h.now()-f}}var p=[],m=[],w=1,y=null,x=3,k=!1,S=!1,b=!1,_=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function z(Y){for(var J=s(m);J!==null;){if(J.callback===null)l(m);else if(J.startTime<=Y)l(m),J.sortIndex=J.expirationTime,r(p,J);else break;J=s(m)}}function M(Y){if(b=!1,z(Y),!S)if(s(p)!==null)S=!0,ye(A);else{var J=s(m);J!==null&&he(M,J.startTime-Y)}}function A(Y,J){S=!1,b&&(b=!1,R(V),V=-1),k=!0;var ee=x;try{for(z(J),y=s(p);y!==null&&(!(y.expirationTime>J)||Y&&!X());){var P=y.callback;if(typeof P=="function"){y.callback=null,x=y.priorityLevel;var U=P(y.expirationTime<=J);J=n.unstable_now(),typeof U=="function"?y.callback=U:y===s(p)&&l(p),z(J)}else l(p);y=s(p)}if(y!==null)var pe=!0;else{var ge=s(m);ge!==null&&he(M,ge.startTime-J),pe=!1}return pe}finally{y=null,x=ee,k=!1}}var F=!1,G=null,V=-1,O=5,Q=-1;function X(){return!(n.unstable_now()-QY||125P?(Y.sortIndex=ee,r(m,Y),s(p)===null&&Y===s(m)&&(b?(R(V),V=-1):b=!0,he(M,ee-P))):(Y.sortIndex=U,r(p,Y),S||k||(S=!0,ye(A))),Y},n.unstable_shouldYield=X,n.unstable_wrapCallback=function(Y){var J=x;return function(){var ee=x;x=J;try{return Y.apply(this,arguments)}finally{x=ee}}}})(Vu)),Vu}var Gh;function j0(){return Gh||(Gh=1,$u.exports=E0()),$u.exports}/** + */var Kh;function E0(){return Kh||(Kh=1,(function(n){function r(Y,J){var ee=Y.length;Y.push(J);e:for(;0>>1,U=Y[P];if(0>>1;Pa(Se,ee))vea(Re,Se)?(Y[P]=Re,Y[ve]=ee,P=ve):(Y[P]=Se,Y[ge]=ee,P=ge);else if(vea(Re,ee))Y[P]=Re,Y[ve]=ee,P=ve;else break e}}return J}function a(Y,J){var ee=Y.sortIndex-J.sortIndex;return ee!==0?ee:Y.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var h=Date,f=h.now();n.unstable_now=function(){return h.now()-f}}var p=[],g=[],w=1,y=null,x=3,k=!1,S=!1,b=!1,_=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function z(Y){for(var J=s(g);J!==null;){if(J.callback===null)l(g);else if(J.startTime<=Y)l(g),J.sortIndex=J.expirationTime,r(p,J);else break;J=s(g)}}function M(Y){if(b=!1,z(Y),!S)if(s(p)!==null)S=!0,ye(A);else{var J=s(g);J!==null&&he(M,J.startTime-Y)}}function A(Y,J){S=!1,b&&(b=!1,R(V),V=-1),k=!0;var ee=x;try{for(z(J),y=s(p);y!==null&&(!(y.expirationTime>J)||Y&&!X());){var P=y.callback;if(typeof P=="function"){y.callback=null,x=y.priorityLevel;var U=P(y.expirationTime<=J);J=n.unstable_now(),typeof U=="function"?y.callback=U:y===s(p)&&l(p),z(J)}else l(p);y=s(p)}if(y!==null)var pe=!0;else{var ge=s(g);ge!==null&&he(M,ge.startTime-J),pe=!1}return pe}finally{y=null,x=ee,k=!1}}var F=!1,q=null,V=-1,O=5,Q=-1;function X(){return!(n.unstable_now()-QY||125P?(Y.sortIndex=ee,r(g,Y),s(p)===null&&Y===s(g)&&(b?(R(V),V=-1):b=!0,he(M,ee-P))):(Y.sortIndex=U,r(p,Y),S||k||(S=!0,ye(A))),Y},n.unstable_shouldYield=X,n.unstable_wrapCallback=function(Y){var J=x;return function(){var ee=x;x=J;try{return Y.apply(this,arguments)}finally{x=ee}}}})(Vu)),Vu}var qh;function j0(){return qh||(qh=1,$u.exports=E0()),$u.exports}/** * @license React * react-dom.production.min.js * @@ -31,14 +31,14 @@ var w0=Object.defineProperty;var $h=n=>{throw TypeError(n)};var k0=(n,r,s)=>r in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var qh;function P0(){if(qh)return xt;qh=1;var n=io(),r=j0();function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,m=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},y={};function x(e){return p.call(y,e)?!0:p.call(w,e)?!1:m.test(e)?y[e]=!0:(w[e]=!0,!1)}function k(e,t,i,o){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function S(e,t,i,o){if(t===null||typeof t>"u"||k(e,t,i,o))return!0;if(o)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function b(e,t,i,o,u,d,v){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=d,this.removeEmptyString=v}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_[e]=new b(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_[t]=new b(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){_[e]=new b(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_[e]=new b(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_[e]=new b(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){_[e]=new b(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){_[e]=new b(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){_[e]=new b(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){_[e]=new b(e,5,!1,e.toLowerCase(),null,!1,!1)});var R=/[\-:]([a-z])/g;function L(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){_[e]=new b(e,1,!1,e.toLowerCase(),null,!1,!1)}),_.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){_[e]=new b(e,1,!1,e.toLowerCase(),null,!0,!0)});function z(e,t,i,o){var u=_.hasOwnProperty(t)?_[t]:null;(u!==null?u.type!==0:o||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},y={};function x(e){return p.call(y,e)?!0:p.call(w,e)?!1:g.test(e)?y[e]=!0:(w[e]=!0,!1)}function k(e,t,i,o){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function S(e,t,i,o){if(t===null||typeof t>"u"||k(e,t,i,o))return!0;if(o)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function b(e,t,i,o,u,d,v){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=d,this.removeEmptyString=v}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_[e]=new b(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_[t]=new b(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){_[e]=new b(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_[e]=new b(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_[e]=new b(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){_[e]=new b(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){_[e]=new b(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){_[e]=new b(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){_[e]=new b(e,5,!1,e.toLowerCase(),null,!1,!1)});var R=/[\-:]([a-z])/g;function L(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(R,L);_[t]=new b(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){_[e]=new b(e,1,!1,e.toLowerCase(),null,!1,!1)}),_.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){_[e]=new b(e,1,!1,e.toLowerCase(),null,!0,!0)});function z(e,t,i,o){var u=_.hasOwnProperty(t)?_[t]:null;(u!==null?u.type!==0:o||!(2C||u[v]!==d[C]){var E=` -`+u[v].replace(" at new "," at ");return e.displayName&&E.includes("")&&(E=E.replace("",e.displayName)),E}while(1<=v&&0<=C);break}}}finally{pe=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?U(e):""}function Se(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return e=ge(e.type,!1),e;case 11:return e=ge(e.type.render,!1),e;case 1:return e=ge(e.type,!0),e;default:return""}}function ve(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case G:return"Fragment";case F:return"Portal";case O:return"Profiler";case V:return"StrictMode";case ae:return"Suspense";case H:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case X:return(e.displayName||"Context")+".Consumer";case Q:return(e._context.displayName||"Context")+".Provider";case Z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case te:return t=e.displayName||null,t!==null?t:ve(e.type)||"Memo";case ye:t=e._payload,e=e._init;try{return ve(e(t))}catch{}}return null}function Re(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ve(t);case 8:return t===V?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ee(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function tt(e){var t=Le(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,d=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(v){o=""+v,d.call(this,v)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return o},setValue:function(v){o=""+v},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cn(e){e._valueTracker||(e._valueTracker=tt(e))}function fr(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Le(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function hr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Qr(e,t){var i=t.checked;return ee({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Ks(e,t){var i=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;i=Ee(t.value!=null?t.value:i),e._wrapperState={initialChecked:o,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Zt(e,t){t=t.checked,t!=null&&z(e,"checked",t,!1)}function pr(e,t){Zt(e,t);var i=Ee(t.value),o=t.type;if(i!=null)o==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?mr(e,t.type,i):t.hasOwnProperty("defaultValue")&&mr(e,t.type,Ee(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function dn(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function mr(e,t,i){(t!=="number"||hr(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var gr=Array.isArray;function Pn(e,t,i,o){if(e=e.options,t){t={};for(var u=0;u"+t.valueOf().toString()+"",t=fo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function qs(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var Zs={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},_g=["Webkit","ms","Moz","O"];Object.keys(Zs).forEach(function(e){_g.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Zs[t]=Zs[e]})});function nd(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Zs.hasOwnProperty(e)&&Zs[e]?(""+t).trim():t+"px"}function rd(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var o=i.indexOf("--")===0,u=nd(i,t[i],o);i==="float"&&(i="cssFloat"),o?e.setProperty(i,u):e[i]=u}}var Cg=ee({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 Zl(e,t){if(t){if(Cg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function Yl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Xl=null;function Jl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ea=null,Gr=null,qr=null;function sd(e){if(e=vi(e)){if(typeof ea!="function")throw Error(s(280));var t=e.stateNode;t&&(t=Do(t),ea(e.stateNode,e.type,t))}}function id(e){Gr?qr?qr.push(e):qr=[e]:Gr=e}function od(){if(Gr){var e=Gr,t=qr;if(qr=Gr=null,sd(e),t)for(e=0;e>>=0,e===0?32:31-(zg(e)/Fg|0)|0}var yo=64,vo=4194304;function ei(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function xo(e,t){var i=e.pendingLanes;if(i===0)return 0;var o=0,u=e.suspendedLanes,d=e.pingedLanes,v=i&268435455;if(v!==0){var C=v&~u;C!==0?o=ei(C):(d&=v,d!==0&&(o=ei(d)))}else v=i&~u,v!==0?o=ei(v):d!==0&&(o=ei(d));if(o===0)return 0;if(t!==0&&t!==o&&(t&u)===0&&(u=o&-o,d=t&-t,u>=d||u===16&&(d&4194240)!==0))return t;if((o&4)!==0&&(o|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0i;i++)t.push(e);return t}function ti(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=i}function Bg(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0=ui),Id=" ",Dd=!1;function zd(e,t){switch(e){case"keyup":return my.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xr=!1;function yy(e,t){switch(e){case"compositionend":return Fd(t);case"keypress":return t.which!==32?null:(Dd=!0,Id);case"textInput":return e=t.data,e===Id&&Dd?null:e;default:return null}}function vy(e,t){if(Xr)return e==="compositionend"||!va&&zd(e,t)?(e=Pd(),_o=fa=Tn=null,Xr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Hd(i)}}function Qd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Qd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Kd(){for(var e=window,t=hr();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=hr(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function jy(e){var t=Kd(),i=e.focusedElem,o=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&Qd(i.ownerDocument.documentElement,i)){if(o!==null&&ka(i)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,d=Math.min(o.start,u);o=o.end===void 0?d:Math.min(o.end,u),!e.extend&&d>o&&(u=o,o=d,d=u),u=Wd(i,d);var v=Wd(i,o);u&&v&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==v.node||e.focusOffset!==v.offset)&&(t=t.createRange(),t.setStart(u.node,u.offset),e.removeAllRanges(),d>o?(e.addRange(t),e.extend(v.node,v.offset)):(t.setEnd(v.node,v.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Jr=null,Sa=null,hi=null,ba=!1;function Gd(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ba||Jr==null||Jr!==hr(o)||(o=Jr,"selectionStart"in o&&ka(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),hi&&fi(hi,o)||(hi=o,o=Mo(Sa,"onSelect"),0ss||(e.current=Da[ss],Da[ss]=null,ss--)}function Ie(e,t){ss++,Da[ss]=e.current,e.current=t}var Fn={},it=zn(Fn),pt=zn(!1),xr=Fn;function is(e,t){var i=e.type.contextTypes;if(!i)return Fn;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var u={},d;for(d in i)u[d]=t[d];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=u),u}function mt(e){return e=e.childContextTypes,e!=null}function zo(){Fe(pt),Fe(it)}function cf(e,t,i){if(it.current!==Fn)throw Error(s(168));Ie(it,t),Ie(pt,i)}function df(e,t,i){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return i;o=o.getChildContext();for(var u in o)if(!(u in t))throw Error(s(108,Re(e)||"Unknown",u));return ee({},i,o)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Fn,xr=it.current,Ie(it,e),Ie(pt,pt.current),!0}function ff(e,t,i){var o=e.stateNode;if(!o)throw Error(s(169));i?(e=df(e,t,xr),o.__reactInternalMemoizedMergedChildContext=e,Fe(pt),Fe(it),Ie(it,e)):Fe(pt),Ie(pt,i)}var hn=null,Oo=!1,za=!1;function hf(e){hn===null?hn=[e]:hn.push(e)}function Ay(e){Oo=!0,hf(e)}function On(){if(!za&&hn!==null){za=!0;var e=0,t=Ne;try{var i=hn;for(Ne=1;e>=v,u-=v,pn=1<<32-Ut(t)+u|i<fe?(Je=ce,ce=null):Je=ce.sibling;var Ce=B(T,ce,I[fe],q);if(Ce===null){ce===null&&(ce=Je);break}e&&ce&&Ce.alternate===null&&t(T,ce),N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce,ce=Je}if(fe===I.length)return i(T,ce),Ae&&kr(T,fe),le;if(ce===null){for(;fefe?(Je=ce,ce=null):Je=ce.sibling;var Kn=B(T,ce,Ce.value,q);if(Kn===null){ce===null&&(ce=Je);break}e&&ce&&Kn.alternate===null&&t(T,ce),N=d(Kn,N,fe),ue===null?le=Kn:ue.sibling=Kn,ue=Kn,ce=Je}if(Ce.done)return i(T,ce),Ae&&kr(T,fe),le;if(ce===null){for(;!Ce.done;fe++,Ce=I.next())Ce=K(T,Ce.value,q),Ce!==null&&(N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce);return Ae&&kr(T,fe),le}for(ce=o(T,ce);!Ce.done;fe++,Ce=I.next())Ce=ne(ce,T,fe,Ce.value,q),Ce!==null&&(e&&Ce.alternate!==null&&ce.delete(Ce.key===null?fe:Ce.key),N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce);return e&&ce.forEach(function(x0){return t(T,x0)}),Ae&&kr(T,fe),le}function Qe(T,N,I,q){if(typeof I=="object"&&I!==null&&I.type===G&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case A:e:{for(var le=I.key,ue=N;ue!==null;){if(ue.key===le){if(le=I.type,le===G){if(ue.tag===7){i(T,ue.sibling),N=u(ue,I.props.children),N.return=T,T=N;break e}}else if(ue.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===ye&&xf(le)===ue.type){i(T,ue.sibling),N=u(ue,I.props),N.ref=xi(T,ue,I),N.return=T,T=N;break e}i(T,ue);break}else t(T,ue);ue=ue.sibling}I.type===G?(N=Nr(I.props.children,T.mode,q,I.key),N.return=T,T=N):(q=fl(I.type,I.key,I.props,null,T.mode,q),q.ref=xi(T,N,I),q.return=T,T=q)}return v(T);case F:e:{for(ue=I.key;N!==null;){if(N.key===ue)if(N.tag===4&&N.stateNode.containerInfo===I.containerInfo&&N.stateNode.implementation===I.implementation){i(T,N.sibling),N=u(N,I.children||[]),N.return=T,T=N;break e}else{i(T,N);break}else t(T,N);N=N.sibling}N=Tu(I,T.mode,q),N.return=T,T=N}return v(T);case ye:return ue=I._init,Qe(T,N,ue(I._payload),q)}if(gr(I))return ie(T,N,I,q);if(J(I))return oe(T,N,I,q);$o(T,I)}return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,N!==null&&N.tag===6?(i(T,N.sibling),N=u(N,I),N.return=T,T=N):(i(T,N),N=Mu(I,T.mode,q),N.return=T,T=N),v(T)):i(T,N)}return Qe}var us=wf(!0),kf=wf(!1),Vo=zn(null),Ho=null,cs=null,$a=null;function Va(){$a=cs=Ho=null}function Ha(e){var t=Vo.current;Fe(Vo),e._currentValue=t}function Wa(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function ds(e,t){Ho=e,$a=cs=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(gt=!0),e.firstContext=null)}function Dt(e){var t=e._currentValue;if($a!==e)if(e={context:e,memoizedValue:t,next:null},cs===null){if(Ho===null)throw Error(s(308));cs=e,Ho.dependencies={lanes:0,firstContext:e}}else cs=cs.next=e;return t}var Sr=null;function Qa(e){Sr===null?Sr=[e]:Sr.push(e)}function Sf(e,t,i,o){var u=t.interleaved;return u===null?(i.next=i,Qa(t)):(i.next=u.next,u.next=i),t.interleaved=i,gn(e,o)}function gn(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var An=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bf(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function yn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Un(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(_e&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,gn(e,i)}return u=o.interleaved,u===null?(t.next=t,Qa(o)):(t.next=u.next,u.next=t),o.interleaved=t,gn(e,i)}function Wo(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,la(e,i)}}function _f(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,d=null;if(i=i.firstBaseUpdate,i!==null){do{var v={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};d===null?u=d=v:d=d.next=v,i=i.next}while(i!==null);d===null?u=d=t:d=d.next=t}else u=d=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:d,shared:o.shared,effects:o.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function Qo(e,t,i,o){var u=e.updateQueue;An=!1;var d=u.firstBaseUpdate,v=u.lastBaseUpdate,C=u.shared.pending;if(C!==null){u.shared.pending=null;var E=C,D=E.next;E.next=null,v===null?d=D:v.next=D,v=E;var $=e.alternate;$!==null&&($=$.updateQueue,C=$.lastBaseUpdate,C!==v&&(C===null?$.firstBaseUpdate=D:C.next=D,$.lastBaseUpdate=E))}if(d!==null){var K=u.baseState;v=0,$=D=E=null,C=d;do{var B=C.lane,ne=C.eventTime;if((o&B)===B){$!==null&&($=$.next={eventTime:ne,lane:0,tag:C.tag,payload:C.payload,callback:C.callback,next:null});e:{var ie=e,oe=C;switch(B=t,ne=i,oe.tag){case 1:if(ie=oe.payload,typeof ie=="function"){K=ie.call(ne,K,B);break e}K=ie;break e;case 3:ie.flags=ie.flags&-65537|128;case 0:if(ie=oe.payload,B=typeof ie=="function"?ie.call(ne,K,B):ie,B==null)break e;K=ee({},K,B);break e;case 2:An=!0}}C.callback!==null&&C.lane!==0&&(e.flags|=64,B=u.effects,B===null?u.effects=[C]:B.push(C))}else ne={eventTime:ne,lane:B,tag:C.tag,payload:C.payload,callback:C.callback,next:null},$===null?(D=$=ne,E=K):$=$.next=ne,v|=B;if(C=C.next,C===null){if(C=u.shared.pending,C===null)break;B=C,C=B.next,B.next=null,u.lastBaseUpdate=B,u.shared.pending=null}}while(!0);if($===null&&(E=K),u.baseState=E,u.firstBaseUpdate=D,u.lastBaseUpdate=$,t=u.shared.interleaved,t!==null){u=t;do v|=u.lane,u=u.next;while(u!==t)}else d===null&&(u.shared.lanes=0);Cr|=v,e.lanes=v,e.memoizedState=K}}function Cf(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;ti?i:4,e(!0);var o=Xa.transition;Xa.transition={};try{e(!1),t()}finally{Ne=i,Xa.transition=o}}function Hf(){return zt().memoizedState}function Vy(e,t,i){var o=Hn(e);if(i={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null},Wf(e))Qf(t,i);else if(i=Sf(e,t,i,o),i!==null){var u=ft();Qt(i,e,o,u),Kf(i,t,o)}}function Hy(e,t,i){var o=Hn(e),u={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null};if(Wf(e))Qf(t,u);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var v=t.lastRenderedState,C=d(v,i);if(u.hasEagerState=!0,u.eagerState=C,Bt(C,v)){var E=t.interleaved;E===null?(u.next=u,Qa(t)):(u.next=E.next,E.next=u),t.interleaved=u;return}}catch{}finally{}i=Sf(e,t,u,o),i!==null&&(u=ft(),Qt(i,e,o,u),Kf(i,t,o))}}function Wf(e){var t=e.alternate;return e===$e||t!==null&&t===$e}function Qf(e,t){bi=qo=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Kf(e,t,i){if((i&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,la(e,i)}}var Xo={readContext:Dt,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useInsertionEffect:ot,useLayoutEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useMutableSource:ot,useSyncExternalStore:ot,useId:ot,unstable_isNewReconciler:!1},Wy={readContext:Dt,useCallback:function(e,t){return tn().memoizedState=[e,t===void 0?null:t],e},useContext:Dt,useEffect:zf,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Zo(4194308,4,Af.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Zo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Zo(4,2,e,t)},useMemo:function(e,t){var i=tn();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var o=tn();return t=i!==void 0?i(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Vy.bind(null,$e,e),[o.memoizedState,e]},useRef:function(e){var t=tn();return e={current:e},t.memoizedState=e},useState:If,useDebugValue:iu,useDeferredValue:function(e){return tn().memoizedState=e},useTransition:function(){var e=If(!1),t=e[0];return e=$y.bind(null,e[1]),tn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var o=$e,u=tn();if(Ae){if(i===void 0)throw Error(s(407));i=i()}else{if(i=t(),Xe===null)throw Error(s(349));(_r&30)!==0||Nf(o,t,i)}u.memoizedState=i;var d={value:i,getSnapshot:t};return u.queue=d,zf(Lf.bind(null,o,d,e),[e]),o.flags|=2048,Ei(9,Rf.bind(null,o,d,i,t),void 0,null),i},useId:function(){var e=tn(),t=Xe.identifierPrefix;if(Ae){var i=mn,o=pn;i=(o&~(1<<32-Ut(o)-1)).toString(32)+i,t=":"+t+"R"+i,i=_i++,0")&&(E=E.replace("",e.displayName)),E}while(1<=v&&0<=C);break}}}finally{pe=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?U(e):""}function Se(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return e=ge(e.type,!1),e;case 11:return e=ge(e.type.render,!1),e;case 1:return e=ge(e.type,!0),e;default:return""}}function ve(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case q:return"Fragment";case F:return"Portal";case O:return"Profiler";case V:return"StrictMode";case ae:return"Suspense";case H:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case X:return(e.displayName||"Context")+".Consumer";case Q:return(e._context.displayName||"Context")+".Provider";case Z:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case te:return t=e.displayName||null,t!==null?t:ve(e.type)||"Memo";case ye:t=e._payload,e=e._init;try{return ve(e(t))}catch{}}return null}function Re(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ve(t);case 8:return t===V?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ee(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function tt(e){var t=Le(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,d=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(v){o=""+v,d.call(this,v)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return o},setValue:function(v){o=""+v},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cn(e){e._valueTracker||(e._valueTracker=tt(e))}function dr(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Le(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function fr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Kr(e,t){var i=t.checked;return ee({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Gs(e,t){var i=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;i=Ee(t.value!=null?t.value:i),e._wrapperState={initialChecked:o,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Zt(e,t){t=t.checked,t!=null&&z(e,"checked",t,!1)}function hr(e,t){Zt(e,t);var i=Ee(t.value),o=t.type;if(i!=null)o==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?pr(e,t.type,i):t.hasOwnProperty("defaultValue")&&pr(e,t.type,Ee(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function dn(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function pr(e,t,i){(t!=="number"||fr(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var mr=Array.isArray;function Pn(e,t,i,o){if(e=e.options,t){t={};for(var u=0;u"+t.valueOf().toString()+"",t=fo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ys(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var Xs={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},_g=["Webkit","ms","Moz","O"];Object.keys(Xs).forEach(function(e){_g.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Xs[t]=Xs[e]})});function nd(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Xs.hasOwnProperty(e)&&Xs[e]?(""+t).trim():t+"px"}function rd(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var o=i.indexOf("--")===0,u=nd(i,t[i],o);i==="float"&&(i="cssFloat"),o?e.setProperty(i,u):e[i]=u}}var Cg=ee({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 Zl(e,t){if(t){if(Cg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function Yl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Xl=null;function Jl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ea=null,Gr=null,Zr=null;function sd(e){if(e=wi(e)){if(typeof ea!="function")throw Error(s(280));var t=e.stateNode;t&&(t=Do(t),ea(e.stateNode,e.type,t))}}function id(e){Gr?Zr?Zr.push(e):Zr=[e]:Gr=e}function od(){if(Gr){var e=Gr,t=Zr;if(Zr=Gr=null,sd(e),t)for(e=0;e>>=0,e===0?32:31-(zg(e)/Fg|0)|0}var yo=64,vo=4194304;function ni(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function xo(e,t){var i=e.pendingLanes;if(i===0)return 0;var o=0,u=e.suspendedLanes,d=e.pingedLanes,v=i&268435455;if(v!==0){var C=v&~u;C!==0?o=ni(C):(d&=v,d!==0&&(o=ni(d)))}else v=i&~u,v!==0?o=ni(v):d!==0&&(o=ni(d));if(o===0)return 0;if(t!==0&&t!==o&&(t&u)===0&&(u=o&-o,d=t&-t,u>=d||u===16&&(d&4194240)!==0))return t;if((o&4)!==0&&(o|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0i;i++)t.push(e);return t}function ri(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=i}function Bg(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0=di),Id=" ",Dd=!1;function zd(e,t){switch(e){case"keyup":return my.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jr=!1;function yy(e,t){switch(e){case"compositionend":return Fd(t);case"keypress":return t.which!==32?null:(Dd=!0,Id);case"textInput":return e=t.data,e===Id&&Dd?null:e;default:return null}}function vy(e,t){if(Jr)return e==="compositionend"||!va&&zd(e,t)?(e=Pd(),_o=fa=Tn=null,Jr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Hd(i)}}function Qd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Qd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Kd(){for(var e=window,t=fr();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=fr(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function jy(e){var t=Kd(),i=e.focusedElem,o=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&Qd(i.ownerDocument.documentElement,i)){if(o!==null&&ka(i)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,d=Math.min(o.start,u);o=o.end===void 0?d:Math.min(o.end,u),!e.extend&&d>o&&(u=o,o=d,d=u),u=Wd(i,d);var v=Wd(i,o);u&&v&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==v.node||e.focusOffset!==v.offset)&&(t=t.createRange(),t.setStart(u.node,u.offset),e.removeAllRanges(),d>o?(e.addRange(t),e.extend(v.node,v.offset)):(t.setEnd(v.node,v.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,es=null,Sa=null,mi=null,ba=!1;function qd(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;ba||es==null||es!==fr(o)||(o=es,"selectionStart"in o&&ka(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),mi&&pi(mi,o)||(mi=o,o=Mo(Sa,"onSelect"),0is||(e.current=Da[is],Da[is]=null,is--)}function Ie(e,t){is++,Da[is]=e.current,e.current=t}var Fn={},it=zn(Fn),pt=zn(!1),vr=Fn;function os(e,t){var i=e.type.contextTypes;if(!i)return Fn;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var u={},d;for(d in i)u[d]=t[d];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=u),u}function mt(e){return e=e.childContextTypes,e!=null}function zo(){Fe(pt),Fe(it)}function cf(e,t,i){if(it.current!==Fn)throw Error(s(168));Ie(it,t),Ie(pt,i)}function df(e,t,i){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return i;o=o.getChildContext();for(var u in o)if(!(u in t))throw Error(s(108,Re(e)||"Unknown",u));return ee({},i,o)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Fn,vr=it.current,Ie(it,e),Ie(pt,pt.current),!0}function ff(e,t,i){var o=e.stateNode;if(!o)throw Error(s(169));i?(e=df(e,t,vr),o.__reactInternalMemoizedMergedChildContext=e,Fe(pt),Fe(it),Ie(it,e)):Fe(pt),Ie(pt,i)}var hn=null,Oo=!1,za=!1;function hf(e){hn===null?hn=[e]:hn.push(e)}function Ay(e){Oo=!0,hf(e)}function On(){if(!za&&hn!==null){za=!0;var e=0,t=Ne;try{var i=hn;for(Ne=1;e>=v,u-=v,pn=1<<32-Ut(t)+u|i<fe?(Je=ce,ce=null):Je=ce.sibling;var Ce=B(T,ce,I[fe],G);if(Ce===null){ce===null&&(ce=Je);break}e&&ce&&Ce.alternate===null&&t(T,ce),N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce,ce=Je}if(fe===I.length)return i(T,ce),Ae&&wr(T,fe),le;if(ce===null){for(;fefe?(Je=ce,ce=null):Je=ce.sibling;var Kn=B(T,ce,Ce.value,G);if(Kn===null){ce===null&&(ce=Je);break}e&&ce&&Kn.alternate===null&&t(T,ce),N=d(Kn,N,fe),ue===null?le=Kn:ue.sibling=Kn,ue=Kn,ce=Je}if(Ce.done)return i(T,ce),Ae&&wr(T,fe),le;if(ce===null){for(;!Ce.done;fe++,Ce=I.next())Ce=K(T,Ce.value,G),Ce!==null&&(N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce);return Ae&&wr(T,fe),le}for(ce=o(T,ce);!Ce.done;fe++,Ce=I.next())Ce=ne(ce,T,fe,Ce.value,G),Ce!==null&&(e&&Ce.alternate!==null&&ce.delete(Ce.key===null?fe:Ce.key),N=d(Ce,N,fe),ue===null?le=Ce:ue.sibling=Ce,ue=Ce);return e&&ce.forEach(function(x0){return t(T,x0)}),Ae&&wr(T,fe),le}function Qe(T,N,I,G){if(typeof I=="object"&&I!==null&&I.type===q&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case A:e:{for(var le=I.key,ue=N;ue!==null;){if(ue.key===le){if(le=I.type,le===q){if(ue.tag===7){i(T,ue.sibling),N=u(ue,I.props.children),N.return=T,T=N;break e}}else if(ue.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===ye&&xf(le)===ue.type){i(T,ue.sibling),N=u(ue,I.props),N.ref=ki(T,ue,I),N.return=T,T=N;break e}i(T,ue);break}else t(T,ue);ue=ue.sibling}I.type===q?(N=Pr(I.props.children,T.mode,G,I.key),N.return=T,T=N):(G=fl(I.type,I.key,I.props,null,T.mode,G),G.ref=ki(T,N,I),G.return=T,T=G)}return v(T);case F:e:{for(ue=I.key;N!==null;){if(N.key===ue)if(N.tag===4&&N.stateNode.containerInfo===I.containerInfo&&N.stateNode.implementation===I.implementation){i(T,N.sibling),N=u(N,I.children||[]),N.return=T,T=N;break e}else{i(T,N);break}else t(T,N);N=N.sibling}N=Tu(I,T.mode,G),N.return=T,T=N}return v(T);case ye:return ue=I._init,Qe(T,N,ue(I._payload),G)}if(mr(I))return ie(T,N,I,G);if(J(I))return oe(T,N,I,G);$o(T,I)}return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,N!==null&&N.tag===6?(i(T,N.sibling),N=u(N,I),N.return=T,T=N):(i(T,N),N=Mu(I,T.mode,G),N.return=T,T=N),v(T)):i(T,N)}return Qe}var cs=wf(!0),kf=wf(!1),Vo=zn(null),Ho=null,ds=null,$a=null;function Va(){$a=ds=Ho=null}function Ha(e){var t=Vo.current;Fe(Vo),e._currentValue=t}function Wa(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function fs(e,t){Ho=e,$a=ds=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(gt=!0),e.firstContext=null)}function Dt(e){var t=e._currentValue;if($a!==e)if(e={context:e,memoizedValue:t,next:null},ds===null){if(Ho===null)throw Error(s(308));ds=e,Ho.dependencies={lanes:0,firstContext:e}}else ds=ds.next=e;return t}var kr=null;function Qa(e){kr===null?kr=[e]:kr.push(e)}function Sf(e,t,i,o){var u=t.interleaved;return u===null?(i.next=i,Qa(t)):(i.next=u.next,u.next=i),t.interleaved=i,gn(e,o)}function gn(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var An=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bf(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function yn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Un(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(_e&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,gn(e,i)}return u=o.interleaved,u===null?(t.next=t,Qa(o)):(t.next=u.next,u.next=t),o.interleaved=t,gn(e,i)}function Wo(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,la(e,i)}}function _f(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,d=null;if(i=i.firstBaseUpdate,i!==null){do{var v={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};d===null?u=d=v:d=d.next=v,i=i.next}while(i!==null);d===null?u=d=t:d=d.next=t}else u=d=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:d,shared:o.shared,effects:o.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function Qo(e,t,i,o){var u=e.updateQueue;An=!1;var d=u.firstBaseUpdate,v=u.lastBaseUpdate,C=u.shared.pending;if(C!==null){u.shared.pending=null;var E=C,D=E.next;E.next=null,v===null?d=D:v.next=D,v=E;var $=e.alternate;$!==null&&($=$.updateQueue,C=$.lastBaseUpdate,C!==v&&(C===null?$.firstBaseUpdate=D:C.next=D,$.lastBaseUpdate=E))}if(d!==null){var K=u.baseState;v=0,$=D=E=null,C=d;do{var B=C.lane,ne=C.eventTime;if((o&B)===B){$!==null&&($=$.next={eventTime:ne,lane:0,tag:C.tag,payload:C.payload,callback:C.callback,next:null});e:{var ie=e,oe=C;switch(B=t,ne=i,oe.tag){case 1:if(ie=oe.payload,typeof ie=="function"){K=ie.call(ne,K,B);break e}K=ie;break e;case 3:ie.flags=ie.flags&-65537|128;case 0:if(ie=oe.payload,B=typeof ie=="function"?ie.call(ne,K,B):ie,B==null)break e;K=ee({},K,B);break e;case 2:An=!0}}C.callback!==null&&C.lane!==0&&(e.flags|=64,B=u.effects,B===null?u.effects=[C]:B.push(C))}else ne={eventTime:ne,lane:B,tag:C.tag,payload:C.payload,callback:C.callback,next:null},$===null?(D=$=ne,E=K):$=$.next=ne,v|=B;if(C=C.next,C===null){if(C=u.shared.pending,C===null)break;B=C,C=B.next,B.next=null,u.lastBaseUpdate=B,u.shared.pending=null}}while(!0);if($===null&&(E=K),u.baseState=E,u.firstBaseUpdate=D,u.lastBaseUpdate=$,t=u.shared.interleaved,t!==null){u=t;do v|=u.lane,u=u.next;while(u!==t)}else d===null&&(u.shared.lanes=0);_r|=v,e.lanes=v,e.memoizedState=K}}function Cf(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;ti?i:4,e(!0);var o=Xa.transition;Xa.transition={};try{e(!1),t()}finally{Ne=i,Xa.transition=o}}function Hf(){return zt().memoizedState}function Vy(e,t,i){var o=Hn(e);if(i={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null},Wf(e))Qf(t,i);else if(i=Sf(e,t,i,o),i!==null){var u=ft();Qt(i,e,o,u),Kf(i,t,o)}}function Hy(e,t,i){var o=Hn(e),u={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null};if(Wf(e))Qf(t,u);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var v=t.lastRenderedState,C=d(v,i);if(u.hasEagerState=!0,u.eagerState=C,Bt(C,v)){var E=t.interleaved;E===null?(u.next=u,Qa(t)):(u.next=E.next,E.next=u),t.interleaved=u;return}}catch{}finally{}i=Sf(e,t,u,o),i!==null&&(u=ft(),Qt(i,e,o,u),Kf(i,t,o))}}function Wf(e){var t=e.alternate;return e===$e||t!==null&&t===$e}function Qf(e,t){Ci=Go=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Kf(e,t,i){if((i&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,la(e,i)}}var Xo={readContext:Dt,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useInsertionEffect:ot,useLayoutEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useMutableSource:ot,useSyncExternalStore:ot,useId:ot,unstable_isNewReconciler:!1},Wy={readContext:Dt,useCallback:function(e,t){return tn().memoizedState=[e,t===void 0?null:t],e},useContext:Dt,useEffect:zf,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Zo(4194308,4,Af.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Zo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Zo(4,2,e,t)},useMemo:function(e,t){var i=tn();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var o=tn();return t=i!==void 0?i(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Vy.bind(null,$e,e),[o.memoizedState,e]},useRef:function(e){var t=tn();return e={current:e},t.memoizedState=e},useState:If,useDebugValue:iu,useDeferredValue:function(e){return tn().memoizedState=e},useTransition:function(){var e=If(!1),t=e[0];return e=$y.bind(null,e[1]),tn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var o=$e,u=tn();if(Ae){if(i===void 0)throw Error(s(407));i=i()}else{if(i=t(),Xe===null)throw Error(s(349));(br&30)!==0||Nf(o,t,i)}u.memoizedState=i;var d={value:i,getSnapshot:t};return u.queue=d,zf(Lf.bind(null,o,d,e),[e]),o.flags|=2048,Pi(9,Rf.bind(null,o,d,i,t),void 0,null),i},useId:function(){var e=tn(),t=Xe.identifierPrefix;if(Ae){var i=mn,o=pn;i=(o&~(1<<32-Ut(o)-1)).toString(32)+i,t=":"+t+"R"+i,i=Ei++,0<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=v.createElement(i,{is:o.is}):(e=v.createElement(i),i==="select"&&(v=e,o.multiple?v.multiple=!0:o.size&&(v.size=o.size))):e=v.createElementNS(e,i),e[Jt]=t,e[yi]=o,hh(e,t,!1,!1),t.stateNode=e;e:{switch(v=Yl(i,o),i){case"dialog":ze("cancel",e),ze("close",e),u=o;break;case"iframe":case"object":case"embed":ze("load",e),u=o;break;case"video":case"audio":for(u=0;ugs&&(t.flags|=128,o=!0,ji(d,!1),t.lanes=4194304)}else{if(!o)if(e=Ko(v),e!==null){if(t.flags|=128,o=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),ji(d,!0),d.tail===null&&d.tailMode==="hidden"&&!v.alternate&&!Ae)return lt(t),null}else 2*We()-d.renderingStartTime>gs&&i!==1073741824&&(t.flags|=128,o=!0,ji(d,!1),t.lanes=4194304);d.isBackwards?(v.sibling=t.child,t.child=v):(i=d.last,i!==null?i.sibling=v:t.child=v,d.last=v)}return d.tail!==null?(t=d.tail,d.rendering=t,d.tail=t.sibling,d.renderingStartTime=We(),t.sibling=null,i=Be.current,Ie(Be,o?i&1|2:i&1),t):(lt(t),null);case 22:case 23:return Nu(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(Et&1073741824)!==0&&(lt(t),t.subtreeFlags&6&&(t.flags|=8192)):lt(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function Jy(e,t){switch(Oa(t),t.tag){case 1:return mt(t.type)&&zo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fs(),Fe(pt),Fe(it),Ya(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return qa(t),null;case 13:if(Fe(Be),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));as()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(Be),null;case 4:return fs(),null;case 10:return Ha(t.type._context),null;case 22:case 23:return Nu(),null;case 24:return null;default:return null}}var nl=!1,at=!1,e0=typeof WeakSet=="function"?WeakSet:Set,se=null;function ps(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(o){Ve(e,t,o)}else i.current=null}function yu(e,t,i){try{i()}catch(o){Ve(e,t,o)}}var gh=!1;function t0(e,t){if(Na=So,e=Kd(),ka(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var u=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{i.nodeType,d.nodeType}catch{i=null;break e}var v=0,C=-1,E=-1,D=0,$=0,K=e,B=null;t:for(;;){for(var ne;K!==i||u!==0&&K.nodeType!==3||(C=v+u),K!==d||o!==0&&K.nodeType!==3||(E=v+o),K.nodeType===3&&(v+=K.nodeValue.length),(ne=K.firstChild)!==null;)B=K,K=ne;for(;;){if(K===e)break t;if(B===i&&++D===u&&(C=v),B===d&&++$===o&&(E=v),(ne=K.nextSibling)!==null)break;K=B,B=K.parentNode}K=ne}i=C===-1||E===-1?null:{start:C,end:E}}else i=null}i=i||{start:0,end:0}}else i=null;for(Ra={focusedElem:e,selectionRange:i},So=!1,se=t;se!==null;)if(t=se,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,se=e;else for(;se!==null;){t=se;try{var ie=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(ie!==null){var oe=ie.memoizedProps,Qe=ie.memoizedState,T=t.stateNode,N=T.getSnapshotBeforeUpdate(t.elementType===t.type?oe:Vt(t.type,oe),Qe);T.__reactInternalSnapshotBeforeUpdate=N}break;case 3:var I=t.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(q){Ve(t,t.return,q)}if(e=t.sibling,e!==null){e.return=t.return,se=e;break}se=t.return}return ie=gh,gh=!1,ie}function Pi(e,t,i){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var u=o=o.next;do{if((u.tag&e)===e){var d=u.destroy;u.destroy=void 0,d!==void 0&&yu(t,i,d)}u=u.next}while(u!==o)}}function rl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var o=i.create;i.destroy=o()}i=i.next}while(i!==t)}}function vu(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function yh(e){var t=e.alternate;t!==null&&(e.alternate=null,yh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Jt],delete t[yi],delete t[Ia],delete t[Fy],delete t[Oy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function vh(e){return e.tag===5||e.tag===3||e.tag===4}function xh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function xu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Io));else if(o!==4&&(e=e.child,e!==null))for(xu(e,t,i),e=e.sibling;e!==null;)xu(e,t,i),e=e.sibling}function wu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(wu(e,t,i),e=e.sibling;e!==null;)wu(e,t,i),e=e.sibling}var nt=null,Ht=!1;function Bn(e,t,i){for(i=i.child;i!==null;)wh(e,t,i),i=i.sibling}function wh(e,t,i){if(Xt&&typeof Xt.onCommitFiberUnmount=="function")try{Xt.onCommitFiberUnmount(go,i)}catch{}switch(i.tag){case 5:at||ps(i,t);case 6:var o=nt,u=Ht;nt=null,Bn(e,t,i),nt=o,Ht=u,nt!==null&&(Ht?(e=nt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):nt.removeChild(i.stateNode));break;case 18:nt!==null&&(Ht?(e=nt,i=i.stateNode,e.nodeType===8?Ta(e.parentNode,i):e.nodeType===1&&Ta(e,i),oi(e)):Ta(nt,i.stateNode));break;case 4:o=nt,u=Ht,nt=i.stateNode.containerInfo,Ht=!0,Bn(e,t,i),nt=o,Ht=u;break;case 0:case 11:case 14:case 15:if(!at&&(o=i.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){u=o=o.next;do{var d=u,v=d.destroy;d=d.tag,v!==void 0&&((d&2)!==0||(d&4)!==0)&&yu(i,t,v),u=u.next}while(u!==o)}Bn(e,t,i);break;case 1:if(!at&&(ps(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=i.memoizedProps,o.state=i.memoizedState,o.componentWillUnmount()}catch(C){Ve(i,t,C)}Bn(e,t,i);break;case 21:Bn(e,t,i);break;case 22:i.mode&1?(at=(o=at)||i.memoizedState!==null,Bn(e,t,i),at=o):Bn(e,t,i);break;default:Bn(e,t,i)}}function kh(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new e0),t.forEach(function(o){var u=c0.bind(null,e,o);i.has(o)||(i.add(o),o.then(u,u))})}}function Wt(e,t){var i=t.deletions;if(i!==null)for(var o=0;ou&&(u=v),o&=~d}if(o=u,o=We()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*r0(o/1960))-o,10e?16:e,Vn===null)var o=!1;else{if(e=Vn,Vn=null,al=0,(_e&6)!==0)throw Error(s(331));var u=_e;for(_e|=4,se=e.current;se!==null;){var d=se,v=d.child;if((se.flags&16)!==0){var C=d.deletions;if(C!==null){for(var E=0;EWe()-bu?jr(e,0):Su|=i),vt(e,t)}function Ih(e,t){t===0&&((e.mode&1)===0?t=1:(t=vo,vo<<=1,(vo&130023424)===0&&(vo=4194304)));var i=ft();e=gn(e,t),e!==null&&(ti(e,t,i),vt(e,i))}function u0(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Ih(e,i)}function c0(e,t){var i=0;switch(e.tag){case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(s(314))}o!==null&&o.delete(t),Ih(e,i)}var Dh;Dh=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||pt.current)gt=!0;else{if((e.lanes&i)===0&&(t.flags&128)===0)return gt=!1,Yy(e,t,i);gt=(e.flags&131072)!==0}else gt=!1,Ae&&(t.flags&1048576)!==0&&pf(t,Uo,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;tl(e,t),e=t.pendingProps;var u=is(t,it.current);ds(t,i),u=eu(null,t,o,e,u,i);var d=tu();return t.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,mt(o)?(d=!0,Fo(t)):d=!1,t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ka(t),u.updater=Jo,t.stateNode=u,u._reactInternals=t,lu(t,o,e,i),t=du(null,t,o,!0,d,i)):(t.tag=0,Ae&&d&&Fa(t),dt(null,t,u,i),t=t.child),t;case 16:o=t.elementType;e:{switch(tl(e,t),e=t.pendingProps,u=o._init,o=u(o._payload),t.type=o,u=t.tag=f0(o),e=Vt(o,e),u){case 0:t=cu(null,t,o,e,i);break e;case 1:t=lh(null,t,o,e,i);break e;case 11:t=nh(null,t,o,e,i);break e;case 14:t=rh(null,t,o,Vt(o.type,e),i);break e}throw Error(s(306,o,""))}return t;case 0:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),cu(e,t,o,u,i);case 1:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),lh(e,t,o,u,i);case 3:e:{if(ah(t),e===null)throw Error(s(387));o=t.pendingProps,d=t.memoizedState,u=d.element,bf(e,t),Qo(t,o,null,i);var v=t.memoizedState;if(o=v.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){u=hs(Error(s(423)),t),t=uh(e,t,o,i,u);break e}else if(o!==u){u=hs(Error(s(424)),t),t=uh(e,t,o,i,u);break e}else for(Ct=Dn(t.stateNode.containerInfo.firstChild),_t=t,Ae=!0,$t=null,i=kf(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(as(),o===u){t=vn(e,t,i);break e}dt(e,t,o,i)}t=t.child}return t;case 5:return Ef(t),e===null&&Ua(t),o=t.type,u=t.pendingProps,d=e!==null?e.memoizedProps:null,v=u.children,La(o,u)?v=null:d!==null&&La(o,d)&&(t.flags|=32),oh(e,t),dt(e,t,v,i),t.child;case 6:return e===null&&Ua(t),null;case 13:return ch(e,t,i);case 4:return Ga(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=us(t,null,o,i):dt(e,t,o,i),t.child;case 11:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),nh(e,t,o,u,i);case 7:return dt(e,t,t.pendingProps,i),t.child;case 8:return dt(e,t,t.pendingProps.children,i),t.child;case 12:return dt(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(o=t.type._context,u=t.pendingProps,d=t.memoizedProps,v=u.value,Ie(Vo,o._currentValue),o._currentValue=v,d!==null)if(Bt(d.value,v)){if(d.children===u.children&&!pt.current){t=vn(e,t,i);break e}}else for(d=t.child,d!==null&&(d.return=t);d!==null;){var C=d.dependencies;if(C!==null){v=d.child;for(var E=C.firstContext;E!==null;){if(E.context===o){if(d.tag===1){E=yn(-1,i&-i),E.tag=2;var D=d.updateQueue;if(D!==null){D=D.shared;var $=D.pending;$===null?E.next=E:(E.next=$.next,$.next=E),D.pending=E}}d.lanes|=i,E=d.alternate,E!==null&&(E.lanes|=i),Wa(d.return,i,t),C.lanes|=i;break}E=E.next}}else if(d.tag===10)v=d.type===t.type?null:d.child;else if(d.tag===18){if(v=d.return,v===null)throw Error(s(341));v.lanes|=i,C=v.alternate,C!==null&&(C.lanes|=i),Wa(v,i,t),v=d.sibling}else v=d.child;if(v!==null)v.return=d;else for(v=d;v!==null;){if(v===t){v=null;break}if(d=v.sibling,d!==null){d.return=v.return,v=d;break}v=v.return}d=v}dt(e,t,u.children,i),t=t.child}return t;case 9:return u=t.type,o=t.pendingProps.children,ds(t,i),u=Dt(u),o=o(u),t.flags|=1,dt(e,t,o,i),t.child;case 14:return o=t.type,u=Vt(o,t.pendingProps),u=Vt(o.type,u),rh(e,t,o,u,i);case 15:return sh(e,t,t.type,t.pendingProps,i);case 17:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),tl(e,t),t.tag=1,mt(o)?(e=!0,Fo(t)):e=!1,ds(t,i),qf(t,o,u),lu(t,o,u,i),du(null,t,o,!0,e,i);case 19:return fh(e,t,i);case 22:return ih(e,t,i)}throw Error(s(156,t.tag))};function zh(e,t){return pd(e,t)}function d0(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ot(e,t,i,o){return new d0(e,t,i,o)}function Lu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function f0(e){if(typeof e=="function")return Lu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Z)return 11;if(e===te)return 14}return 2}function Qn(e,t){var i=e.alternate;return i===null?(i=Ot(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function fl(e,t,i,o,u,d){var v=2;if(o=e,typeof e=="function")Lu(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case G:return Nr(i.children,u,d,t);case V:v=8,u|=8;break;case O:return e=Ot(12,i,t,u|2),e.elementType=O,e.lanes=d,e;case ae:return e=Ot(13,i,t,u),e.elementType=ae,e.lanes=d,e;case H:return e=Ot(19,i,t,u),e.elementType=H,e.lanes=d,e;case he:return hl(i,u,d,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Q:v=10;break e;case X:v=9;break e;case Z:v=11;break e;case te:v=14;break e;case ye:v=16,o=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=Ot(v,i,t,u),t.elementType=e,t.type=o,t.lanes=d,t}function Nr(e,t,i,o){return e=Ot(7,e,o,t),e.lanes=i,e}function hl(e,t,i,o){return e=Ot(22,e,o,t),e.elementType=he,e.lanes=i,e.stateNode={isHidden:!1},e}function Mu(e,t,i){return e=Ot(6,e,null,t),e.lanes=i,e}function Tu(e,t,i){return t=Ot(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function h0(e,t,i,o,u){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=oa(0),this.expirationTimes=oa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=oa(0),this.identifierPrefix=o,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function Iu(e,t,i,o,u,d,v,C,E){return e=new h0(e,t,i,C,E),t===1?(t=1,d===!0&&(t|=8)):t=0,d=Ot(3,null,null,t),e.current=d,d.stateNode=e,d.memoizedState={element:o,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ka(d),e}function p0(e,t,i){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Bu.exports=P0(),Bu.exports}var Yh;function R0(){if(Yh)return Sl;Yh=1;var n=N0();return Sl.createRoot=n.createRoot,Sl.hydrateRoot=n.hydrateRoot,Sl}var L0=R0();const M0=sm(L0);var oo=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Tr,Xn,Ps,Gp,T0=(Gp=class extends oo{constructor(){super();de(this,Tr);de(this,Xn);de(this,Ps);re(this,Ps,r=>{if(typeof window<"u"&&window.addEventListener){const s=()=>r();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){j(this,Xn)||this.setEventListener(j(this,Ps))}onUnsubscribe(){var r;this.hasListeners()||((r=j(this,Xn))==null||r.call(this),re(this,Xn,void 0))}setEventListener(r){var s;re(this,Ps,r),(s=j(this,Xn))==null||s.call(this),re(this,Xn,r(l=>{typeof l=="boolean"?this.setFocused(l):this.onFocus()}))}setFocused(r){j(this,Tr)!==r&&(re(this,Tr,r),this.onFocus())}onFocus(){const r=this.isFocused();this.listeners.forEach(s=>{s(r)})}isFocused(){var r;return typeof j(this,Tr)=="boolean"?j(this,Tr):((r=globalThis.document)==null?void 0:r.visibilityState)!=="hidden"}},Tr=new WeakMap,Xn=new WeakMap,Ps=new WeakMap,Gp),Lc=new T0,I0={setTimeout:(n,r)=>setTimeout(n,r),clearTimeout:n=>clearTimeout(n),setInterval:(n,r)=>setInterval(n,r),clearInterval:n=>clearInterval(n)},Jn,Rc,qp,D0=(qp=class{constructor(){de(this,Jn,I0);de(this,Rc,!1)}setTimeoutProvider(n){re(this,Jn,n)}setTimeout(n,r){return j(this,Jn).setTimeout(n,r)}clearTimeout(n){j(this,Jn).clearTimeout(n)}setInterval(n,r){return j(this,Jn).setInterval(n,r)}clearInterval(n){j(this,Jn).clearInterval(n)}},Jn=new WeakMap,Rc=new WeakMap,qp),Lr=new D0;function z0(n){setTimeout(n,0)}var F0=typeof window>"u"||"Deno"in globalThis;function kt(){}function O0(n,r){return typeof n=="function"?n(r):n}function rc(n){return typeof n=="number"&&n>=0&&n!==1/0}function im(n,r){return Math.max(n+(r||0)-Date.now(),0)}function lr(n,r){return typeof n=="function"?n(r):n}function Pt(n,r){return typeof n=="function"?n(r):n}function Xh(n,r){const{type:s="all",exact:l,fetchStatus:a,predicate:c,queryKey:h,stale:f}=n;if(h){if(l){if(r.queryHash!==Mc(h,r.options))return!1}else if(!Ki(r.queryKey,h))return!1}if(s!=="all"){const p=r.isActive();if(s==="active"&&!p||s==="inactive"&&p)return!1}return!(typeof f=="boolean"&&r.isStale()!==f||a&&a!==r.state.fetchStatus||c&&!c(r))}function Jh(n,r){const{exact:s,status:l,predicate:a,mutationKey:c}=n;if(c){if(!r.options.mutationKey)return!1;if(s){if(Qi(r.options.mutationKey)!==Qi(c))return!1}else if(!Ki(r.options.mutationKey,c))return!1}return!(l&&r.state.status!==l||a&&!a(r))}function Mc(n,r){return((r==null?void 0:r.queryKeyHashFn)||Qi)(n)}function Qi(n){return JSON.stringify(n,(r,s)=>ic(s)?Object.keys(s).sort().reduce((l,a)=>(l[a]=s[a],l),{}):s)}function Ki(n,r){return n===r?!0:typeof n!=typeof r?!1:n&&r&&typeof n=="object"&&typeof r=="object"?Object.keys(r).every(s=>Ki(n[s],r[s])):!1}var A0=Object.prototype.hasOwnProperty;function om(n,r,s=0){if(n===r)return n;if(s>500)return r;const l=ep(n)&&ep(r);if(!l&&!(ic(n)&&ic(r)))return r;const c=(l?n:Object.keys(n)).length,h=l?r:Object.keys(r),f=h.length,p=l?new Array(f):{};let m=0;for(let w=0;w{Lr.setTimeout(r,n)})}function oc(n,r,s){return typeof s.structuralSharing=="function"?s.structuralSharing(n,r):s.structuralSharing!==!1?om(n,r):r}function B0(n,r,s=0){const l=[...n,r];return s&&l.length>s?l.slice(1):l}function $0(n,r,s=0){const l=[r,...n];return s&&l.length>s?l.slice(0,-1):l}var Tc=Symbol();function lm(n,r){return!n.queryFn&&(r!=null&&r.initialPromise)?()=>r.initialPromise:!n.queryFn||n.queryFn===Tc?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function am(n,r){return typeof n=="function"?n(...r):!!n}function V0(n,r,s){let l=!1,a;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(a??(a=r()),l||(l=!0,a.aborted?s():a.addEventListener("abort",s,{once:!0})),a)}),n}var Gi=(()=>{let n=()=>F0;return{isServer(){return n()},setIsServer(r){n=r}}})();function lc(){let n,r;const s=new Promise((a,c)=>{n=a,r=c});s.status="pending",s.catch(()=>{});function l(a){Object.assign(s,a),delete s.resolve,delete s.reject}return s.resolve=a=>{l({status:"fulfilled",value:a}),n(a)},s.reject=a=>{l({status:"rejected",reason:a}),r(a)},s}var H0=z0;function W0(){let n=[],r=0,s=f=>{f()},l=f=>{f()},a=H0;const c=f=>{r?n.push(f):a(()=>{s(f)})},h=()=>{const f=n;n=[],f.length&&a(()=>{l(()=>{f.forEach(p=>{s(p)})})})};return{batch:f=>{let p;r++;try{p=f()}finally{r--,r||h()}return p},batchCalls:f=>(...p)=>{c(()=>{f(...p)})},schedule:c,setNotifyFunction:f=>{s=f},setBatchNotifyFunction:f=>{l=f},setScheduler:f=>{a=f}}}var st=W0(),Ns,er,Rs,Zp,Q0=(Zp=class extends oo{constructor(){super();de(this,Ns,!0);de(this,er);de(this,Rs);re(this,Rs,r=>{if(typeof window<"u"&&window.addEventListener){const s=()=>r(!0),l=()=>r(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",l,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",l)}}})}onSubscribe(){j(this,er)||this.setEventListener(j(this,Rs))}onUnsubscribe(){var r;this.hasListeners()||((r=j(this,er))==null||r.call(this),re(this,er,void 0))}setEventListener(r){var s;re(this,Rs,r),(s=j(this,er))==null||s.call(this),re(this,er,r(this.setOnline.bind(this)))}setOnline(r){j(this,Ns)!==r&&(re(this,Ns,r),this.listeners.forEach(l=>{l(r)}))}isOnline(){return j(this,Ns)}},Ns=new WeakMap,er=new WeakMap,Rs=new WeakMap,Zp),Il=new Q0;function K0(n){return Math.min(1e3*2**n,3e4)}function um(n){return(n??"online")==="online"?Il.isOnline():!0}var ac=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function cm(n){let r=!1,s=0,l;const a=lc(),c=()=>a.status!=="pending",h=b=>{var _;if(!c()){const R=new ac(b);x(R),(_=n.onCancel)==null||_.call(n,R)}},f=()=>{r=!0},p=()=>{r=!1},m=()=>Lc.isFocused()&&(n.networkMode==="always"||Il.isOnline())&&n.canRun(),w=()=>um(n.networkMode)&&n.canRun(),y=b=>{c()||(l==null||l(),a.resolve(b))},x=b=>{c()||(l==null||l(),a.reject(b))},k=()=>new Promise(b=>{var _;l=R=>{(c()||m())&&b(R)},(_=n.onPause)==null||_.call(n)}).then(()=>{var b;l=void 0,c()||(b=n.onContinue)==null||b.call(n)}),S=()=>{if(c())return;let b;const _=s===0?n.initialPromise:void 0;try{b=_??n.fn()}catch(R){b=Promise.reject(R)}Promise.resolve(b).then(y).catch(R=>{var F;if(c())return;const L=n.retry??(Gi.isServer()?0:3),z=n.retryDelay??K0,M=typeof z=="function"?z(s,R):z,A=L===!0||typeof L=="number"&&sm()?void 0:k()).then(()=>{r?x(R):S()})})};return{promise:a,status:()=>a.status,cancel:h,continue:()=>(l==null||l(),a),cancelRetry:f,continueRetry:p,canStart:w,start:()=>(w()?S():k().then(S),a)}}var Ir,Yp,dm=(Yp=class{constructor(){de(this,Ir)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rc(this.gcTime)&&re(this,Ir,Lr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(Gi.isServer()?1/0:300*1e3))}clearGcTimeout(){j(this,Ir)!==void 0&&(Lr.clearTimeout(j(this,Ir)),re(this,Ir,void 0))}},Ir=new WeakMap,Yp);function G0(n){return{onFetch:(r,s)=>{var w,y,x,k,S;const l=r.options,a=(x=(y=(w=r.fetchOptions)==null?void 0:w.meta)==null?void 0:y.fetchMore)==null?void 0:x.direction,c=((k=r.state.data)==null?void 0:k.pages)||[],h=((S=r.state.data)==null?void 0:S.pageParams)||[];let f={pages:[],pageParams:[]},p=0;const m=async()=>{let b=!1;const _=z=>{V0(z,()=>r.signal,()=>b=!0)},R=lm(r.options,r.fetchOptions),L=async(z,M,A)=>{if(b)return Promise.reject(r.signal.reason);if(M==null&&z.pages.length)return Promise.resolve(z);const G=(()=>{const X={client:r.client,queryKey:r.queryKey,pageParam:M,direction:A?"backward":"forward",meta:r.options.meta};return _(X),X})(),V=await R(G),{maxPages:O}=r.options,Q=A?$0:B0;return{pages:Q(z.pages,V,O),pageParams:Q(z.pageParams,M,O)}};if(a&&c.length){const z=a==="backward",M=z?q0:np,A={pages:c,pageParams:h},F=M(l,A);f=await L(A,F,z)}else{const z=n??c.length;do{const M=p===0?h[0]??l.initialPageParam:np(l,f);if(p>0&&M==null)break;f=await L(f,M),p++}while(p{var b,_;return(_=(b=r.options).persister)==null?void 0:_.call(b,m,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},s)}:r.fetchFn=m}}}function np(n,{pages:r,pageParams:s}){const l=r.length-1;return r.length>0?n.getNextPageParam(r[l],r,s[l],s):void 0}function q0(n,{pages:r,pageParams:s}){var l;return r.length>0?(l=n.getPreviousPageParam)==null?void 0:l.call(n,r[0],r,s[0],s):void 0}var Ls,Dr,Ms,At,zr,et,eo,Fr,jt,fm,kn,Xp,Z0=(Xp=class extends dm{constructor(r){super();de(this,jt);de(this,Ls);de(this,Dr);de(this,Ms);de(this,At);de(this,zr);de(this,et);de(this,eo);de(this,Fr);re(this,Fr,!1),re(this,eo,r.defaultOptions),this.setOptions(r.options),this.observers=[],re(this,zr,r.client),re(this,At,j(this,zr).getQueryCache()),this.queryKey=r.queryKey,this.queryHash=r.queryHash,re(this,Dr,sp(this.options)),this.state=r.state??j(this,Dr),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return j(this,Ls)}get promise(){var r;return(r=j(this,et))==null?void 0:r.promise}setOptions(r){if(this.options={...j(this,eo),...r},r!=null&&r._type&&re(this,Ls,r._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=sp(this.options);s.data!==void 0&&(this.setState(rp(s.data,s.dataUpdatedAt)),re(this,Dr,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&j(this,At).remove(this)}setData(r,s){const l=oc(this.state.data,r,this.options);return we(this,jt,kn).call(this,{data:l,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),l}setState(r){we(this,jt,kn).call(this,{type:"setState",state:r})}cancel(r){var l,a;const s=(l=j(this,et))==null?void 0:l.promise;return(a=j(this,et))==null||a.cancel(r),s?s.then(kt).catch(kt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return j(this,Dr)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(r=>Pt(r.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Tc||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(r=>lr(r.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(r=>r.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(r=0){return this.state.data===void 0?!0:r==="static"?!1:this.state.isInvalidated?!0:!im(this.state.dataUpdatedAt,r)}onFocus(){var s;const r=this.observers.find(l=>l.shouldFetchOnWindowFocus());r==null||r.refetch({cancelRefetch:!1}),(s=j(this,et))==null||s.continue()}onOnline(){var s;const r=this.observers.find(l=>l.shouldFetchOnReconnect());r==null||r.refetch({cancelRefetch:!1}),(s=j(this,et))==null||s.continue()}addObserver(r){this.observers.includes(r)||(this.observers.push(r),this.clearGcTimeout(),j(this,At).notify({type:"observerAdded",query:this,observer:r}))}removeObserver(r){this.observers.includes(r)&&(this.observers=this.observers.filter(s=>s!==r),this.observers.length||(j(this,et)&&(j(this,Fr)||we(this,jt,fm).call(this)?j(this,et).cancel({revert:!0}):j(this,et).cancelRetry()),this.scheduleGc()),j(this,At).notify({type:"observerRemoved",query:this,observer:r}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||we(this,jt,kn).call(this,{type:"invalidate"})}async fetch(r,s){var m,w,y,x,k,S,b,_,R,L,z;if(this.state.fetchStatus!=="idle"&&((m=j(this,et))==null?void 0:m.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(j(this,et))return j(this,et).continueRetry(),j(this,et).promise}if(r&&this.setOptions(r),!this.options.queryFn){const M=this.observers.find(A=>A.options.queryFn);M&&this.setOptions(M.options)}const l=new AbortController,a=M=>{Object.defineProperty(M,"signal",{enumerable:!0,get:()=>(re(this,Fr,!0),l.signal)})},c=()=>{const M=lm(this.options,s),F=(()=>{const G={client:j(this,zr),queryKey:this.queryKey,meta:this.meta};return a(G),G})();return re(this,Fr,!1),this.options.persister?this.options.persister(M,F,this):M(F)},f=(()=>{const M={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:j(this,zr),state:this.state,fetchFn:c};return a(M),M})(),p=j(this,Ls)==="infinite"?G0(this.options.pages):this.options.behavior;p==null||p.onFetch(f,this),re(this,Ms,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((w=f.fetchOptions)==null?void 0:w.meta))&&we(this,jt,kn).call(this,{type:"fetch",meta:(y=f.fetchOptions)==null?void 0:y.meta}),re(this,et,cm({initialPromise:s==null?void 0:s.initialPromise,fn:f.fetchFn,onCancel:M=>{M instanceof ac&&M.revert&&this.setState({...j(this,Ms),fetchStatus:"idle"}),l.abort()},onFail:(M,A)=>{we(this,jt,kn).call(this,{type:"failed",failureCount:M,error:A})},onPause:()=>{we(this,jt,kn).call(this,{type:"pause"})},onContinue:()=>{we(this,jt,kn).call(this,{type:"continue"})},retry:f.options.retry,retryDelay:f.options.retryDelay,networkMode:f.options.networkMode,canRun:()=>!0}));try{const M=await j(this,et).start();if(M===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(M),(k=(x=j(this,At).config).onSuccess)==null||k.call(x,M,this),(b=(S=j(this,At).config).onSettled)==null||b.call(S,M,this.state.error,this),M}catch(M){if(M instanceof ac){if(M.silent)return j(this,et).promise;if(M.revert){if(this.state.data===void 0)throw M;return this.state.data}}throw we(this,jt,kn).call(this,{type:"error",error:M}),(R=(_=j(this,At).config).onError)==null||R.call(_,M,this),(z=(L=j(this,At).config).onSettled)==null||z.call(L,this.state.data,M,this),M}finally{this.scheduleGc()}}},Ls=new WeakMap,Dr=new WeakMap,Ms=new WeakMap,At=new WeakMap,zr=new WeakMap,et=new WeakMap,eo=new WeakMap,Fr=new WeakMap,jt=new WeakSet,fm=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},kn=function(r){const s=l=>{switch(r.type){case"failed":return{...l,fetchFailureCount:r.failureCount,fetchFailureReason:r.error};case"pause":return{...l,fetchStatus:"paused"};case"continue":return{...l,fetchStatus:"fetching"};case"fetch":return{...l,...hm(l.data,this.options),fetchMeta:r.meta??null};case"success":const a={...l,...rp(r.data,r.dataUpdatedAt),dataUpdateCount:l.dataUpdateCount+1,...!r.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return re(this,Ms,r.manual?a:void 0),a;case"error":const c=r.error;return{...l,error:c,errorUpdateCount:l.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:l.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...l,isInvalidated:!0};case"setState":return{...l,...r.state}}};this.state=s(this.state),st.batch(()=>{this.observers.forEach(l=>{l.onQueryUpdate()}),j(this,At).notify({query:this,type:"updated",action:r})})},Xp);function hm(n,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:um(r.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function rp(n,r){return{data:n,dataUpdatedAt:r??Date.now(),error:null,isInvalidated:!1,status:"success"}}function sp(n){const r=typeof n.initialData=="function"?n.initialData():n.initialData,s=r!==void 0,l=s?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:s?l??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var wt,be,to,ht,Or,Ts,Sn,tr,no,Is,Ds,Ar,Ur,nr,zs,je,Ui,uc,cc,dc,fc,hc,pc,mc,pm,Jp,Y0=(Jp=class extends oo{constructor(r,s){super();de(this,je);de(this,wt);de(this,be);de(this,to);de(this,ht);de(this,Or);de(this,Ts);de(this,Sn);de(this,tr);de(this,no);de(this,Is);de(this,Ds);de(this,Ar);de(this,Ur);de(this,nr);de(this,zs,new Set);this.options=s,re(this,wt,r),re(this,tr,null),re(this,Sn,lc()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(j(this,be).addObserver(this),ip(j(this,be),this.options)?we(this,je,Ui).call(this):this.updateResult(),we(this,je,fc).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gc(j(this,be),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gc(j(this,be),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,we(this,je,hc).call(this),we(this,je,pc).call(this),j(this,be).removeObserver(this)}setOptions(r){const s=this.options,l=j(this,be);if(this.options=j(this,wt).defaultQueryOptions(r),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Pt(this.options.enabled,j(this,be))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");we(this,je,mc).call(this),j(this,be).setOptions(this.options),s._defaulted&&!sc(this.options,s)&&j(this,wt).getQueryCache().notify({type:"observerOptionsUpdated",query:j(this,be),observer:this});const a=this.hasListeners();a&&op(j(this,be),l,this.options,s)&&we(this,je,Ui).call(this),this.updateResult(),a&&(j(this,be)!==l||Pt(this.options.enabled,j(this,be))!==Pt(s.enabled,j(this,be))||lr(this.options.staleTime,j(this,be))!==lr(s.staleTime,j(this,be)))&&we(this,je,uc).call(this);const c=we(this,je,cc).call(this);a&&(j(this,be)!==l||Pt(this.options.enabled,j(this,be))!==Pt(s.enabled,j(this,be))||c!==j(this,nr))&&we(this,je,dc).call(this,c)}getOptimisticResult(r){const s=j(this,wt).getQueryCache().build(j(this,wt),r),l=this.createResult(s,r);return J0(this,l)&&(re(this,ht,l),re(this,Ts,this.options),re(this,Or,j(this,be).state)),l}getCurrentResult(){return j(this,ht)}trackResult(r,s){return new Proxy(r,{get:(l,a)=>(this.trackProp(a),s==null||s(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&j(this,Sn).status==="pending"&&j(this,Sn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(l,a))})}trackProp(r){j(this,zs).add(r)}getCurrentQuery(){return j(this,be)}refetch({...r}={}){return this.fetch({...r})}fetchOptimistic(r){const s=j(this,wt).defaultQueryOptions(r),l=j(this,wt).getQueryCache().build(j(this,wt),s);return l.fetch().then(()=>this.createResult(l,s))}fetch(r){return we(this,je,Ui).call(this,{...r,cancelRefetch:r.cancelRefetch??!0}).then(()=>(this.updateResult(),j(this,ht)))}createResult(r,s){var O;const l=j(this,be),a=this.options,c=j(this,ht),h=j(this,Or),f=j(this,Ts),m=r!==l?r.state:j(this,to),{state:w}=r;let y={...w},x=!1,k;if(s._optimisticResults){const Q=this.hasListeners(),X=!Q&&ip(r,s),Z=Q&&op(r,l,s,a);(X||Z)&&(y={...y,...hm(w.data,r.options)}),s._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:S,errorUpdatedAt:b,status:_}=y;k=y.data;let R=!1;if(s.placeholderData!==void 0&&k===void 0&&_==="pending"){let Q;c!=null&&c.isPlaceholderData&&s.placeholderData===(f==null?void 0:f.placeholderData)?(Q=c.data,R=!0):Q=typeof s.placeholderData=="function"?s.placeholderData((O=j(this,Ds))==null?void 0:O.state.data,j(this,Ds)):s.placeholderData,Q!==void 0&&(_="success",k=oc(c==null?void 0:c.data,Q,s),x=!0)}if(s.select&&k!==void 0&&!R)if(c&&k===(h==null?void 0:h.data)&&s.select===j(this,no))k=j(this,Is);else try{re(this,no,s.select),k=s.select(k),k=oc(c==null?void 0:c.data,k,s),re(this,Is,k),re(this,tr,null)}catch(Q){re(this,tr,Q)}j(this,tr)&&(S=j(this,tr),k=j(this,Is),b=Date.now(),_="error");const L=y.fetchStatus==="fetching",z=_==="pending",M=_==="error",A=z&&L,F=k!==void 0,V={status:_,fetchStatus:y.fetchStatus,isPending:z,isSuccess:_==="success",isError:M,isInitialLoading:A,isLoading:A,data:k,dataUpdatedAt:y.dataUpdatedAt,error:S,errorUpdatedAt:b,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:r.isFetched(),isFetchedAfterMount:y.dataUpdateCount>m.dataUpdateCount||y.errorUpdateCount>m.errorUpdateCount,isFetching:L,isRefetching:L&&!z,isLoadingError:M&&!F,isPaused:y.fetchStatus==="paused",isPlaceholderData:x,isRefetchError:M&&F,isStale:Ic(r,s),refetch:this.refetch,promise:j(this,Sn),isEnabled:Pt(s.enabled,r)!==!1};if(this.options.experimental_prefetchInRender){const Q=V.data!==void 0,X=V.status==="error"&&!Q,Z=te=>{X?te.reject(V.error):Q&&te.resolve(V.data)},ae=()=>{const te=re(this,Sn,V.promise=lc());Z(te)},H=j(this,Sn);switch(H.status){case"pending":r.queryHash===l.queryHash&&Z(H);break;case"fulfilled":(X||V.data!==H.value)&&ae();break;case"rejected":(!X||V.error!==H.reason)&&ae();break}}return V}updateResult(){const r=j(this,ht),s=this.createResult(j(this,be),this.options);if(re(this,Or,j(this,be).state),re(this,Ts,this.options),j(this,Or).data!==void 0&&re(this,Ds,j(this,be)),sc(s,r))return;re(this,ht,s);const l=()=>{if(!r)return!0;const{notifyOnChangeProps:a}=this.options,c=typeof a=="function"?a():a;if(c==="all"||!c&&!j(this,zs).size)return!0;const h=new Set(c??j(this,zs));return this.options.throwOnError&&h.add("error"),Object.keys(j(this,ht)).some(f=>{const p=f;return j(this,ht)[p]!==r[p]&&h.has(p)})};we(this,je,pm).call(this,{listeners:l()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&we(this,je,fc).call(this)}},wt=new WeakMap,be=new WeakMap,to=new WeakMap,ht=new WeakMap,Or=new WeakMap,Ts=new WeakMap,Sn=new WeakMap,tr=new WeakMap,no=new WeakMap,Is=new WeakMap,Ds=new WeakMap,Ar=new WeakMap,Ur=new WeakMap,nr=new WeakMap,zs=new WeakMap,je=new WeakSet,Ui=function(r){we(this,je,mc).call(this);let s=j(this,be).fetch(this.options,r);return r!=null&&r.throwOnError||(s=s.catch(kt)),s},uc=function(){we(this,je,hc).call(this);const r=lr(this.options.staleTime,j(this,be));if(Gi.isServer()||j(this,ht).isStale||!rc(r))return;const l=im(j(this,ht).dataUpdatedAt,r)+1;re(this,Ar,Lr.setTimeout(()=>{j(this,ht).isStale||this.updateResult()},l))},cc=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(j(this,be)):this.options.refetchInterval)??!1},dc=function(r){we(this,je,pc).call(this),re(this,nr,r),!(Gi.isServer()||Pt(this.options.enabled,j(this,be))===!1||!rc(j(this,nr))||j(this,nr)===0)&&re(this,Ur,Lr.setInterval(()=>{(this.options.refetchIntervalInBackground||Lc.isFocused())&&we(this,je,Ui).call(this)},j(this,nr)))},fc=function(){we(this,je,uc).call(this),we(this,je,dc).call(this,we(this,je,cc).call(this))},hc=function(){j(this,Ar)!==void 0&&(Lr.clearTimeout(j(this,Ar)),re(this,Ar,void 0))},pc=function(){j(this,Ur)!==void 0&&(Lr.clearInterval(j(this,Ur)),re(this,Ur,void 0))},mc=function(){const r=j(this,wt).getQueryCache().build(j(this,wt),this.options);if(r===j(this,be))return;const s=j(this,be);re(this,be,r),re(this,to,r.state),this.hasListeners()&&(s==null||s.removeObserver(this),r.addObserver(this))},pm=function(r){st.batch(()=>{r.listeners&&this.listeners.forEach(s=>{s(j(this,ht))}),j(this,wt).getQueryCache().notify({query:j(this,be),type:"observerResultsUpdated"})})},Jp);function X0(n,r){return Pt(r.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&Pt(r.retryOnMount,n)===!1)}function ip(n,r){return X0(n,r)||n.state.data!==void 0&&gc(n,r,r.refetchOnMount)}function gc(n,r,s){if(Pt(r.enabled,n)!==!1&&lr(r.staleTime,n)!=="static"){const l=typeof s=="function"?s(n):s;return l==="always"||l!==!1&&Ic(n,r)}return!1}function op(n,r,s,l){return(n!==r||Pt(l.enabled,n)===!1)&&(!s.suspense||n.state.status!=="error")&&Ic(n,s)}function Ic(n,r){return Pt(r.enabled,n)!==!1&&n.isStaleByTime(lr(r.staleTime,n))}function J0(n,r){return!sc(n.getCurrentResult(),r)}var ro,sn,ut,Br,on,Zn,em,ev=(em=class extends dm{constructor(r){super();de(this,on);de(this,ro);de(this,sn);de(this,ut);de(this,Br);re(this,ro,r.client),this.mutationId=r.mutationId,re(this,ut,r.mutationCache),re(this,sn,[]),this.state=r.state||tv(),this.setOptions(r.options),this.scheduleGc()}setOptions(r){this.options=r,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(r){j(this,sn).includes(r)||(j(this,sn).push(r),this.clearGcTimeout(),j(this,ut).notify({type:"observerAdded",mutation:this,observer:r}))}removeObserver(r){re(this,sn,j(this,sn).filter(s=>s!==r)),this.scheduleGc(),j(this,ut).notify({type:"observerRemoved",mutation:this,observer:r})}optionalRemove(){j(this,sn).length||(this.state.status==="pending"?this.scheduleGc():j(this,ut).remove(this))}continue(){var r;return((r=j(this,Br))==null?void 0:r.continue())??this.execute(this.state.variables)}async execute(r){var h,f,p,m,w,y,x,k,S,b,_,R,L,z,M,A,F,G;const s=()=>{we(this,on,Zn).call(this,{type:"continue"})},l={client:j(this,ro),meta:this.options.meta,mutationKey:this.options.mutationKey};re(this,Br,cm({fn:()=>this.options.mutationFn?this.options.mutationFn(r,l):Promise.reject(new Error("No mutationFn found")),onFail:(V,O)=>{we(this,on,Zn).call(this,{type:"failed",failureCount:V,error:O})},onPause:()=>{we(this,on,Zn).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>j(this,ut).canRun(this)}));const a=this.state.status==="pending",c=!j(this,Br).canStart();try{if(a)s();else{we(this,on,Zn).call(this,{type:"pending",variables:r,isPaused:c}),j(this,ut).config.onMutate&&await j(this,ut).config.onMutate(r,this,l);const O=await((f=(h=this.options).onMutate)==null?void 0:f.call(h,r,l));O!==this.state.context&&we(this,on,Zn).call(this,{type:"pending",context:O,variables:r,isPaused:c})}const V=await j(this,Br).start();return await((m=(p=j(this,ut).config).onSuccess)==null?void 0:m.call(p,V,r,this.state.context,this,l)),await((y=(w=this.options).onSuccess)==null?void 0:y.call(w,V,r,this.state.context,l)),await((k=(x=j(this,ut).config).onSettled)==null?void 0:k.call(x,V,null,this.state.variables,this.state.context,this,l)),await((b=(S=this.options).onSettled)==null?void 0:b.call(S,V,null,r,this.state.context,l)),we(this,on,Zn).call(this,{type:"success",data:V}),V}catch(V){try{await((R=(_=j(this,ut).config).onError)==null?void 0:R.call(_,V,r,this.state.context,this,l))}catch(O){Promise.reject(O)}try{await((z=(L=this.options).onError)==null?void 0:z.call(L,V,r,this.state.context,l))}catch(O){Promise.reject(O)}try{await((A=(M=j(this,ut).config).onSettled)==null?void 0:A.call(M,void 0,V,this.state.variables,this.state.context,this,l))}catch(O){Promise.reject(O)}try{await((G=(F=this.options).onSettled)==null?void 0:G.call(F,void 0,V,r,this.state.context,l))}catch(O){Promise.reject(O)}throw we(this,on,Zn).call(this,{type:"error",error:V}),V}finally{j(this,ut).runNext(this)}}},ro=new WeakMap,sn=new WeakMap,ut=new WeakMap,Br=new WeakMap,on=new WeakSet,Zn=function(r){const s=l=>{switch(r.type){case"failed":return{...l,failureCount:r.failureCount,failureReason:r.error};case"pause":return{...l,isPaused:!0};case"continue":return{...l,isPaused:!1};case"pending":return{...l,context:r.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:r.isPaused,status:"pending",variables:r.variables,submittedAt:Date.now()};case"success":return{...l,data:r.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...l,data:void 0,error:r.error,failureCount:l.failureCount+1,failureReason:r.error,isPaused:!1,status:"error"}}};this.state=s(this.state),st.batch(()=>{j(this,sn).forEach(l=>{l.onMutationUpdate(r)}),j(this,ut).notify({mutation:this,type:"updated",action:r})})},em);function tv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var bn,Kt,so,tm,nv=(tm=class extends oo{constructor(r={}){super();de(this,bn);de(this,Kt);de(this,so);this.config=r,re(this,bn,new Set),re(this,Kt,new Map),re(this,so,0)}build(r,s,l){const a=new ev({client:r,mutationCache:this,mutationId:++kl(this,so)._,options:r.defaultMutationOptions(s),state:l});return this.add(a),a}add(r){j(this,bn).add(r);const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s);l?l.push(r):j(this,Kt).set(s,[r])}this.notify({type:"added",mutation:r})}remove(r){if(j(this,bn).delete(r)){const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s);if(l)if(l.length>1){const a=l.indexOf(r);a!==-1&&l.splice(a,1)}else l[0]===r&&j(this,Kt).delete(s)}}this.notify({type:"removed",mutation:r})}canRun(r){const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s),a=l==null?void 0:l.find(c=>c.state.status==="pending");return!a||a===r}else return!0}runNext(r){var l;const s=bl(r);if(typeof s=="string"){const a=(l=j(this,Kt).get(s))==null?void 0:l.find(c=>c!==r&&c.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){st.batch(()=>{j(this,bn).forEach(r=>{this.notify({type:"removed",mutation:r})}),j(this,bn).clear(),j(this,Kt).clear()})}getAll(){return Array.from(j(this,bn))}find(r){const s={exact:!0,...r};return this.getAll().find(l=>Jh(s,l))}findAll(r={}){return this.getAll().filter(s=>Jh(r,s))}notify(r){st.batch(()=>{this.listeners.forEach(s=>{s(r)})})}resumePausedMutations(){const r=this.getAll().filter(s=>s.state.isPaused);return st.batch(()=>Promise.all(r.map(s=>s.continue().catch(kt))))}},bn=new WeakMap,Kt=new WeakMap,so=new WeakMap,tm);function bl(n){var r;return(r=n.options.scope)==null?void 0:r.id}var ln,nm,rv=(nm=class extends oo{constructor(r={}){super();de(this,ln);this.config=r,re(this,ln,new Map)}build(r,s,l){const a=s.queryKey,c=s.queryHash??Mc(a,s);let h=this.get(c);return h||(h=new Z0({client:r,queryKey:a,queryHash:c,options:r.defaultQueryOptions(s),state:l,defaultOptions:r.getQueryDefaults(a)}),this.add(h)),h}add(r){j(this,ln).has(r.queryHash)||(j(this,ln).set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){const s=j(this,ln).get(r.queryHash);s&&(r.destroy(),s===r&&j(this,ln).delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){st.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return j(this,ln).get(r)}getAll(){return[...j(this,ln).values()]}find(r){const s={exact:!0,...r};return this.getAll().find(l=>Xh(s,l))}findAll(r={}){const s=this.getAll();return Object.keys(r).length>0?s.filter(l=>Xh(r,l)):s}notify(r){st.batch(()=>{this.listeners.forEach(s=>{s(r)})})}onFocus(){st.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){st.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}},ln=new WeakMap,nm),He,rr,sr,Fs,Os,ir,As,Us,rm,sv=(rm=class{constructor(n={}){de(this,He);de(this,rr);de(this,sr);de(this,Fs);de(this,Os);de(this,ir);de(this,As);de(this,Us);re(this,He,n.queryCache||new rv),re(this,rr,n.mutationCache||new nv),re(this,sr,n.defaultOptions||{}),re(this,Fs,new Map),re(this,Os,new Map),re(this,ir,0)}mount(){kl(this,ir)._++,j(this,ir)===1&&(re(this,As,Lc.subscribe(async n=>{n&&(await this.resumePausedMutations(),j(this,He).onFocus())})),re(this,Us,Il.subscribe(async n=>{n&&(await this.resumePausedMutations(),j(this,He).onOnline())})))}unmount(){var n,r;kl(this,ir)._--,j(this,ir)===0&&((n=j(this,As))==null||n.call(this),re(this,As,void 0),(r=j(this,Us))==null||r.call(this),re(this,Us,void 0))}isFetching(n){return j(this,He).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return j(this,rr).findAll({...n,status:"pending"}).length}getQueryData(n){var s;const r=this.defaultQueryOptions({queryKey:n});return(s=j(this,He).get(r.queryHash))==null?void 0:s.state.data}ensureQueryData(n){const r=this.defaultQueryOptions(n),s=j(this,He).build(this,r),l=s.state.data;return l===void 0?this.fetchQuery(n):(n.revalidateIfStale&&s.isStaleByTime(lr(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(l))}getQueriesData(n){return j(this,He).findAll(n).map(({queryKey:r,state:s})=>{const l=s.data;return[r,l]})}setQueryData(n,r,s){const l=this.defaultQueryOptions({queryKey:n}),a=j(this,He).get(l.queryHash),c=a==null?void 0:a.state.data,h=O0(r,c);if(h!==void 0)return j(this,He).build(this,l).setData(h,{...s,manual:!0})}setQueriesData(n,r,s){return st.batch(()=>j(this,He).findAll(n).map(({queryKey:l})=>[l,this.setQueryData(l,r,s)]))}getQueryState(n){var s;const r=this.defaultQueryOptions({queryKey:n});return(s=j(this,He).get(r.queryHash))==null?void 0:s.state}removeQueries(n){const r=j(this,He);st.batch(()=>{r.findAll(n).forEach(s=>{r.remove(s)})})}resetQueries(n,r){const s=j(this,He);return st.batch(()=>(s.findAll(n).forEach(l=>{l.reset()}),this.refetchQueries({type:"active",...n},r)))}cancelQueries(n,r={}){const s={revert:!0,...r},l=st.batch(()=>j(this,He).findAll(n).map(a=>a.cancel(s)));return Promise.all(l).then(kt).catch(kt)}invalidateQueries(n,r={}){return st.batch(()=>(j(this,He).findAll(n).forEach(s=>{s.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},r)))}refetchQueries(n,r={}){const s={...r,cancelRefetch:r.cancelRefetch??!0},l=st.batch(()=>j(this,He).findAll(n).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let c=a.fetch(void 0,s);return s.throwOnError||(c=c.catch(kt)),a.state.fetchStatus==="paused"?Promise.resolve():c}));return Promise.all(l).then(kt)}fetchQuery(n){const r=this.defaultQueryOptions(n);r.retry===void 0&&(r.retry=!1);const s=j(this,He).build(this,r);return s.isStaleByTime(lr(r.staleTime,s))?s.fetch(r):Promise.resolve(s.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(kt).catch(kt)}fetchInfiniteQuery(n){return n._type="infinite",this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(kt).catch(kt)}ensureInfiniteQueryData(n){return n._type="infinite",this.ensureQueryData(n)}resumePausedMutations(){return Il.isOnline()?j(this,rr).resumePausedMutations():Promise.resolve()}getQueryCache(){return j(this,He)}getMutationCache(){return j(this,rr)}getDefaultOptions(){return j(this,sr)}setDefaultOptions(n){re(this,sr,n)}setQueryDefaults(n,r){j(this,Fs).set(Qi(n),{queryKey:n,defaultOptions:r})}getQueryDefaults(n){const r=[...j(this,Fs).values()],s={};return r.forEach(l=>{Ki(n,l.queryKey)&&Object.assign(s,l.defaultOptions)}),s}setMutationDefaults(n,r){j(this,Os).set(Qi(n),{mutationKey:n,defaultOptions:r})}getMutationDefaults(n){const r=[...j(this,Os).values()],s={};return r.forEach(l=>{Ki(n,l.mutationKey)&&Object.assign(s,l.defaultOptions)}),s}defaultQueryOptions(n){if(n._defaulted)return n;const r={...j(this,sr).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return r.queryHash||(r.queryHash=Mc(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.queryFn===Tc&&(r.enabled=!1),r}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...j(this,sr).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){j(this,He).clear(),j(this,rr).clear()}},He=new WeakMap,rr=new WeakMap,sr=new WeakMap,Fs=new WeakMap,Os=new WeakMap,ir=new WeakMap,As=new WeakMap,Us=new WeakMap,rm),mm=W.createContext(void 0),Dc=n=>{const r=W.useContext(mm);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},iv=({client:n,children:r})=>(W.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),g.jsx(mm.Provider,{value:n,children:r})),gm=W.createContext(!1),ov=()=>W.useContext(gm);gm.Provider;function lv(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var av=W.createContext(lv()),uv=()=>W.useContext(av),cv=(n,r,s)=>{const l=s!=null&&s.state.error&&typeof n.throwOnError=="function"?am(n.throwOnError,[s.state.error,s]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||l)&&(r.isReset()||(n.retryOnMount=!1))},dv=n=>{W.useEffect(()=>{n.clearReset()},[n])},fv=({result:n,errorResetBoundary:r,throwOnError:s,query:l,suspense:a})=>n.isError&&!r.isReset()&&!n.isFetching&&l&&(a&&n.data===void 0||am(s,[n.error,l])),hv=n=>{if(n.suspense){const s=a=>a==="static"?a:Math.max(a??1e3,1e3),l=n.staleTime;n.staleTime=typeof l=="function"?(...a)=>s(l(...a)):s(l),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},pv=(n,r)=>n.isLoading&&n.isFetching&&!r,mv=(n,r)=>(n==null?void 0:n.suspense)&&r.isPending,lp=(n,r,s)=>r.fetchOptimistic(n).catch(()=>{s.clearReset()});function gv(n,r,s){var k,S,b,_;const l=ov(),a=uv(),c=Dc(),h=c.defaultQueryOptions(n);(S=(k=c.getDefaultOptions().queries)==null?void 0:k._experimental_beforeQuery)==null||S.call(k,h);const f=c.getQueryCache().get(h.queryHash),p=n.subscribed!==!1;h._optimisticResults=l?"isRestoring":p?"optimistic":void 0,hv(h),cv(h,a,f),dv(a);const m=!c.getQueryCache().get(h.queryHash),[w]=W.useState(()=>new r(c,h)),y=w.getOptimisticResult(h),x=!l&&p;if(W.useSyncExternalStore(W.useCallback(R=>{const L=x?w.subscribe(st.batchCalls(R)):kt;return w.updateResult(),L},[w,x]),()=>w.getCurrentResult(),()=>w.getCurrentResult()),W.useEffect(()=>{w.setOptions(h)},[h,w]),mv(h,y))throw lp(h,w,a);if(fv({result:y,errorResetBoundary:a,throwOnError:h.throwOnError,query:f,suspense:h.suspense}))throw y.error;if((_=(b=c.getDefaultOptions().queries)==null?void 0:b._experimental_afterQuery)==null||_.call(b,h,y),h.experimental_prefetchInRender&&!Gi.isServer()&&pv(y,l)){const R=m?lp(h,w,a):f==null?void 0:f.promise;R==null||R.catch(kt).finally(()=>{w.updateResult()})}return h.notifyOnChangeProps?y:w.trackResult(y)}function De(n,r){return gv(n,Y0)}const yv=!1;var ym=W.useLayoutEffect;function vv(n,r,s){W.useEffect(()=>{if(!n.current||s||typeof IntersectionObserver!="function")return()=>r();const l=new IntersectionObserver(a=>{r(a.pop())},{rootMargin:"100px"});return l.observe(n.current),()=>{l.disconnect(),r()}},[r,s,n])}function xv(n){const r=W.useRef(null);return W.useImperativeHandle(n,()=>r.current,[]),r}function qi(n){return n[n.length-1]}function Bs(n,r){return typeof n=="function"?n(r):n}const vm=Object.prototype.hasOwnProperty,wv=Object.prototype.propertyIsEnumerable;function xm(n){for(const r in n)if(vm.call(n,r))return!0;return!1}const kv=()=>Object.create(null),Rr=(n,r)=>Mr(n,r,kv);function Mr(n,r,s=()=>({}),l=0){if(n===r)return n;if(l>500)return r;const a=r,c=cp(n)&&cp(a);if(!c&&!(Dl(n)&&Dl(a)))return a;const h=c?n:ap(n);if(!h)return a;const f=c?a:ap(a);if(!f)return a;const p=h.length,m=f.length,w=c?new Array(m):s();let y=0;for(let x=0;x"u")return!0;const s=r.prototype;return!(!up(s)||!s.hasOwnProperty("isPrototypeOf"))}function up(n){return Object.prototype.toString.call(n)==="[object Object]"}function cp(n){return Array.isArray(n)&&n.length===Object.keys(n).length}function ar(n,r,s){if(n===r)return!0;if(typeof n!=typeof r)return!1;if(Array.isArray(n)&&Array.isArray(r)){if(n.length!==r.length)return!1;for(let l=0,a=n.length;la||!ar(n[h],r[h],s)))return!1;return a===c}return!1}const Sv=/[\x00-\x1f\x7f"<>`{}]/g;function bv(n){return n.replace(Sv,r=>"%"+r.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0"))}function dp(n){let r;try{r=decodeURI(n)}catch{r=n.replaceAll(/%[0-9A-F]{2}/gi,s=>{try{return decodeURI(s)}catch{return s}})}return bv(r)}const _v=["http:","https:","mailto:","tel:"];function zl(n,r){if(!n)return!1;try{const s=new URL(n);return!r.has(s.protocol)}catch{return!1}}function Ii(n){if(!n)return{path:n,handledProtocolRelativeURL:!1};if(!/[%\\\x00-\x1f\x7f]/.test(n)&&!n.startsWith("//"))return{path:n,handledProtocolRelativeURL:!1};const r=/%25|%5C/gi;let s=0,l="",a;for(;(a=r.exec(n))!==null;)l+=dp(n.slice(s,a.index))+a[0],s=r.lastIndex;l=l+dp(s?n.slice(s):n);let c=!1;return l.startsWith("//")&&(c=!0,l="/"+l.replace(/^\/+/,"")),{path:l,handledProtocolRelativeURL:c}}function Cv(n){return/\s|[^\u0000-\u007F]/.test(n)?n.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):n}function Ev(n,r){if(n===r)return!0;if(n.length!==r.length)return!1;for(let s=0;s{c.next&&(c.prev?(c.prev.next=c.next,c.next.prev=c.prev,c.next=void 0,l&&(l.next=c,c.prev=l)):(c.next.prev=void 0,s=c.next,c.next=void 0,l&&(c.prev=l,l.next=c)),l=c)};return{get(c){const h=r.get(c);if(h)return a(h),h.value},set(c,h){if(r.size>=n&&s){const p=s;r.delete(p.key),p.next&&(s=p.next,p.next.prev=void 0),p===l&&(l=void 0)}const f=r.get(c);if(f)f.value=h,a(f);else{const p={key:c,value:h,prev:l};l&&(l.next=p),l=p,s||(s=p),r.set(c,p)}},clear(){r.clear(),s=void 0,l=void 0}}}const or=4,wm=5;function km(n,r,s=new Uint16Array(6)){const l=n.indexOf("/",r),a=l===-1?n.length:l,c=n.substring(r,a);if(!c||!c.includes("$"))return s[0]=0,s[1]=r,s[2]=r,s[3]=a,s[4]=a,s[5]=a,s;if(c==="$"){const p=n.length;return s[0]=2,s[1]=r,s[2]=r,s[3]=p,s[4]=p,s[5]=p,s}if(c.charCodeAt(0)===36)return s[0]=1,s[1]=r,s[2]=r+1,s[3]=a,s[4]=a,s[5]=a,s;const h=c.indexOf("{");let f;if(h!==-1&&h+1!X.parse&&X.caseSensitive===V&&X.prefix===F&&X.suffix===G));if(Q)L=Q;else{const X=jv(A,y,V,F,G);L=X,X.parent=a,X.depth=c;let Z;A===1?Z=a.dynamic??(a.dynamic=[]):A===3?Z=a.optional??(a.optional=[]):Z=a.wildcard??(a.wildcard=[]),Z.push(X),Z.length===2&&(h==null||h.push(Z))}break}}a=L}if(b&&s.children&&!s.isRoot&&s.id&&s.id.charCodeAt(s.id.lastIndexOf("/")+1)===95){const R=ks(y);R.kind=wm,R.parent=a,c++,R.depth=c,a.pathless??(a.pathless=[]),a.pathless.push(R),a=R}const _=(s.path||!s.children)&&!s.isRoot;if(_&&y.endsWith("/")){const R=ks(y);R.kind=or,R.parent=a,c++,R.depth=c,a.index=R,a=R}a.parse=b??null,a.priority=((w=x==null?void 0:x.params)==null?void 0:w.priority)??0,_&&!a.route&&(a.route=s,a.fullPath=y)}if(s.children)for(const y of s.children)Vl(n,r,y,p,a,c,h,f)}function Sm(n,r){if(n.parse&&!r.parse)return-1;if(!n.parse&&r.parse)return 1;if(n.parse&&r.parse&&(n.priority||r.priority))return r.priority-n.priority;if(n.prefix&&r.prefix&&n.prefix!==r.prefix){if(n.prefix.startsWith(r.prefix))return-1;if(r.prefix.startsWith(n.prefix))return 1}if(n.suffix&&r.suffix&&n.suffix!==r.suffix){if(n.suffix.endsWith(r.suffix))return-1;if(r.suffix.endsWith(n.suffix))return 1}return n.prefix&&!r.prefix?-1:!n.prefix&&r.prefix?1:n.suffix&&!r.suffix?-1:!n.suffix&&r.suffix?1:n.caseSensitive&&!r.caseSensitive?-1:!n.caseSensitive&&r.caseSensitive?1:0}function ks(n){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:n,parent:null,parse:null,priority:0}}function jv(n,r,s,l,a){return{kind:n,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:r,parent:null,parse:null,priority:0,caseSensitive:s,prefix:l,suffix:a}}function Pv(n,r){const s=ks("/"),l=new Uint16Array(6),a=[];for(const c of n)Vl(!1,l,c,1,s,0,a);for(const c of a)c.sort(Sm);r.masksTree=s,r.flatCache=Fl(1e3)}function Nv(n,r){n||(n="/");const s=r.flatCache.get(n);if(s!==void 0)return s;const l=Fc(n,r.masksTree);return r.flatCache.set(n,l),l}function Rv(n,r,s,l,a){n||(n="/"),l||(l="/");const c=r?`case\0${n}`:n;let h=a.singleCache.get(c);return h||(h=ks("/"),Vl(r,new Uint16Array(6),{from:n},1,h,0),a.singleCache.set(c,h)),Fc(l,h,s)}function Lv(n,r,s=!1){const l=s?n:`nofuzz\0${n}`,a=r.matchCache.get(l);if(a!==void 0)return a;n||(n="/");let c;try{c=Fc(n,r.segmentTree,s)}catch(h){if(h instanceof URIError)c=null;else throw h}return c&&(c.branch=_m(c.route)),r.matchCache.set(l,c),c}function Mv(n){return n==="/"?n:n.replace(/\/{1,}$/,"")}function Tv(n,r=!1,s){const l=ks(n.fullPath),a=new Uint16Array(6),c=[],h={},f={};let p=0;Vl(r,a,n,1,l,0,c,m=>{if(s==null||s(m,p),m.id in h&&zc(),h[m.id]=m,p!==0&&m.path){const w=Mv(m.fullPath);(!f[w]||m.fullPath.endsWith("/"))&&(f[w]=m)}p++});for(const m of c)m.sort(Sm);return{processedTree:{segmentTree:l,singleCache:Fl(1e3),matchCache:Fl(1e3),flatCache:null,masksTree:null},routesById:h,routesByPath:f}}function Fc(n,r,s=!1){const l=n.split("/"),a=Dv(n,l,r,s);if(!a)return null;const[c]=bm(n,l,a);return{route:a.node.route,rawParams:c}}function bm(n,r,s){var w,y,x,k;const l=Iv(s.node);let a=null;const c=Object.create(null);let h=((w=s.extract)==null?void 0:w.part)??0,f=((y=s.extract)==null?void 0:y.node)??0,p=((x=s.extract)==null?void 0:x.path)??0,m=((k=s.extract)==null?void 0:k.segment)??0;for(;f=0;F--){const G=y.wildcard[F],{prefix:V,suffix:O}=G;if(!(V&&(z||!(G.caseSensitive?M:A??(A=M.toLowerCase())).startsWith(V)))){if(O){if(z)continue;const Q=r.slice(x).join("/"),X=Q.slice(-O.length);if((G.caseSensitive?X:X.toLowerCase())!==O||Q.length-O.length=0;G--){const V=y.optional[G];f.push({node:V,index:x,skipped:F,statics:S,dynamics:b,optionals:_,extract:R,rawParams:L})}if(!z)for(let G=y.optional.length-1;G>=0;G--){const V=y.optional[G],{prefix:O,suffix:Q}=V;if(O||Q){const X=V.caseSensitive?M:A??(A=M.toLowerCase());if(O&&!X.startsWith(O)||Q&&X.indexOf(Q,X.length-Q.length)=0;F--){const G=y.dynamic[F],{prefix:V,suffix:O}=G;if(V||O){const Q=G.caseSensitive?M:A??(A=M.toLowerCase());if(V&&!Q.startsWith(V)||O&&Q.indexOf(O,Q.length-O.length)=0;F--){const G=y.pathless[F];f.push({node:G,index:x,skipped:k,statics:S,dynamics:b,optionals:_,extract:R,rawParams:L})}}if(m)return m;if(l&&p){let w=p.index;for(let x=0;xn.statics||r.statics===n.statics&&(r.dynamics>n.dynamics||r.dynamics===n.dynamics&&(r.optionals>n.optionals||r.optionals===n.optionals&&((r.node.kind===or)>(n.node.kind===or)||r.node.kind===or==(n.node.kind===or)&&r.node.depth>n.node.depth))):!0}function Nl(n){return Rl(n.filter(r=>r!==void 0).join("/"))}function Rl(n){return n.replace(/\/{2,}/g,"/")}function Cm(n){return n==="/"?n:n.replace(/^\/{1,}/,"")}function _n(n){const r=n.length;return r>1&&n[r-1]==="/"?n.replace(/\/{1,}$/,""):n}function Em(n){return _n(Cm(n))}function Ol(n,r){return n!=null&&n.endsWith("/")&&n!=="/"&&n!==`${r}/`?n.slice(0,-1):n}function Fv(n,r,s){return Ol(n,s)===Ol(r,s)}function Ov({base:n,to:r,trailingSlash:s="never",cache:l}){if(r.includes("//")&&(r=Rl(r)),r.startsWith("/"))return r.length===1||s==="preserve"?r:s==="always"?r.endsWith("/")?r:`${r}/`:r.endsWith("/")?r.slice(0,-1):r;const a=r===".";let c;if(l){c=a?n:n+"\0"+r;const m=l.get(c);if(m)return m}let h;if(a)h=n.split("/");else{for(n.includes("//")&&(n=Rl(n)),h=n.split("/");h.length>1&&qi(h)==="";)h.pop();const m=r.split("/");for(let w=0,y=m.length;w1?h.pop():h=[""]:x==="."||h.push(x)}}h.length>1&&(qi(h)===""?s==="never"&&h.pop():s==="always"&&h.push(""));const f=h.join("/"),p=(a?Rl(f):f)||"/";return c&&l&&l.set(c,p),p}function Av(n){const r=new Map(n.map(a=>[encodeURIComponent(a),a])),s=Array.from(r.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),l=new RegExp(s,"g");return a=>a.replace(l,c=>r.get(c)??c)}function Hu(n,r,s){const l=r[n];return typeof l!="string"?l:n==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(l)?l:l.split("/").map(a=>pp(a,s)).join("/"):pp(l,s)}function hp({path:n,params:r,decoder:s,...l}){let a=!1;const c=Object.create(null);if(!n||n==="/")return{interpolatedPath:"/",usedParams:c,isMissingParams:a};if(!n.includes("$"))return{interpolatedPath:n,usedParams:c,isMissingParams:a};const h=n.length;let f=0,p,m="";for(;fn.state.__TSR_key||n.href;function Wv(n){const r=n.getAttribute(mp);if(r)return`[${mp}="${r}"]`;let s="",l=n,a;for(;a=l.parentNode;){let c=1,h=l;for(;h=h.previousElementSibling;)c++;const f=`${l.localName}:nth-child(${c})`;s=s?`${f} > ${s}`:f,l=a}return s}let El=!1;const Ll="window";function yc(n){try{return typeof n=="function"?n():document.querySelector(n)}catch{}}function gp(n){const r=new Set;for(const s of n){if(s===Ll)continue;const l=yc(s);l&&r.add(l)}return r}function Qv(n,r){const s=n.options.scrollRestoration,l=n._scroll;s&&(l.restoring=!0);const a=n.options.getScrollRestorationKey||Hv,c=new Set,h=f=>{const p=Yn[f]||(Yn[f]={});for(const m of c)m===document?p[Ll]={scrollX,scrollY}:m.isConnected&&(p[Wv(m)]={scrollX:m.scrollLeft,scrollY:m.scrollTop})};s&&!l.restoration&&(l.restoration=!0,El=!1,history.scrollRestoration="manual",document.addEventListener("scroll",f=>{El||c.add(f.target)},!0),n.subscribe("onBeforeLoad",f=>{f.fromLocation&&h(a(f.fromLocation)),c.clear()}),addEventListener("pagehide",()=>{h(a(n.stores.resolvedLocation.get()??n.stores.location.get())),Vv()})),!l.reset&&(l.reset=!0,n.subscribe("onRendered",f=>{var b;const p=n.options.scrollRestorationBehavior,m=n.options.scrollToTopSelectors,w=l.next,y=l.hash;let x;if(c.clear(),l.next=!0,l.hash=!1,typeof n.options.scrollRestoration=="function"&&!n.options.scrollRestoration({location:n.latestLocation}))return;const k=a(f.toLocation),S=f.fromLocation&&a(f.fromLocation);if(l.restoring&&S&&S!==k){const _=Yn[S];if(_){let R=Yn[k];for(const L in _){if(L===Ll){if(w)continue}else{const z=yc(L);if(!z||w&&m&&(x??(x=gp(m)),x.has(z)))continue}R||(R=Yn[k]={}),R[L]??(R[L]=_[L])}}}El=!0;try{const _=f.toLocation.hash,R=f.toLocation.state.__hashScrollIntoViewOptions??!0;let L=!1;if(w){!_&&m&&(x??(x=gp(m)));const z=_&&R&&y,M=l.restoring?Yn[k]:void 0;if(M)for(const A in M){const{scrollX:F,scrollY:G}=M[A];if(A===Ll){if(z)continue;scrollTo({top:G,left:F,behavior:p}),L=!0}else{const V=yc(A);V&&(V.scrollLeft=F,V.scrollTop=G,x==null||x.delete(V))}}if(!_){const A={top:0,left:0,behavior:p};if(L||scrollTo(A),x)for(const F of x)F.scrollTo(A)}}!L&&_&&R&&((b=document.getElementById(_))==null||b.scrollIntoView(R))}finally{El=!1}}))}function Kv(n,r=String){const s=new URLSearchParams;for(const l in n){const a=n[l];a!==void 0&&s.set(l,r(a))}return s.toString()}function Wu(n){return n?n==="false"?!1:n==="true"?!0:+n*0===0&&+n+""===n?+n:n:""}function Gv(n){const r=new URLSearchParams(n),s=Object.create(null);for(const[l,a]of r.entries()){const c=s[l];c==null?s[l]=Wu(a):Array.isArray(c)?c.push(Wu(a)):s[l]=[c,Wu(a)]}return s}const qv=/^(?:\s|["[{\d-]|fa|nu|tr)/,Zv=Xv(JSON.parse),Yv=Jv(JSON.stringify,JSON.parse);function Xv(n){return r=>{r[0]==="?"&&(r=r.substring(1));const s=Gv(r);for(const l in s){const a=s[l];if(typeof a=="string")try{s[l]=n(a)}catch{}}return s}}function Jv(n,r){const s=r===JSON.parse;function l(a){if(a&&typeof a=="object")try{return n(a)}catch{}else if(r&&typeof a=="string"){if(s&&!qv.test(a))return a;try{return r(a),n(a)}catch{}}return a}return a=>{const c=Kv(a,l);return c?`?${c}`:""}}const bs="__root__";function jm(n){if(n.statusCode=n.statusCode||n.code||307,!n.reloadDocument&&typeof n.href=="string")try{new URL(n.href),n.reloadDocument=!0}catch{}const r=new Headers(n.headers);n.href&&r.get("Location")===null&&r.set("Location",n.href);const s=new Response(null,{status:n.statusCode,headers:r});if(s.options=n,n.throw)throw s;return s}function Pm(n){return n instanceof Response&&!!n.options}function ex(n){return{input:({url:r})=>{for(const s of n)r=vc(s,r);return r},output:({url:r})=>{for(let s=n.length-1;s>=0;s--)r=Nm(n[s],r);return r}}}function tx(n){const r=Em(n.basepath),s=`/${r}`,l=n.caseSensitive?s:s.toLowerCase(),a=`${l}/`;return{input:({url:c})=>{const h=n.caseSensitive?c.pathname:c.pathname.toLowerCase();return h===l?c.pathname="/":h.startsWith(a)&&(c.pathname=c.pathname.slice(s.length)),c},output:({url:c})=>(c.pathname=Nl(["/",r,c.pathname]),c)}}function vc(n,r){var l;const s=(l=n==null?void 0:n.input)==null?void 0:l.call(n,{url:r});if(s){if(typeof s=="string")return new URL(s);if(s instanceof URL)return s}return r}function Nm(n,r){var l;const s=(l=n==null?void 0:n.output)==null?void 0:l.call(n,{url:r});if(s){if(typeof s=="string")return new URL(s);if(s instanceof URL)return s}return r}function nx(n,r){const{createMutableStore:s,createReadonlyStore:l,batch:a}=r,c=new Map,h=s("idle"),f=s(n),p=s(void 0),m=s([]),w=l(()=>m.get().map(b=>c.get(b).get())),y=l(()=>({status:h.get(),isLoading:h.get()==="pending",matches:w.get(),location:f.get(),resolvedLocation:p.get()}));function x(b){let _=c.get(b);return _||(_=s(void 0),c.set(b,_)),_}const k={status:h,location:f,resolvedLocation:p,ids:m,matches:w,byRoute:c,__store:y,getMatchStore:x,setMatches:S};function S(b){const _=m.get(),R=b.map(L=>L.routeId);a(()=>{Ev(_,R)||m.set(R);for(const L of _)R.includes(L)||c.get(L).set(()=>{});for(const L of b){const z=x(L.routeId);z.get()!==L&&z.set(L)}})}return k}var ur="__TSR_index",yp="popstate",vp="beforeunload";function rx(n){let r=n.getLocation();const s=new Set,l=h=>{r=n.getLocation(),s.forEach(f=>f({location:r,action:h}))},a=h=>{n.notifyOnIndexChange??!0?l(h):r=n.getLocation()},c=async({task:h,navigateOpts:f,...p})=>{var y,x;if((f==null?void 0:f.ignoreBlocker)??!1){h();return}const m=((y=n.getBlockers)==null?void 0:y.call(n))??[],w=p.type==="PUSH"||p.type==="REPLACE";if(typeof document<"u"&&m.length&&w)for(const k of m){const S=Al(p.path,p.state);if(await k.blockerFn({currentLocation:r,nextLocation:S,action:p.type})){(x=n.onBlocked)==null||x.call(n);return}}h()};return{get location(){return r},get length(){return n.getLength()},subscribers:s,subscribe:h=>(s.add(h),()=>{s.delete(h)}),push:(h,f,p)=>{const m=r.state[ur];f=xp(m+1,f),c({task:()=>{n.pushState(h,f),l({type:"PUSH"})},navigateOpts:p,type:"PUSH",path:h,state:f})},replace:(h,f,p)=>{const m=r.state[ur];f=xp(m,f),c({task:()=>{n.replaceState(h,f),l({type:"REPLACE"})},navigateOpts:p,type:"REPLACE",path:h,state:f})},go:(h,f)=>{c({task:()=>{n.go(h),a({type:"GO",index:h})},navigateOpts:f,type:"GO"})},back:h=>{c({task:()=>{n.back((h==null?void 0:h.ignoreBlocker)??!1),a({type:"BACK"})},navigateOpts:h,type:"BACK"})},forward:h=>{c({task:()=>{n.forward((h==null?void 0:h.ignoreBlocker)??!1),a({type:"FORWARD"})},navigateOpts:h,type:"FORWARD"})},canGoBack:()=>r.state[ur]!==0,createHref:h=>n.createHref(h),block:h=>{var p;if(!n.setBlockers)return()=>{};const f=((p=n.getBlockers)==null?void 0:p.call(n))??[];return n.setBlockers([...f,h]),()=>{var w,y;const m=((w=n.getBlockers)==null?void 0:w.call(n))??[];(y=n.setBlockers)==null||y.call(n,m.filter(x=>x!==h))}},flush:()=>{var h;return(h=n.flush)==null?void 0:h.call(n)},destroy:()=>{var h;return(h=n.destroy)==null?void 0:h.call(n)},notify:l}}function xp(n,r){r||(r={});const s=Oc();return{...r,key:s,__TSR_key:s,[ur]:n}}function sx(n){var G,V;const r=typeof document<"u"?window:void 0,s=r.history.pushState,l=r.history.replaceState;let a=[];const c=()=>a,h=O=>a=O,f=(O=>O),p=(()=>Al(`${r.location.pathname}${r.location.search}${r.location.hash}`,r.history.state));if(!((G=r.history.state)!=null&&G.__TSR_key)&&!((V=r.history.state)!=null&&V.key)){const O=Oc();r.history.replaceState({[ur]:0,key:O,__TSR_key:O},"")}let m=p(),w,y=!1,x=!1,k=!1,S=!1;const b=()=>m;let _;const R=()=>{_&&(F._ignoreSubscribers=!0,(_[2]?r.history.pushState:r.history.replaceState)(_[1],"",_[0]),F._ignoreSubscribers=!1,_=void 0,w=void 0)},L=(O,Q,X)=>{const Z=f(Q),ae=!!_;ae||(w=m),m=Al(Q,X),_=[Z,X,(_==null?void 0:_[2])||O],ae||queueMicrotask(()=>R())},z=O=>{m=p(),F.notify({type:O})},M=async()=>{if(x){x=!1;return}const O=p(),Q=O.state[ur]-m.state[ur],X=Q===1,Z=Q===-1,ae=!X&&!Z||y;y=!1;const H=ae?"GO":Z?"BACK":"FORWARD",te=ae?{type:"GO",index:Q}:{type:Z?"BACK":"FORWARD"};if(k)k=!1;else{const ye=c();if(typeof document<"u"&&ye.length){for(const he of ye)if(await he.blockerFn({currentLocation:m,nextLocation:O,action:H})){x=!0,r.history.go(1),F.notify(te);return}}}m=p(),F.notify(te)},A=O=>{if(S){S=!1;return}let Q=!1;const X=c();if(typeof document<"u"&&X.length)for(const Z of X){const ae=Z.enableBeforeUnload??!0;if(ae===!0){Q=!0;break}if(typeof ae=="function"&&ae()===!0){Q=!0;break}}if(Q)return O.preventDefault(),O.returnValue=""},F=rx({getLocation:b,getLength:()=>r.history.length,pushState:(O,Q)=>L(!0,O,Q),replaceState:(O,Q)=>L(!1,O,Q),back:O=>(O&&(k=!0),S=!0,r.history.back()),forward:O=>{O&&(k=!0),S=!0,r.history.forward()},go:O=>{y=!0,r.history.go(O)},createHref:O=>f(O),flush:R,destroy:()=>{r.history.pushState=s,r.history.replaceState=l,r.removeEventListener(vp,A,{capture:!0}),r.removeEventListener(yp,M)},onBlocked:()=>{w&&m!==w&&(m=w)},getBlockers:c,setBlockers:h,notifyOnIndexChange:!1});return r.addEventListener(vp,A,{capture:!0}),r.addEventListener(yp,M),r.history.pushState=function(...O){const Q=s.apply(r.history,O);return F._ignoreSubscribers||z("PUSH"),Q},r.history.replaceState=function(...O){const Q=l.apply(r.history,O);return F._ignoreSubscribers||z("REPLACE"),Q},F}function ix(n){let r=n.replace(/[\x00-\x1f\x7f]/g,"");return r.startsWith("//")&&(r="/"+r.replace(/^\/+/,"")),r}function Al(n,r){const s=ix(n),l=s.indexOf("#"),a=s.indexOf("?"),c=Oc();return{href:s,pathname:s.substring(0,l>0?a>0?Math.min(l,a):l:a>0?a:s.length),hash:l>-1?s.substring(l):"",search:a>-1?s.slice(a,l===-1?void 0:l):"",state:r||{[ur]:0,key:c,__TSR_key:c}}}function Oc(){return(Math.random()+1).toString(36).substring(7)}function wp(n){var r,s;return n.options.loader||n.options.beforeLoad||n.lazyFn||((r=n.options.component)==null?void 0:r.preload)||((s=n.options.pendingComponent)==null?void 0:s.preload)}function Hl(n,r){return{fromLocation:r,toLocation:n,pathChanged:(r==null?void 0:r.pathname)!==n.pathname,hrefChanged:(r==null?void 0:r.href)!==n.href,hashChanged:(r==null?void 0:r.hash)!==n.hash}}function kp({key:n,__TSR_key:r,__TSR_index:s,__hashScrollIntoViewOptions:l,...a}){return a}function ox(n,r,s,l){var a,c,h,f;for(const p of r){if(l&&n._tx!==l)return;s.some(m=>m.routeId===p.routeId)||(c=(a=n.routesById[p.routeId].options).onLeave)==null||c.call(a,p)}for(const p of s){if(l&&n._tx!==l)return;(f=(h=n.routesById[p.routeId].options)[r.some(m=>m.routeId===p.routeId)?"onStay":"onEnter"])==null||f.call(h,p)}}var lx=class{constructor(n,r){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async s=>(s(),!1),this.update=s=>{const l=this.options,a=this.basepath??(l==null?void 0:l.basepath)??"/",c=this.basepath===void 0,h=l==null?void 0:l.rewrite;if(this.options={...l,...s},this.isServer=this.options.isServer??yv??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=Av(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=sx()),this.origin=this.options.origin,this.origin||(window!=null&&window.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let m;this.resolvePathCache=Fl(1e3),m=this.buildRouteTree(),this.setRoutes(m)}if(!this.stores&&this.latestLocation){const m=this.getStoreConfig(this);this.batch=m.batch,this.stores=nx(this.latestLocation,m),Qv(this)}const f=this.options.basepath??"/",p=this.options.rewrite;if(c||a!==f||h!==p){this.basepath=f;const m=[],w=Em(f);w&&w!=="/"&&m.push(tx({basepath:f})),p&&m.push(p),this.rewrite=m.length===0?void 0:m.length===1?m[0]:ex(m),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const s=Tv(this.routeTree,this.options.caseSensitive,(l,a)=>{l.init({originalIndex:a})});return this.options.routeMasks&&Pv(this.options.routeMasks,s.processedTree),s},this.subscribe=(s,l)=>{const a={eventType:s,fn:l};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=s=>{for(const l of this.subscribers)if(l.eventType===s.type)try{l.fn(s)}catch(a){console.error(a)}},this.parseLocation=(s,l)=>{const a=({pathname:p,search:m,hash:w,href:y,state:x})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(p)){const R=this.options.parseSearch(m),L=this.options.stringifySearch(R);return{href:p+L+w,publicHref:p+L+w,pathname:Ii(p).path,external:!1,searchStr:L,search:Rr(l==null?void 0:l.search,R),hash:Ii(w.slice(1)).path,state:Mr(l==null?void 0:l.state,x)}}const k=new URL(y,this.origin),S=vc(this.rewrite,k),b=this.options.parseSearch(S.search),_=this.options.stringifySearch(b);return S.search=_,{href:S.href.replace(S.origin,""),publicHref:y,pathname:Ii(S.pathname).path,external:!!this.rewrite&&S.origin!==this.origin,searchStr:_,search:Rr(l==null?void 0:l.search,b),hash:Ii(S.hash.slice(1)).path,state:Mr(l==null?void 0:l.state,x)}},c=a(s),{__tempLocation:h,__tempKey:f}=c.state;if(h&&(!f||f===this.tempLocationKey)){const p=a(h);return p.state.key=c.state.key,p.state.__TSR_key=c.state.__TSR_key,delete p.state.__tempLocation,{...p,maskedLocation:c}}return c},this.resolvePathWithBase=(s,l)=>Ov({base:s,to:l,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(s,l,a)=>typeof s=="string"?this.matchRoutesInternal({pathname:s,search:l},a):this.matchRoutesInternal(s,l),this.getMatchedRoutes=s=>{const l=Object.create(null),a=Lv(_n(s),this.processedTree,!0);return a&&Object.assign(l,a.rawParams),[(a==null?void 0:a.branch)||[this.routesById.__root__],l,a==null?void 0:a.route]},this.buildLocation=s=>{const l=(c={})=>{var O,Q;if(c.href){const X=Al(c.href,{});c={...c,to:vc(this.rewrite,new URL(X.pathname,this.origin)).pathname,search:this.options.parseSearch(X.search),hash:X.hash.slice(1)}}const h=c._fromLocation||this._pendingLocation||this.latestLocation,f=this.matchRoutesLightweight(h);c.from;const p=c.unsafeRelative==="path"?h.pathname:c.from??f[1],m=f[2],w=f[3],y=this.resolvePathWithBase(p,c.to?`${c.to}`:".");let x=Sp(c.params,w);const k=this.routesByPath[_n(y)];let S;if(k)S=this.getRouteBranch(k);else if(y.includes("$"))S=[];else{const[X,Z,ae]=this.getMatchedRoutes(y);S=X,this.options.notFoundRoute&&(!ae||ae.path!=="/"&&Z["**"])&&(S=[...S,this.options.notFoundRoute])}if(S.length&&xm(x))for(const X of S){const Z=((O=X.options.params)==null?void 0:O.stringify)??X.options.stringifyParams;if(Z){x===w&&(x=Object.assign(Object.create(null),x));try{Object.assign(x,Z(x))}catch{}}}const b=s.leaveParams?y:Ii(hp({path:y,params:x,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path;let _=m;if(s._includeValidateSearch&&((Q=this.options.search)!=null&&Q.strict)){const X={};S.forEach(Z=>{if(Z.options.validateSearch)try{Object.assign(X,Ml(Z.options.validateSearch,{...X,..._}))}catch{}}),_=X}_=ux(_,c,S,s._includeValidateSearch),_=Rr(m,_);const R=this.options.stringifySearch(_),L=c.hash===!0?h.hash:c.hash?Bs(c.hash,h.hash):void 0,z=L?`#${L}`:"";let M=c.state===!0?h.state:c.state?Bs(c.state,h.state):{};c.state&&(M=Mr(h.state,M));const A=`${b}${R}${z}`;let F,G,V=!1;if(this.rewrite){const X=new URL(A,this.origin),Z=Nm(this.rewrite,X);F=X.href.replace(X.origin,""),Z.origin!==this.origin?(G=Z.href,V=!0):G=Z.pathname+Z.search+Z.hash}else F=Cv(A),G=F;return{publicHref:G,href:F,pathname:b,search:_,searchStr:R,state:M,hash:L??"",external:V,unmaskOnReload:c.unmaskOnReload}},a=l(s);if(s.mask)a.maskedLocation=l({from:s.from,...s.mask});else if(this.options.routeMasks){const c=Nv(a.pathname,this.processedTree);if(c){const h=Object.assign(Object.create(null),c.rawParams),{from:f,params:p,...m}=c.route,w=Sp(p,h);a.maskedLocation=l({from:s.from,...m,params:w})}}return a},this.commitLocation=async({viewTransition:s,ignoreBlocker:l,...a})=>{let c;const h=_n(this.latestLocation.href)===_n(a.href)&&ar(kp(a.state),kp(this.latestLocation.state)),f=this._commitPromise;let p;const m=new Promise(w=>{p=w});if(m.resolve=()=>{p(),f==null||f.resolve()},this._commitPromise=m,h)this.load();else{let{maskedLocation:w,hashScrollIntoView:y,...x}=a;w&&(x={...w,state:{...w.state,__tempKey:void 0,__tempLocation:{...x,search:x.searchStr,state:{...x.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(x.unmaskOnReload??this.options.unmaskOnReload??!1)&&(x.state.__tempKey=this.tempLocationKey)),x.state.__hashScrollIntoViewOptions=y??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=s,c=a.replace?"REPLACE":"PUSH",this.history[c==="REPLACE"?"replace":"push"](x.publicHref,x.state,{ignoreBlocker:l}),this.history.subscribers.size||this.load({action:{type:c}})}return this._scroll.next=a.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:s,resetScroll:l,hashScrollIntoView:a,viewTransition:c,ignoreBlocker:h,...f}={})=>{const p=this.buildLocation({...f,_includeValidateSearch:!0});this._pendingLocation=p;const m=this.commitLocation({...p,viewTransition:c,replace:s,resetScroll:l,hashScrollIntoView:a,ignoreBlocker:h});return queueMicrotask(()=>{this._pendingLocation===p&&(this._pendingLocation=void 0)}),m},this.navigate=async({to:s,reloadDocument:l,href:a,publicHref:c,...h})=>{var p,m;let f=!1;if(a)try{new URL(`${a}`),f=!0}catch{}if(f&&!l&&(l=!0),l){if(s!==void 0||!a){const y=this.buildLocation({to:s,...h});a=a??y.publicHref,c=c??y.publicHref}const w=!f&&c?c:a;if(zl(w,this.protocolAllowlist))return;if(!h.ignoreBlocker){const y=((m=(p=this.history).getBlockers)==null?void 0:m.call(p))??[];for(const x of y)if(x!=null&&x.blockerFn&&await x.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return}h.replace?window.location.replace(w):window.location.href=w;return}return this.buildAndCommitLocation({...h,href:a,to:s,_isNavigate:!0})},this.load=async s=>{this.updateLatestLocation(),s!=null&&s.action&&(this._scroll.hash=s.action.type==="PUSH"||s.action.type==="REPLACE"),await vx(this,s)},this.startViewTransition=s=>{var a,c;const l=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,l&&typeof document.startViewTransition=="function"){let h;if(typeof l=="object"&&((c=(a=window.CSS)==null?void 0:a.supports)!=null&&c.call(a,"selector(:active-view-transition-type(a))"))){const f=this.latestLocation,p=this.stores.resolvedLocation.get(),m=typeof l.types=="function"?l.types(Hl(f,p)):l.types;if(m===!1)return s();h={update:s,types:m}}else h=s;return document.startViewTransition(h).updateCallbackDone}return s()},this.invalidate=s=>{var m,w;const l=this._committed,a=s==null?void 0:s.filter,c=this._preloads,h=new Set([...l,...this._cache.values(),...[...(c==null?void 0:c.values())??[]].flat(),...((m=this._tx)==null?void 0:m[3])??[]].filter(y=>!a||a(y)).map(y=>y.id)),f=[];for(const[y,x]of c??[])x.some(k=>h.has(k.id))&&(c.delete(y),f.push(y));const p=y=>{if(h.has(y.id)){const x=this.routesById[y.routeId],k={...y,invalid:!0,...(s!=null&&s.forcePending||y.status==="error"||y.status==="notFound")&&wp(x)?{status:"pending",error:void 0}:void 0};return y._flight=void 0,k}return y};this._committed=l.map(p);for(const[y,x]of this._cache)h.has(y)&&(x.invalid=!0,s!=null&&s.forcePending&&(x.status="pending"));for(const y of h)(w=this._flights)==null||w.delete(y);for(const y of f)y.abort();return this.shouldViewTransition=!1,this.load({sync:s==null?void 0:s.sync})},this.resolveRedirect=s=>{const l=s.headers.get("Location");if(s.options.href){if(l)try{const a=new URL(l);if(this.origin&&a.origin===this.origin){const c=a.pathname+a.search+a.hash;s.options.href=c,s.headers.set("Location",c)}}catch{}}else{const a=this.buildLocation(s.options).publicHref||"/";s.options.href=a,s.headers.set("Location",a)}if(s.options.href&&zl(s.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return s.headers.get("Location")||s.headers.set("Location",s.options.href),s},this.clearCache=s=>{var m;const l=this._cache,a=this._preloads,c=s==null?void 0:s.filter,h=[],f=[];for(const[w,y]of l)(!c||c(y))&&(f.push(w),h.push(y));const p=[];for(const[w,y]of a??[])(!c||y.some(c))&&(p.push(w),h.push(...y));for(const w of f)l.delete(w);for(const w of p)a.delete(w);for(const w of h){const y=w._flight;w._flight=void 0,y&&!--y[2]&&(((m=this._flights)==null?void 0:m.get(w.id))===y&&this._flights.delete(w.id),p.push(y[1]))}for(const w of p)w.abort()},this.loadRouteChunk=_s,this.preloadRoute=s=>xx(this,s),this.matchRoute=(s,l)=>{const a={...s,to:s.to?this.resolvePathWithBase(s.from||"",s.to):void 0,params:s.params||{},leaveParams:!0},c=this.buildLocation(a),h=this.stores.status.get()==="pending";if(l!=null&&l.pending&&!h)return!1;const f=(l==null?void 0:l.pending)??!h?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),p=Rv(c.pathname,(l==null?void 0:l.caseSensitive)??!1,(l==null?void 0:l.fuzzy)??!1,f.pathname,this.processedTree);return!p||s.params&&!ar(p.rawParams,s.params,{partial:!0})?!1:(l==null?void 0:l.includeSearch)??!0?ar(f.search,c.search,{partial:!0})?p.rawParams:!1:p.rawParams},this.getStoreConfig=r,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...n,caseSensitive:n.caseSensitive??!1,notFoundMode:n.notFoundMode??"fuzzy",stringifySearch:n.stringifySearch??Yv,parseSearch:n.parseSearch??Zv,protocolAllowlist:n.protocolAllowlist??_v}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:n,routesByPath:r,processedTree:s}){this.routesById=n,this.routesByPath=r,this.processedTree=s;const l=this.options.notFoundRoute;l&&(l.init({originalIndex:99999999999}),this.routesById[l.id]=l)}getRouteBranch(n){let r=this.routeBranchCache.get(n);return r||(r=_m(n),this.routeBranchCache.set(n,r)),r}matchRoutesInternal(n,r){var x,k;const[s,l,a]=this.getMatchedRoutes(n.pathname);let c=s,h=!1;(a?a.path!=="/"&&l["**"]:_n(n.pathname))&&(this.options.notFoundRoute?c=[...c,this.options.notFoundRoute]:h=!0);const f=h?cx(this.options.notFoundMode,c):void 0,p=new Array(c.length),m=this._committed,w=(S,b)=>{const _=m[b];return(_==null?void 0:_.routeId)===S.id?_:S===this.options.notFoundRoute?m.find(R=>R.routeId===S.id):void 0};let y;for(let S=0;S{const k=x(p.preSearchFilters?p.preSearchFilters.reduce((S,b)=>b(S),y):y);return p.postSearchFilters?p.postSearchFilters.reduce((S,b)=>b(S),k):k};a.push(w)}const m=p.validateSearch;if(l&&m){const w=({search:y,next:x,meta:k})=>{const S=x(y);try{const b=Ml(m,S);if(k&&b)for(const _ in b)_ in S||(k.defaulted||(k.defaulted=new Map)).set(_,b[_]);return{...S,...b}}catch{}return S};a.push(w)}}const c=(f,p,m)=>{if(f>=a.length){if(!r.search)return{};if(r.search===!0)return p;const y=Bs(r.search,p);return m&&(m.explicit=y),y}const w=(y,x)=>{if(x){const k=m||{};return{search:c(f+1,y,k),meta:k}}return c(f+1,y,m)};return a[f]({search:p,next:w,meta:m})};return c(0,n)}function cx(n,r){if(n!=="root"){let s;for(let l=r.length-1;l>=0;l--){const a=r[l];if(a.options.notFoundComponent)return a.id;s||(s=a.children&&a.id)}if(s)return s}return bs}function Sp(n,r){if(n===!1||n===null)return Object.create(null);if((n??!0)===!0)return r;const s=Object.assign(Object.create(null),r);return Object.assign(s,Bs(n,s))}function bp(n,r){var l;const s=((l=n.options.params)==null?void 0:l.parse)??n.options.parseParams;s&&Object.assign(r,s(r))}function xc(n,r){var s,l;return(l=(s=n.options[r])==null?void 0:s.preload)==null?void 0:l.call(s)}function dx(n,r){const s=xc(n,"component");let l=xc(n,"pendingComponent");return r&&(l?l=l.then(r):r()),s&&l?Promise.all([s,l]).then(()=>{}):s??l}function _s(n,r,s){const l=()=>r===!1?void 0:r?xc(n,r):dx(n,s),a=n._lazy;if(a)return a===!0?l():a.then(l);if(!n.lazyFn)return l();const c=n.lazyFn().then(h=>{{const{id:f,...p}=h.options;Object.assign(n.options,p),n._lazy=!0}},h=>{throw n._lazy=void 0,h});return n._lazy=c,c.then(l)}function Ac(n){const r=n.findIndex(s=>s.status!=="success"||s._notFound)+1;return r&&r{const a=()=>l(r);r.addEventListener("abort",a,{once:!0}),Promise.resolve(n).then(s,l).finally(()=>r.removeEventListener("abort",a))})}function Hr(n,r){return n.routesById[r.routeId]}function Yi(n,r,s){return Pm(n)?[Nt,n]:$s(n)?(n.routeId||(n.routeId=s),[Wl,n]):r?(typeof(n==null?void 0:n.then)=="function"&&(n=new Error("A Promise was thrown",{cause:n})),[En,n]):[un,n]}function Uc(n,r){var l,a;let s=Yi(r,!0,n.id);if(s[0]!==En)return s;try{(a=(l=n.options).onError)==null||a.call(l,s[1])}catch(c){s=Yi(c,!0,n.id)}return s}function $i(n,r,s,l,a){return a[0].signal.aborted?cr:Vc(n,r,s,Uc(s,l),a)}async function fx(n,r,s,l,a,c){var w,y;const[h,f]=r,p=s[0].signal,m=!!s[3];for(let x=s[6]??0;xn.navigate({...M,_fromLocation:h}),buildLocation:n.buildLocation,cause:m?"preload":k.cause,abortController:s[0],preload:m,matches:f,routeId:S.id};try{const M=k._ctx||(k._ctx=S.options.context?S.options.context({..._,deps:k.loaderDeps,context:b})||{}:void 0);k.context={...b,...M}}catch(M){return Cn(n,k),[x,$i(n,r,S,M,s)]}if(p.aborted)return[x,cr];const R=k.paramsError??k.searchError;if(R!==void 0)return Cn(n,k),[x,$i(n,r,S,R,s)];const L=S.options.beforeLoad;if(!L)continue;const z=k.status;x>=c&&(k.status="pending",(y=s[7])==null||y.call(s));try{Xi(n,k,"beforeLoad",s[0]);const M=await Vr(L({..._,search:k.search,context:k.context,...n.options.additionalContext}),p);if(p.aborted)return[x,cr];const A=Vc(n,r,S,Yi(M,!1,S.id),s);if(A[0]!==un)return Cn(n,k),[x,A];k.context={...k.context,...M}}catch(M){return Cn(n,k),[x,$i(n,r,S,M,s)]}finally{k.status=z,Xi(n,k,!1,s[0])}}a()}function Bc(n,r,s){var l;if(!(!s||--s[2])){if(((l=n._flights)==null?void 0:l.get(r.id))===s){const a=n._tx;if(a&&!a[0].signal.aborted&&!a[3].includes(r)&&a[3].some(c=>c.id===r.id)&&a[3].some(c=>c.isFetching==="beforeLoad"))return;n._flights.delete(r.id)}return s[1]}}function Cn(n,r){var l;const s=r._flight;r._flight=void 0,(l=Bc(n,r,s))==null||l.abort()}function St(n,r,s,l){var c;const a=[];for(const h of r)if(!(s!=null&&s.includes(h))){const f=h._flight;if(h._flight=void 0,l&&(f==null?void 0:f[2])===1&&((c=n._flights)==null?void 0:c.get(h.id))===f&&(s!=null&&s.some(p=>p.id===h.id)))f[2]=0;else{const p=Bc(n,h,f);p&&a.push(p)}}for(const h of a)h.abort()}function $c(n){for(const r of n){const s=r._flight;s&&s[2]++}}function Xi(n,r,s,l){var h;if(r.isFetching=s,l&&((h=n._tx)==null?void 0:h[0])!==l)return;const a=n.stores.byRoute.get(r.routeId),c=a==null?void 0:a.get();(c==null?void 0:c.id)===r.id&&a.set({...c,isFetching:s})}function Rm(n,r,s,l,a,c,h){const f=r[0];return{params:s.params,location:f,navigate:p=>n.navigate({...p,_fromLocation:f}),cause:h?"preload":s.cause,abortController:a,preload:h,deps:s.loaderDeps,parentMatchPromise:c,context:s.context,route:l,...n.options.additionalContext}}async function _p(n,r,s,l,a,c,h){const f=h[0],p=f.signal;if(p.aborted)return cr;if(!a)return[un,void 0];let m=s._flight;Xi(n,s,"loader",f);try{if(!m){const w=new AbortController;m=[Promise.resolve().then(()=>a(Rm(n,r,s,l,w,c,!!h[3]))).then(y=>Yi(y,!1,l.id),y=>Yi(y,!0,l.id)).then(y=>{var x;return y[0]!==un&&((x=n._flights)==null?void 0:x.get(s.id))===m&&(n._flights.delete(s.id),m[2]||w.abort()),y[0]===En&&m[2]?Uc(l,y[1]):y}),w,1],(n._flights??(n._flights=new Map)).set(s.id,m)}return s._flight=m,s.abortController=m[1],Vc(n,r,l,await Vr(m[0],p),h)}catch(w){if(w!==p||!p.aborted)throw w;return Cn(n,s),cr}finally{Xi(n,s,!1,f)}}function Cp(n,r,s){r[0]!==Nt&&(n.status="success",n.error=void 0,r[0]===un?(n.loaderData=r[1],n.invalid=!1,n.updatedAt=Date.now(),n.preload=s):n.invalid=!0)}function hx(n,r,s){const l=n._cache.get(r.id);if(l!==s||n._committed.some(c=>c.id===r.id&&c._flight===r._flight))return;const a={...r,_notFound:void 0,context:{}};a._flight&&a._flight[2]++,n._cache.set(r.id,a),l&&Cn(n,l)}function Ep(n,r){return r[0]===En||r[0]===Wl?{...n,status:r[0]===En?"error":"notFound",error:r[1],_flight:void 0}:n}function px(n,r,s,l,a,c,h){var Z,ae;const f=r[1][s],p=Hr(n,f),m=!!c[3],w=n._cache.get(f.id);let y,x=!1,k;try{if(f.status==="success"&&(y=p.options.shouldReload,typeof y=="function"&&(y=y(Rm(n,r,f,p,c[0],a,m))),c[0].signal.aborted&&(k=cr)),!k)if(f.status!=="success")x=!0;else{const H=m||f.preload?p.options.preloadStaleTime??n.options.defaultPreloadStaleTime??3e4:p.options.staleTime??n.options.defaultStaleTime??0;x=!!(f.invalid||y||y===void 0&&Date.now()-f.updatedAt>=H&&(c[5]||f.cause==="enter"||c[2].some(te=>te.routeId===f.routeId&&te.id!==f.id)))}}catch(H){f.invalid=!0,Cn(n,f),k=$i(n,r,p,H,c)}const S=p.options.loader,b=typeof S=="function",_=b?S:S==null?void 0:S.handler,R=!m||p.options.preload!==!1;let L=R&&S?(Z=n._flights)==null?void 0:Z.get(f.id):void 0;L===f._flight||k?L=void 0:L&&!x&&!m&&y===void 0?x=!0:x||(L=void 0);const z=!!(S&&x&&f.status==="success"&&!m&&!c[4]&&((b?void 0:S.staleReloadMode)??n.options.defaultStaleReloadMode)!=="blocking"),M=x&&R,A=M&&!z&&(f.status!=="success"||!!S),F=s>=h?c[7]:void 0,G=p.lazyFn&&p._lazy!==!0?F:void 0;if(M&&!S&&(f.invalid=!1,f.updatedAt=Date.now()),L&&L[2]++,A){const H=f._flight;f._flight=L,(ae=Bc(n,f,H))==null||ae.abort(),s>=h&&(f.status="pending"),F==null||F()}M||(f.isFetching=!1);const V=(k?Promise.resolve(k):A?_p(n,r,f,p,_,a,c):Promise.resolve([un,f.loaderData])).then(H=>(A&&(Cp(f,H,m),H[0]===un&&(S&&!c[0].signal.aborted&&hx(n,f,w),s>=h&&(f.status="pending"))),H)),O=Vr(Promise.resolve().then(()=>_s(p,void 0,G)),c[0].signal).then(()=>{},H=>r[1].some((te,ye)=>ye<=s&&(te.status==="error"||te.status==="notFound"||te._notFound))?void 0:[s,$i(n,r,p,H,c)]).then(H=>V.then(te=>(A&&!H&&te[0]===un&&f.status==="pending"&&!c[0].signal.aborted&&(f.status="success",F==null||F()),H)));if(l.push([s,V,O]),!z)return V.then(H=>Ep(f,H));const Q={...f,status:"pending",preload:!1,_flight:L};f.invalid=!1,f.isFetching="loader";const X=_p(n,r,Q,p,_,a,c).then(H=>(f.isFetching=!1,Cp(Q,H,!1),H));return(r[2]??(r[2]=[])).push([s,X,O,Q]),X.then(H=>Ep(Q,H))}async function wc(n,r,s,l,a=0){const c=s==null?void 0:s[1][1];let h=c!=null&&c.routeId?r.findIndex(f=>f.routeId===c.routeId):(s==null?void 0:s[0])??r.length-1;h<0&&(h=0);for(let f=h;f>=0;f--){const p=Hr(n,r[f]);try{const m=_s(p,!1);m&&await Vr(m,l)}catch(m){if(m===l&&l.aborted)throw m}if(p.options.notFoundComponent)return f}return c!=null&&c.routeId?h:a}function $r(n,r){r[2]&&(St(n,r[2].map(s=>s[3])),r[2]=void 0)}async function jp(n,r,s,l){let a;try{await Promise.all(n.map(c=>c[1].then(async h=>{const f=c[0];if(!(l&&f>=await l)){if(h[0]>=Nt)throw[f,h];!a&&h[0]!==un&&(a=[f,h],await Promise.all((s??[]).map(p=>{if(!(p[0]<=f))return p[1].then(m=>{if(m[0]===Nt)throw[p[0],m]})})))}})))}catch(c){return c}return r??a}function Vc(n,r,s,l,a,c){for(;l[0]===Nt;){const h=l[1],f=h.options;if(f.reloadDocument?a[3]:a[1]>=20)return l;try{return f.href&&f.reloadDocument?(n.resolveRedirect(h),l):[Nt,h,n.buildLocation({...f,_fromLocation:r[0],_includeValidateSearch:!0})]}catch(p){l=c?[En,p]:Uc(s,p),c=!0}}return l}async function Lm(n,r,s,l,a,c){const h=r[1];let f=await a,p=!1;const m=h.findIndex(k=>k._notFound),w=k=>k[1][0]===Wl?wc(n,h,k,l.signal):k[0];let y=m<0?h.length:m;if(((f==null?void 0:f[1][0])??0)>=Nt)y=0;else if(f){y=f[2]??(f[2]=await w(f));for(const k of s){if(k[0]>=y)break;const S=await k[1];if(S[0]!==un&&S[0]=y)break;const S=await k[2];if(S){f=S;break}}if(((f==null?void 0:f[1][0])??0)>=Nt){const k=f[1];if(k[0]!==Nt||k[1].options.reloadDocument||k[2])return $r(n,r),k;p=!0,f=[0,[En,new Error("Too many redirects")]]}const x=f?f[2]??await w(f):m;if(x>=0){const k=f==null?void 0:f[1],S=k==null?void 0:k[0],b=h[x],_=k==null?void 0:k[1],R=()=>{k&&(b._notFound=void 0,S===En?b.status="error":(_.routeId=b.routeId,b.routeId===n.routeTree.id?(b.status="success",b._notFound=!0):b.status="notFound"),b.error=_,b.isFetching=!1)};R(),k||c==null||c();const L=Hr(n,b);try{await Vr(k?Promise.resolve().then(()=>_s(L,S===En?"errorComponent":"notFoundComponent")):Promise.all([_s(L),_s(L,"notFoundComponent")]),l.signal)}catch(z){if(z===l.signal&&l.signal.aborted)return $r(n,r),cr}k?p&&(l.abort(),await Promise.all([...s.map(z=>z[1]),...s.map(z=>z[2]),...(r[2]??[]).map(z=>z[1])]),$r(n,r),St(n,h),R()):b.status="success"}return r}async function Mm(n,r,s,l=0,a=r[1].length){var h,f;const c=r[1];for(let p=l;pL._notFound);if(n.options.notFoundMode!=="root"&&m>=0){const L=await wc(n,s,void 0,c,m);s[m]._notFound=void 0,s[L]._notFound=!0,m=L}let w=m<0?s.length:m+1,y=0;for(;y{for(let L=k;L=Nt&&(w=0);b()}if(!c.aborted&&!l[3]){const L=[];for(const[z,M]of n._flights??[])M[2]||(n._flights.delete(z),L.push(M[1]));for(const z of L)z.abort()}const R=Lm(n,a,x,l[0],jp(x,_,a[2]),l[7]);(f=a[2])!=null&&f.length&&(a[3]=jp(a[2],void 0,void 0,R.then(L=>Zi(L)?0:Ac(s).length,()=>0))),h=await R}catch(p){if($r(n,a),p===c&&c.aborted)return cr;throw p}return Zi(h)?h:Mm(n,h,c,l[6]===s.length?l[6]:0)}function kc(n,r){var c,h;if(n._tx!==r)return;const s=r[3],l=n.stores.matches.get();let a=n._pending;for(let f=0;f0){a[3]=setTimeout(()=>kc(n,r),L);return}a[2]=0}const _=s.map(L=>({...L,_flight:void 0}));_[f].status="pending";const R=a[4]=n.startTransition(()=>n.stores.setMatches(_),_).then(L=>(L&&n._pending===a&&a[4]===R&&!a[2]&&(a[2]=Date.now()+S),L));return}}function Di(n,r){var l;const s=n._pending;(n._tx===r||!((l=n._tx)!=null&&l[3].some(a=>a.id===(s==null?void 0:s[1]))))&&(clearTimeout(s==null?void 0:s[3]),n._pending=void 0)}async function Pp(n,r){const s=n._pending;if(!s)return;clearTimeout(s[3]);const l=s[2]-Date.now();if(!s[4]||l<=0||!Ac(r[3]).some(c=>c.id===s[1]))return;let a;try{await Vr(new Promise(c=>{a=setTimeout(c,l)}),r[0].signal)}catch{}clearTimeout(a)}function Im(n,r){n._committed=r,n.stores.setMatches(r)}function mx(n,r,s,l){const a=n._committed,c=n._cache;for(const p of s)p.preload=!1,l&&(p._assetEnd=void 0);const h=Ac(s).length,f=new Map;{const p=Date.now();for(const m of[...a,...c.values()]){if(m.status!=="success"||s.some((y,x)=>y.id===m.id&&(x=(m.preload?w.options.preloadGcTime??n.options.defaultPreloadGcTime??3e5:w.options.gcTime??n.options.defaultGcTime??3e5)||f.set(m.id,c.get(m.id)===m?m:{...m,_flight:void 0,isFetching:!1,context:{}})}}r[3]=[],n._cache=f,Im(n,s),St(n,[...c.values(),...a],[...s,...f.values()]),ox(n,a,s,r)}async function jl(n,r){let s=n._tx;for(;s&&s!==r;){if(await s[5],n._tx===s)return;s=n._tx}}function Dm(n,r,s){const l=s[1].options,a=s[2];if(!a)return n.navigate({...l,replace:!0,ignoreBlocker:!0});if(l.reloadDocument)return n.navigate({href:a.publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});a._redirects=r[1]+1,n._pendingLocation=a;const c=n.commitLocation({...a,viewTransition:l.viewTransition,replace:!0,resetScroll:l.resetScroll,hashScrollIntoView:l.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{n._pendingLocation===a&&(n._pendingLocation=void 0)}),c}async function gx(n,r,s,l,a){const c=s.map(p=>({...p}));$c(c);for(const p of l)Cn(n,c[p[0]]),c[p[0]]=p[3];const h=[r[2],c];let f;try{f=await Lm(n,h,l,r[0],a)}catch(p){throw St(n,c),p}if(Zi(f)){St(n,c),f[0]===Nt&&n._tx===r&&n._committed===s&&await Dm(n,r,f);return}if(await Mm(n,f,r[0].signal),n._tx!==r||n._committed!==s){St(n,c);return}for(const p of c){const m=n._cache.get(p.id);m!=null&&m._flight&&m._flight===p._flight&&(n._cache.delete(p.id),Cn(n,m))}Im(n,c),St(n,s,c)}async function yx(n,r,s,l,a,c){const h=await Tm(n,r[2],r[3],[r[0],r[1],n._committed,void 0,a,s,c,l]);if(Zi(h)){const y=h[0]===Nt&&n._tx===r;if((!y||h[1].options.reloadDocument)&&Di(n,r),St(n,r[3]),r[3]=[],!y)return;if(n._tx!==r){Di(n,r);return}await Dm(n,r,h);return}const f=h[1];if(n._tx===r&&await Pp(n,r),n._tx!==r){Di(n,r),St(n,f),$r(n,h);return}const p=r[2],m=Hl(p,n.stores.resolvedLocation.get()),w=h[2];await n.startViewTransition(async()=>{var k;if(n._tx===r&&await Pp(n,r),n._tx!==r){Di(n,r),St(n,f),$r(n,h);return}const y=()=>{Di(n,r),mx(n,r,f,c),n._tx===r&&(n.emit({type:"onLoad",...m}),n._tx===r&&n.emit({type:"onBeforeRouteMount",...m}))},x=await n.startTransition(y,f);if(n._tx!==r){$r(n,h);return}w!=null&&w.length&&gx(n,r,f,w,h[3]).catch(console.error),n.batch(()=>{n.stores.resolvedLocation.set(p),n.stores.status.set("idle"),n._tx===r&&n.emit({type:"onResolved",...m}),x&&n._tx===r&&n.emit({type:"onRendered",...m})}),n._tx===r&&((k=n._commitPromise)==null||k.resolve(),n._commitPromise=void 0)})}async function vx(n,r){var M;const s=n._tx,l=n.stores.resolvedLocation.get(),a=l??n.stores.location.get(),c=n.latestLocation,h=n._pendingLocation,f=(h==null?void 0:h.href)===c.href?h._redirects??0:0,p=n._handoff,m=p==null?void 0:p[0](),w=new AbortController,y=n._preflight;if(n._preflight=w,m||p==null||p[1](),y==null||y.abort(),!w.signal.aborted){const A=Hl(c,l);n.emit({type:"onBeforeNavigate",...A}),w.signal.aborted||n.emit({type:"onBeforeLoad",...A})}if(w.signal.aborted){await jl(n,s);return}const x=a.href===c.href;let k=w;const S=n.matchRoutes(c,{_controller:w});$c(S);const b=m?p[1](S):void 0;if(b?k=m:m==null||m.abort(),w.signal.aborted){St(n,S),await jl(n,s);return}n._preflight=void 0;let _;const R=()=>yx(n,z,x,()=>kc(n,z),r==null?void 0:r.sync,b),L=r!=null&&r.sync?new Promise(A=>_=A):Promise.resolve().then(R).then(),z=[k,f,c,S,Date.now(),L];if(n._tx=z,s){for(const A of n.stores.matches.get()){if(n._tx!==z)break;A.isFetching&&Xi(n,A,!1)}s[0].abort(),St(n,s[3],z[3],!0)}if(n._tx!==z){St(n,z[3]),z[3]=[],_==null||_(),await jl(n,z);return}n.batch(()=>{n.stores.status.set("pending"),n.stores.location.set(c)}),(b||!n._committed.length&&((M=S[0])==null?void 0:M.status)!=="success"&&!S.some(A=>A._notFound))&&kc(n,z),_==null||_(R()),await L,await jl(n,z)}async function xx(n,r){let s=n.buildLocation(r);for(let l=0;;l++){const a=n._committed,c=new AbortController;let h,f,p;try{try{h=n.matchRoutes(s,{_controller:c}),$c(h),f=(n._preloads??(n._preloads=new Map)).set(c,h),p=await Tm(n,s,h,[c,l,a,!0])}finally{f&&(f=f.delete(c),St(n,h)),c.abort()}if(!Zi(p))return p[1];if(!f||p.length<3)return;s=p[2]}catch(m){$s(m)||console.error(m);return}}}const wx="Error preloading route! ☝️";var zm=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(n){if(this.init=r=>{var p,m;this.originalIndex=r.originalIndex;const s=this.options,l=!(s!=null&&s.path)&&!(s!=null&&s.id);this.parentRoute=(m=(p=this.options).getParentRoute)==null?void 0:m.call(p),l?this._path=bs:this.parentRoute||zc();let a=l?bs:s==null?void 0:s.path;a&&a!=="/"&&(a=Cm(a));const c=(s==null?void 0:s.id)||a;let h=l?bs:Nl([this.parentRoute.id==="__root__"?"":this.parentRoute.id,c]);a==="__root__"&&(a="/"),h!=="__root__"&&(h=Nl(["/",h]));const f=h==="__root__"?"/":Nl([this.parentRoute.fullPath,a]);this._path=a,this._id=h,this._fullPath=f,this._to=_n(f)},this.addChildren=r=>this._addFileChildren(r),this._addFileChildren=r=>(Array.isArray(r)&&(this.children=r),typeof r=="object"&&r!==null&&(this.children=Object.values(r)),this),this._addFileTypes=()=>this,this.updateLoader=r=>(Object.assign(this.options,r),this),this.update=r=>(Object.assign(this.options,r),this),this.lazy=r=>(this.lazyFn=r,this),this.redirect=r=>jm({from:this.fullPath,...r}),this.options=n||{},this.isRoot=!(n!=null&&n.getParentRoute),n!=null&&n.id&&(n!=null&&n.path))throw new Error("Route cannot have both an 'id' and a 'path' option.")}},kx=class extends zm{constructor(n){super(n)}},Hc=class extends W.Component{constructor(...n){super(...n),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(n,r){const s=n.getResetKey();return r.error&&r.resetKey!==s?{resetKey:s,error:null}:{resetKey:s}}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){var s,l;(l=(s=this.props).onCatch)==null||l.call(s,n,r)}render(){const n=this.state.error;return n?W.createElement(this.props.errorComponent??Sx,{error:n,reset:this.reset}):this.props.children}};function Sx({error:n}){const[r,s]=W.useState(!1);return g.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[g.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[g.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),g.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>s(l=>!l),children:r?"Hide Error":"Show Error"})]}),g.jsx("div",{style:{height:".25rem"}}),r?g.jsx("div",{children:g.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:n.message?g.jsx("code",{children:n.message}):null})}):null]})}function bx({children:n,fallback:r=null}){return g.jsx(Gt.Fragment,{children:Fm()?n:r})}function Fm(){return Gt.useSyncExternalStore(_x,()=>!0,()=>!1)}function _x(){return()=>{}}var Om=W.createContext(null);function qt(n){return W.useContext(Om)}var Ql=W.createContext(void 0),Cx=W.createContext(void 0),Ue=(n=>(n[n.None=0]="None",n[n.Mutable=1]="Mutable",n[n.Watching=2]="Watching",n[n.RecursedCheck=4]="RecursedCheck",n[n.Recursed=8]="Recursed",n[n.Dirty=16]="Dirty",n[n.Pending=32]="Pending",n))(Ue||{});function Ex({update:n,notify:r,unwatched:s}){return{link:l,unlink:a,propagate:c,checkDirty:h,shallowPropagate:f};function l(m,w,y){const x=w.depsTail;if(x!==void 0&&x.dep===m)return;const k=x!==void 0?x.nextDep:w.deps;if(k!==void 0&&k.dep===m){k.version=y,w.depsTail=k;return}const S=m.subsTail;if(S!==void 0&&S.version===y&&S.sub===w)return;const b=w.depsTail=m.subsTail={version:y,dep:m,sub:w,prevDep:x,nextDep:k,prevSub:S,nextSub:void 0};k!==void 0&&(k.prevDep=b),x!==void 0?x.nextDep=b:w.deps=b,S!==void 0?S.nextSub=b:m.subs=b}function a(m,w=m.sub){const y=m.dep,x=m.prevDep,k=m.nextDep,S=m.nextSub,b=m.prevSub;return k!==void 0?k.prevDep=x:w.depsTail=x,x!==void 0?x.nextDep=k:w.deps=k,S!==void 0?S.prevSub=b:y.subsTail=b,b!==void 0?b.nextSub=S:(y.subs=S)===void 0&&s(y),k}function c(m){let w=m.nextSub,y;e:do{const x=m.sub;let k=x.flags;if(k&60?k&12?k&4?!(k&48)&&p(m,x)?(x.flags=k|40,k&=1):k=0:x.flags=k&-9|32:k=0:x.flags=k|32,k&2&&r(x),k&1){const S=x.subs;if(S!==void 0){const b=(m=S).nextSub;b!==void 0&&(y={value:w,prev:y},w=b);continue}}if((m=w)!==void 0){w=m.nextSub;continue}for(;y!==void 0;)if(m=y.value,y=y.prev,m!==void 0){w=m.nextSub;continue e}break}while(!0)}function h(m,w){let y,x=0,k=!1;e:do{const S=m.dep,b=S.flags;if(w.flags&16)k=!0;else if((b&17)===17){if(n(S)){const _=S.subs;_.nextSub!==void 0&&f(_),k=!0}}else if((b&33)===33){(m.nextSub!==void 0||m.prevSub!==void 0)&&(y={value:m,prev:y}),m=S.deps,w=S,++x;continue}if(!k){const _=m.nextDep;if(_!==void 0){m=_;continue}}for(;x--;){const _=w.subs,R=_.nextSub!==void 0;if(R?(m=y.value,y=y.prev):m=_,k){if(n(w)){R&&f(_),w=m.sub;continue}k=!1}else w.flags&=-33;w=m.sub;const L=m.nextDep;if(L!==void 0){m=L;continue e}}return k}while(!0)}function f(m){do{const w=m.sub,y=w.flags;(y&48)===32&&(w.flags=y|16,(y&6)===2&&r(w))}while((m=m.nextSub)!==void 0)}function p(m,w){let y=w.depsTail;for(;y!==void 0;){if(y===m)return!0;y=y.prevDep}return!1}}function jx(n,r,s){var c,h,f;const l=typeof n=="object",a=l?n:void 0;return{next:(c=l?n.next:n)==null?void 0:c.bind(a),error:(h=l?n.error:r)==null?void 0:h.bind(a),complete:(f=l?n.complete:s)==null?void 0:f.bind(a)}}const Sc=[];let Tl=0;const{link:Np,unlink:Px,propagate:Nx,checkDirty:Am,shallowPropagate:Rp}=Ex({update(n){return n._update()},notify(n){Sc[bc++]=n,n.flags&=~Ue.Watching},unwatched(n){n.depsTail!==void 0&&(n.depsTail=void 0,n.flags=Ue.Mutable|Ue.Dirty,Bl(n))}});let Pl=0,bc=0,rn,_c=0;function Rx(n){try{++_c,n()}finally{--_c||Um()}}function Bl(n){const r=n.depsTail;let s=r!==void 0?r.nextDep:n.deps;for(;s!==void 0;)s=Px(s,n)}function Um(){if(!(_c>0)){for(;Pl{var m;a.get(),f.current?(m=h.next)==null||m.call(h,a._snapshot):f.current=!0});return{unsubscribe:()=>{p.stop()}}},_update(c){const h=rn,f=(r==null?void 0:r.compare)??Object.is;if(s)rn=a,++Tl,a.depsTail=void 0;else if(c===void 0)return!1;s&&(a.flags=Ue.Mutable|Ue.RecursedCheck);try{const p=a._snapshot,m=typeof c=="function"?c(p):c===void 0&&s?l(p):c;return p===void 0||!f(p,m)?(a._snapshot=m,!0):!1}finally{rn=h,s&&(a.flags&=~Ue.RecursedCheck),Bl(a)}}};return s?(a.flags=Ue.Mutable|Ue.Dirty,a.get=function(){const c=a.flags;if(c&Ue.Dirty||c&Ue.Pending&&Am(a.deps,a)){if(a._update()){const h=a.subs;h!==void 0&&Rp(h)}}else c&Ue.Pending&&(a.flags=c&~Ue.Pending);return rn!==void 0&&Np(a,rn,Tl),a._snapshot}):a.set=function(c){if(a._update(c)){const h=a.subs;h!==void 0&&(Nx(h),Rp(h),Um())}},a}function Lx(n){const r=()=>{const l=rn;rn=s,++Tl,s.depsTail=void 0,s.flags=Ue.Watching|Ue.RecursedCheck;try{return n()}finally{rn=l,s.flags&=~Ue.RecursedCheck,Bl(s)}},s={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Ue.Watching|Ue.RecursedCheck,notify(){const l=this.flags;l&Ue.Dirty||l&Ue.Pending&&Am(this.deps,this)?r():this.flags=Ue.Watching},stop(){this.flags=Ue.None,this.depsTail=void 0,Bl(this)}};return r(),s}var Qu={exports:{}},Ku={},Gu={exports:{}},qu={};/** +`+d.stack}return{value:e,source:t,stack:u,digest:null}}function au(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function uu(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var qy=typeof WeakMap=="function"?WeakMap:Map;function Yf(e,t,i){i=yn(-1,i),i.tag=3,i.payload={element:null};var o=t.value;return i.callback=function(){ol||(ol=!0,_u=o),uu(e,t)},i}function Xf(e,t,i){i=yn(-1,i),i.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var u=t.value;i.payload=function(){return o(u)},i.callback=function(){uu(e,t)}}var d=e.stateNode;return d!==null&&typeof d.componentDidCatch=="function"&&(i.callback=function(){uu(e,t),typeof o!="function"&&($n===null?$n=new Set([this]):$n.add(this));var v=t.stack;this.componentDidCatch(t.value,{componentStack:v!==null?v:""})}),i}function Jf(e,t,i){var o=e.pingCache;if(o===null){o=e.pingCache=new qy;var u=new Set;o.set(t,u)}else u=o.get(t),u===void 0&&(u=new Set,o.set(t,u));u.has(i)||(u.add(i),e=a0.bind(null,e,t,i),t.then(e,e))}function eh(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function th(e,t,i,o,u){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=yn(-1,1),t.tag=2,Un(i,t,1))),i.lanes|=1),e):(e.flags|=65536,e.lanes=u,e)}var Gy=M.ReactCurrentOwner,gt=!1;function dt(e,t,i,o){t.child=e===null?kf(t,null,i,o):cs(t,e.child,i,o)}function nh(e,t,i,o,u){i=i.render;var d=t.ref;return fs(t,u),o=eu(e,t,i,o,d,u),i=tu(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~u,vn(e,t,u)):(Ae&&i&&Fa(t),t.flags|=1,dt(e,t,o,u),t.child)}function rh(e,t,i,o,u){if(e===null){var d=i.type;return typeof d=="function"&&!Lu(d)&&d.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=d,sh(e,t,d,o,u)):(e=fl(i.type,null,o,t,t.mode,u),e.ref=t.ref,e.return=t,t.child=e)}if(d=e.child,(e.lanes&u)===0){var v=d.memoizedProps;if(i=i.compare,i=i!==null?i:pi,i(v,o)&&e.ref===t.ref)return vn(e,t,u)}return t.flags|=1,e=Qn(d,o),e.ref=t.ref,e.return=t,t.child=e}function sh(e,t,i,o,u){if(e!==null){var d=e.memoizedProps;if(pi(d,o)&&e.ref===t.ref)if(gt=!1,t.pendingProps=o=d,(e.lanes&u)!==0)(e.flags&131072)!==0&&(gt=!0);else return t.lanes=e.lanes,vn(e,t,u)}return cu(e,t,i,o,u)}function ih(e,t,i){var o=t.pendingProps,u=o.children,d=e!==null?e.memoizedState:null;if(o.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ie(gs,Et),Et|=i;else{if((i&1073741824)===0)return e=d!==null?d.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ie(gs,Et),Et|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=d!==null?d.baseLanes:i,Ie(gs,Et),Et|=o}else d!==null?(o=d.baseLanes|i,t.memoizedState=null):o=i,Ie(gs,Et),Et|=o;return dt(e,t,u,i),t.child}function oh(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function cu(e,t,i,o,u){var d=mt(i)?vr:it.current;return d=os(t,d),fs(t,u),i=eu(e,t,i,o,d,u),o=tu(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~u,vn(e,t,u)):(Ae&&o&&Fa(t),t.flags|=1,dt(e,t,i,u),t.child)}function lh(e,t,i,o,u){if(mt(i)){var d=!0;Fo(t)}else d=!1;if(fs(t,u),t.stateNode===null)tl(e,t),Gf(t,i,o),lu(t,i,o,u),o=!0;else if(e===null){var v=t.stateNode,C=t.memoizedProps;v.props=C;var E=v.context,D=i.contextType;typeof D=="object"&&D!==null?D=Dt(D):(D=mt(i)?vr:it.current,D=os(t,D));var $=i.getDerivedStateFromProps,K=typeof $=="function"||typeof v.getSnapshotBeforeUpdate=="function";K||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(C!==o||E!==D)&&Zf(t,v,o,D),An=!1;var B=t.memoizedState;v.state=B,Qo(t,o,v,u),E=t.memoizedState,C!==o||B!==E||pt.current||An?(typeof $=="function"&&(ou(t,i,$,o),E=t.memoizedState),(C=An||qf(t,i,C,o,B,E,D))?(K||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(t.flags|=4194308)):(typeof v.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=E),v.props=o,v.state=E,v.context=D,o=C):(typeof v.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{v=t.stateNode,bf(e,t),C=t.memoizedProps,D=t.type===t.elementType?C:Vt(t.type,C),v.props=D,K=t.pendingProps,B=v.context,E=i.contextType,typeof E=="object"&&E!==null?E=Dt(E):(E=mt(i)?vr:it.current,E=os(t,E));var ne=i.getDerivedStateFromProps;($=typeof ne=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(C!==K||B!==E)&&Zf(t,v,o,E),An=!1,B=t.memoizedState,v.state=B,Qo(t,o,v,u);var ie=t.memoizedState;C!==K||B!==ie||pt.current||An?(typeof ne=="function"&&(ou(t,i,ne,o),ie=t.memoizedState),(D=An||qf(t,i,D,o,B,ie,E)||!1)?($||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(o,ie,E),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(o,ie,E)),typeof v.componentDidUpdate=="function"&&(t.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof v.componentDidUpdate!="function"||C===e.memoizedProps&&B===e.memoizedState||(t.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||C===e.memoizedProps&&B===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=ie),v.props=o,v.state=ie,v.context=E,o=D):(typeof v.componentDidUpdate!="function"||C===e.memoizedProps&&B===e.memoizedState||(t.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||C===e.memoizedProps&&B===e.memoizedState||(t.flags|=1024),o=!1)}return du(e,t,i,o,d,u)}function du(e,t,i,o,u,d){oh(e,t);var v=(t.flags&128)!==0;if(!o&&!v)return u&&ff(t,i,!1),vn(e,t,d);o=t.stateNode,Gy.current=t;var C=v&&typeof i.getDerivedStateFromError!="function"?null:o.render();return t.flags|=1,e!==null&&v?(t.child=cs(t,e.child,null,d),t.child=cs(t,null,C,d)):dt(e,t,C,d),t.memoizedState=o.state,u&&ff(t,i,!0),t.child}function ah(e){var t=e.stateNode;t.pendingContext?cf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&cf(e,t.context,!1),qa(e,t.containerInfo)}function uh(e,t,i,o,u){return us(),Ba(u),t.flags|=256,dt(e,t,i,o),t.child}var fu={dehydrated:null,treeContext:null,retryLane:0};function hu(e){return{baseLanes:e,cachePool:null,transitions:null}}function ch(e,t,i){var o=t.pendingProps,u=Be.current,d=!1,v=(t.flags&128)!==0,C;if((C=v)||(C=e!==null&&e.memoizedState===null?!1:(u&2)!==0),C?(d=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(u|=1),Ie(Be,u&1),e===null)return Ua(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(v=o.children,e=o.fallback,d?(o=t.mode,d=t.child,v={mode:"hidden",children:v},(o&1)===0&&d!==null?(d.childLanes=0,d.pendingProps=v):d=hl(v,o,0,null),e=Pr(e,o,i,null),d.return=t,e.return=t,d.sibling=e,t.child=d,t.child.memoizedState=hu(i),t.memoizedState=fu,e):pu(t,v));if(u=e.memoizedState,u!==null&&(C=u.dehydrated,C!==null))return Zy(e,t,v,o,C,u,i);if(d){d=o.fallback,v=t.mode,u=e.child,C=u.sibling;var E={mode:"hidden",children:o.children};return(v&1)===0&&t.child!==u?(o=t.child,o.childLanes=0,o.pendingProps=E,t.deletions=null):(o=Qn(u,E),o.subtreeFlags=u.subtreeFlags&14680064),C!==null?d=Qn(C,d):(d=Pr(d,v,i,null),d.flags|=2),d.return=t,o.return=t,o.sibling=d,t.child=o,o=d,d=t.child,v=e.child.memoizedState,v=v===null?hu(i):{baseLanes:v.baseLanes|i,cachePool:null,transitions:v.transitions},d.memoizedState=v,d.childLanes=e.childLanes&~i,t.memoizedState=fu,o}return d=e.child,e=d.sibling,o=Qn(d,{mode:"visible",children:o.children}),(t.mode&1)===0&&(o.lanes=i),o.return=t,o.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=o,t.memoizedState=null,o}function pu(e,t){return t=hl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function el(e,t,i,o){return o!==null&&Ba(o),cs(t,e.child,null,i),e=pu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Zy(e,t,i,o,u,d,v){if(i)return t.flags&256?(t.flags&=-257,o=au(Error(s(422))),el(e,t,v,o)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(d=o.fallback,u=t.mode,o=hl({mode:"visible",children:o.children},u,0,null),d=Pr(d,u,v,null),d.flags|=2,o.return=t,d.return=t,o.sibling=d,t.child=o,(t.mode&1)!==0&&cs(t,e.child,null,v),t.child.memoizedState=hu(v),t.memoizedState=fu,d);if((t.mode&1)===0)return el(e,t,v,null);if(u.data==="$!"){if(o=u.nextSibling&&u.nextSibling.dataset,o)var C=o.dgst;return o=C,d=Error(s(419)),o=au(d,o,void 0),el(e,t,v,o)}if(C=(v&e.childLanes)!==0,gt||C){if(o=Xe,o!==null){switch(v&-v){case 4:u=2;break;case 16:u=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:u=32;break;case 536870912:u=268435456;break;default:u=0}u=(u&(o.suspendedLanes|v))!==0?0:u,u!==0&&u!==d.retryLane&&(d.retryLane=u,gn(e,u),Qt(o,e,u,-1))}return Ru(),o=au(Error(s(421))),el(e,t,v,o)}return u.data==="$?"?(t.flags|=128,t.child=e.child,t=u0.bind(null,e),u._reactRetry=t,null):(e=d.treeContext,Ct=Dn(u.nextSibling),_t=t,Ae=!0,$t=null,e!==null&&(Tt[It++]=pn,Tt[It++]=mn,Tt[It++]=xr,pn=e.id,mn=e.overflow,xr=t),t=pu(t,o.children),t.flags|=4096,t)}function dh(e,t,i){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),Wa(e.return,t,i)}function mu(e,t,i,o,u){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:i,tailMode:u}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=o,d.tail=i,d.tailMode=u)}function fh(e,t,i){var o=t.pendingProps,u=o.revealOrder,d=o.tail;if(dt(e,t,o.children,i),o=Be.current,(o&2)!==0)o=o&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&dh(e,i,t);else if(e.tag===19)dh(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(Ie(Be,o),(t.mode&1)===0)t.memoizedState=null;else switch(u){case"forwards":for(i=t.child,u=null;i!==null;)e=i.alternate,e!==null&&Ko(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=t.child,t.child=null):(u=i.sibling,i.sibling=null),mu(t,!1,u,i,d);break;case"backwards":for(i=null,u=t.child,t.child=null;u!==null;){if(e=u.alternate,e!==null&&Ko(e)===null){t.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}mu(t,!0,i,null,d);break;case"together":mu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function tl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function vn(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),_r|=t.lanes,(i&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,i=Qn(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Qn(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function Yy(e,t,i){switch(t.tag){case 3:ah(t),us();break;case 5:Ef(t);break;case 1:mt(t.type)&&Fo(t);break;case 4:qa(t,t.stateNode.containerInfo);break;case 10:var o=t.type._context,u=t.memoizedProps.value;Ie(Vo,o._currentValue),o._currentValue=u;break;case 13:if(o=t.memoizedState,o!==null)return o.dehydrated!==null?(Ie(Be,Be.current&1),t.flags|=128,null):(i&t.child.childLanes)!==0?ch(e,t,i):(Ie(Be,Be.current&1),e=vn(e,t,i),e!==null?e.sibling:null);Ie(Be,Be.current&1);break;case 19:if(o=(i&t.childLanes)!==0,(e.flags&128)!==0){if(o)return fh(e,t,i);t.flags|=128}if(u=t.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),Ie(Be,Be.current),o)break;return null;case 22:case 23:return t.lanes=0,ih(e,t,i)}return vn(e,t,i)}var hh,gu,ph,mh;hh=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},gu=function(){},ph=function(e,t,i,o){var u=e.memoizedProps;if(u!==o){e=t.stateNode,Sr(en.current);var d=null;switch(i){case"input":u=Kr(e,u),o=Kr(e,o),d=[];break;case"select":u=ee({},u,{value:void 0}),o=ee({},o,{value:void 0}),d=[];break;case"textarea":u=qr(e,u),o=qr(e,o),d=[];break;default:typeof u.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=Io)}Zl(i,o);var v;i=null;for(D in u)if(!o.hasOwnProperty(D)&&u.hasOwnProperty(D)&&u[D]!=null)if(D==="style"){var C=u[D];for(v in C)C.hasOwnProperty(v)&&(i||(i={}),i[v]="")}else D!=="dangerouslySetInnerHTML"&&D!=="children"&&D!=="suppressContentEditableWarning"&&D!=="suppressHydrationWarning"&&D!=="autoFocus"&&(a.hasOwnProperty(D)?d||(d=[]):(d=d||[]).push(D,null));for(D in o){var E=o[D];if(C=u!=null?u[D]:void 0,o.hasOwnProperty(D)&&E!==C&&(E!=null||C!=null))if(D==="style")if(C){for(v in C)!C.hasOwnProperty(v)||E&&E.hasOwnProperty(v)||(i||(i={}),i[v]="");for(v in E)E.hasOwnProperty(v)&&C[v]!==E[v]&&(i||(i={}),i[v]=E[v])}else i||(d||(d=[]),d.push(D,i)),i=E;else D==="dangerouslySetInnerHTML"?(E=E?E.__html:void 0,C=C?C.__html:void 0,E!=null&&C!==E&&(d=d||[]).push(D,E)):D==="children"?typeof E!="string"&&typeof E!="number"||(d=d||[]).push(D,""+E):D!=="suppressContentEditableWarning"&&D!=="suppressHydrationWarning"&&(a.hasOwnProperty(D)?(E!=null&&D==="onScroll"&&ze("scroll",e),d||C===E||(d=[])):(d=d||[]).push(D,E))}i&&(d=d||[]).push("style",i);var D=d;(t.updateQueue=D)&&(t.flags|=4)}},mh=function(e,t,i,o){i!==o&&(t.flags|=4)};function Ni(e,t){if(!Ae)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function lt(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,o=0;if(t)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags&14680064,o|=u.flags&14680064,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags,o|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=o,e.childLanes=i,t}function Xy(e,t,i){var o=t.pendingProps;switch(Oa(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return lt(t),null;case 1:return mt(t.type)&&zo(),lt(t),null;case 3:return o=t.stateNode,hs(),Fe(pt),Fe(it),Ya(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(Bo(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,$t!==null&&(ju($t),$t=null))),gu(e,t),lt(t),null;case 5:Ga(t);var u=Sr(_i.current);if(i=t.type,e!==null&&t.stateNode!=null)ph(e,t,i,o,u),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(t.stateNode===null)throw Error(s(166));return lt(t),null}if(e=Sr(en.current),Bo(t)){o=t.stateNode,i=t.type;var d=t.memoizedProps;switch(o[Jt]=t,o[xi]=d,e=(t.mode&1)!==0,i){case"dialog":ze("cancel",o),ze("close",o);break;case"iframe":case"object":case"embed":ze("load",o);break;case"video":case"audio":for(u=0;u<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=v.createElement(i,{is:o.is}):(e=v.createElement(i),i==="select"&&(v=e,o.multiple?v.multiple=!0:o.size&&(v.size=o.size))):e=v.createElementNS(e,i),e[Jt]=t,e[xi]=o,hh(e,t,!1,!1),t.stateNode=e;e:{switch(v=Yl(i,o),i){case"dialog":ze("cancel",e),ze("close",e),u=o;break;case"iframe":case"object":case"embed":ze("load",e),u=o;break;case"video":case"audio":for(u=0;uys&&(t.flags|=128,o=!0,Ni(d,!1),t.lanes=4194304)}else{if(!o)if(e=Ko(v),e!==null){if(t.flags|=128,o=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),Ni(d,!0),d.tail===null&&d.tailMode==="hidden"&&!v.alternate&&!Ae)return lt(t),null}else 2*We()-d.renderingStartTime>ys&&i!==1073741824&&(t.flags|=128,o=!0,Ni(d,!1),t.lanes=4194304);d.isBackwards?(v.sibling=t.child,t.child=v):(i=d.last,i!==null?i.sibling=v:t.child=v,d.last=v)}return d.tail!==null?(t=d.tail,d.rendering=t,d.tail=t.sibling,d.renderingStartTime=We(),t.sibling=null,i=Be.current,Ie(Be,o?i&1|2:i&1),t):(lt(t),null);case 22:case 23:return Nu(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(Et&1073741824)!==0&&(lt(t),t.subtreeFlags&6&&(t.flags|=8192)):lt(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function Jy(e,t){switch(Oa(t),t.tag){case 1:return mt(t.type)&&zo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return hs(),Fe(pt),Fe(it),Ya(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Ga(t),null;case 13:if(Fe(Be),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));us()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fe(Be),null;case 4:return hs(),null;case 10:return Ha(t.type._context),null;case 22:case 23:return Nu(),null;case 24:return null;default:return null}}var nl=!1,at=!1,e0=typeof WeakSet=="function"?WeakSet:Set,se=null;function ms(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(o){Ve(e,t,o)}else i.current=null}function yu(e,t,i){try{i()}catch(o){Ve(e,t,o)}}var gh=!1;function t0(e,t){if(Na=So,e=Kd(),ka(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var u=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{i.nodeType,d.nodeType}catch{i=null;break e}var v=0,C=-1,E=-1,D=0,$=0,K=e,B=null;t:for(;;){for(var ne;K!==i||u!==0&&K.nodeType!==3||(C=v+u),K!==d||o!==0&&K.nodeType!==3||(E=v+o),K.nodeType===3&&(v+=K.nodeValue.length),(ne=K.firstChild)!==null;)B=K,K=ne;for(;;){if(K===e)break t;if(B===i&&++D===u&&(C=v),B===d&&++$===o&&(E=v),(ne=K.nextSibling)!==null)break;K=B,B=K.parentNode}K=ne}i=C===-1||E===-1?null:{start:C,end:E}}else i=null}i=i||{start:0,end:0}}else i=null;for(Ra={focusedElem:e,selectionRange:i},So=!1,se=t;se!==null;)if(t=se,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,se=e;else for(;se!==null;){t=se;try{var ie=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(ie!==null){var oe=ie.memoizedProps,Qe=ie.memoizedState,T=t.stateNode,N=T.getSnapshotBeforeUpdate(t.elementType===t.type?oe:Vt(t.type,oe),Qe);T.__reactInternalSnapshotBeforeUpdate=N}break;case 3:var I=t.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(G){Ve(t,t.return,G)}if(e=t.sibling,e!==null){e.return=t.return,se=e;break}se=t.return}return ie=gh,gh=!1,ie}function Ri(e,t,i){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var u=o=o.next;do{if((u.tag&e)===e){var d=u.destroy;u.destroy=void 0,d!==void 0&&yu(t,i,d)}u=u.next}while(u!==o)}}function rl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var o=i.create;i.destroy=o()}i=i.next}while(i!==t)}}function vu(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function yh(e){var t=e.alternate;t!==null&&(e.alternate=null,yh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Jt],delete t[xi],delete t[Ia],delete t[Fy],delete t[Oy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function vh(e){return e.tag===5||e.tag===3||e.tag===4}function xh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function xu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Io));else if(o!==4&&(e=e.child,e!==null))for(xu(e,t,i),e=e.sibling;e!==null;)xu(e,t,i),e=e.sibling}function wu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(wu(e,t,i),e=e.sibling;e!==null;)wu(e,t,i),e=e.sibling}var nt=null,Ht=!1;function Bn(e,t,i){for(i=i.child;i!==null;)wh(e,t,i),i=i.sibling}function wh(e,t,i){if(Xt&&typeof Xt.onCommitFiberUnmount=="function")try{Xt.onCommitFiberUnmount(go,i)}catch{}switch(i.tag){case 5:at||ms(i,t);case 6:var o=nt,u=Ht;nt=null,Bn(e,t,i),nt=o,Ht=u,nt!==null&&(Ht?(e=nt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):nt.removeChild(i.stateNode));break;case 18:nt!==null&&(Ht?(e=nt,i=i.stateNode,e.nodeType===8?Ta(e.parentNode,i):e.nodeType===1&&Ta(e,i),ai(e)):Ta(nt,i.stateNode));break;case 4:o=nt,u=Ht,nt=i.stateNode.containerInfo,Ht=!0,Bn(e,t,i),nt=o,Ht=u;break;case 0:case 11:case 14:case 15:if(!at&&(o=i.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){u=o=o.next;do{var d=u,v=d.destroy;d=d.tag,v!==void 0&&((d&2)!==0||(d&4)!==0)&&yu(i,t,v),u=u.next}while(u!==o)}Bn(e,t,i);break;case 1:if(!at&&(ms(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=i.memoizedProps,o.state=i.memoizedState,o.componentWillUnmount()}catch(C){Ve(i,t,C)}Bn(e,t,i);break;case 21:Bn(e,t,i);break;case 22:i.mode&1?(at=(o=at)||i.memoizedState!==null,Bn(e,t,i),at=o):Bn(e,t,i);break;default:Bn(e,t,i)}}function kh(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new e0),t.forEach(function(o){var u=c0.bind(null,e,o);i.has(o)||(i.add(o),o.then(u,u))})}}function Wt(e,t){var i=t.deletions;if(i!==null)for(var o=0;ou&&(u=v),o&=~d}if(o=u,o=We()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*r0(o/1960))-o,10e?16:e,Vn===null)var o=!1;else{if(e=Vn,Vn=null,al=0,(_e&6)!==0)throw Error(s(331));var u=_e;for(_e|=4,se=e.current;se!==null;){var d=se,v=d.child;if((se.flags&16)!==0){var C=d.deletions;if(C!==null){for(var E=0;EWe()-bu?Er(e,0):Su|=i),vt(e,t)}function Ih(e,t){t===0&&((e.mode&1)===0?t=1:(t=vo,vo<<=1,(vo&130023424)===0&&(vo=4194304)));var i=ft();e=gn(e,t),e!==null&&(ri(e,t,i),vt(e,i))}function u0(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Ih(e,i)}function c0(e,t){var i=0;switch(e.tag){case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(s(314))}o!==null&&o.delete(t),Ih(e,i)}var Dh;Dh=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||pt.current)gt=!0;else{if((e.lanes&i)===0&&(t.flags&128)===0)return gt=!1,Yy(e,t,i);gt=(e.flags&131072)!==0}else gt=!1,Ae&&(t.flags&1048576)!==0&&pf(t,Uo,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;tl(e,t),e=t.pendingProps;var u=os(t,it.current);fs(t,i),u=eu(null,t,o,e,u,i);var d=tu();return t.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,mt(o)?(d=!0,Fo(t)):d=!1,t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ka(t),u.updater=Jo,t.stateNode=u,u._reactInternals=t,lu(t,o,e,i),t=du(null,t,o,!0,d,i)):(t.tag=0,Ae&&d&&Fa(t),dt(null,t,u,i),t=t.child),t;case 16:o=t.elementType;e:{switch(tl(e,t),e=t.pendingProps,u=o._init,o=u(o._payload),t.type=o,u=t.tag=f0(o),e=Vt(o,e),u){case 0:t=cu(null,t,o,e,i);break e;case 1:t=lh(null,t,o,e,i);break e;case 11:t=nh(null,t,o,e,i);break e;case 14:t=rh(null,t,o,Vt(o.type,e),i);break e}throw Error(s(306,o,""))}return t;case 0:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),cu(e,t,o,u,i);case 1:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),lh(e,t,o,u,i);case 3:e:{if(ah(t),e===null)throw Error(s(387));o=t.pendingProps,d=t.memoizedState,u=d.element,bf(e,t),Qo(t,o,null,i);var v=t.memoizedState;if(o=v.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){u=ps(Error(s(423)),t),t=uh(e,t,o,i,u);break e}else if(o!==u){u=ps(Error(s(424)),t),t=uh(e,t,o,i,u);break e}else for(Ct=Dn(t.stateNode.containerInfo.firstChild),_t=t,Ae=!0,$t=null,i=kf(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(us(),o===u){t=vn(e,t,i);break e}dt(e,t,o,i)}t=t.child}return t;case 5:return Ef(t),e===null&&Ua(t),o=t.type,u=t.pendingProps,d=e!==null?e.memoizedProps:null,v=u.children,La(o,u)?v=null:d!==null&&La(o,d)&&(t.flags|=32),oh(e,t),dt(e,t,v,i),t.child;case 6:return e===null&&Ua(t),null;case 13:return ch(e,t,i);case 4:return qa(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=cs(t,null,o,i):dt(e,t,o,i),t.child;case 11:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),nh(e,t,o,u,i);case 7:return dt(e,t,t.pendingProps,i),t.child;case 8:return dt(e,t,t.pendingProps.children,i),t.child;case 12:return dt(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(o=t.type._context,u=t.pendingProps,d=t.memoizedProps,v=u.value,Ie(Vo,o._currentValue),o._currentValue=v,d!==null)if(Bt(d.value,v)){if(d.children===u.children&&!pt.current){t=vn(e,t,i);break e}}else for(d=t.child,d!==null&&(d.return=t);d!==null;){var C=d.dependencies;if(C!==null){v=d.child;for(var E=C.firstContext;E!==null;){if(E.context===o){if(d.tag===1){E=yn(-1,i&-i),E.tag=2;var D=d.updateQueue;if(D!==null){D=D.shared;var $=D.pending;$===null?E.next=E:(E.next=$.next,$.next=E),D.pending=E}}d.lanes|=i,E=d.alternate,E!==null&&(E.lanes|=i),Wa(d.return,i,t),C.lanes|=i;break}E=E.next}}else if(d.tag===10)v=d.type===t.type?null:d.child;else if(d.tag===18){if(v=d.return,v===null)throw Error(s(341));v.lanes|=i,C=v.alternate,C!==null&&(C.lanes|=i),Wa(v,i,t),v=d.sibling}else v=d.child;if(v!==null)v.return=d;else for(v=d;v!==null;){if(v===t){v=null;break}if(d=v.sibling,d!==null){d.return=v.return,v=d;break}v=v.return}d=v}dt(e,t,u.children,i),t=t.child}return t;case 9:return u=t.type,o=t.pendingProps.children,fs(t,i),u=Dt(u),o=o(u),t.flags|=1,dt(e,t,o,i),t.child;case 14:return o=t.type,u=Vt(o,t.pendingProps),u=Vt(o.type,u),rh(e,t,o,u,i);case 15:return sh(e,t,t.type,t.pendingProps,i);case 17:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:Vt(o,u),tl(e,t),t.tag=1,mt(o)?(e=!0,Fo(t)):e=!1,fs(t,i),Gf(t,o,u),lu(t,o,u,i),du(null,t,o,!0,e,i);case 19:return fh(e,t,i);case 22:return ih(e,t,i)}throw Error(s(156,t.tag))};function zh(e,t){return pd(e,t)}function d0(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ot(e,t,i,o){return new d0(e,t,i,o)}function Lu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function f0(e){if(typeof e=="function")return Lu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Z)return 11;if(e===te)return 14}return 2}function Qn(e,t){var i=e.alternate;return i===null?(i=Ot(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function fl(e,t,i,o,u,d){var v=2;if(o=e,typeof e=="function")Lu(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case q:return Pr(i.children,u,d,t);case V:v=8,u|=8;break;case O:return e=Ot(12,i,t,u|2),e.elementType=O,e.lanes=d,e;case ae:return e=Ot(13,i,t,u),e.elementType=ae,e.lanes=d,e;case H:return e=Ot(19,i,t,u),e.elementType=H,e.lanes=d,e;case he:return hl(i,u,d,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Q:v=10;break e;case X:v=9;break e;case Z:v=11;break e;case te:v=14;break e;case ye:v=16,o=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=Ot(v,i,t,u),t.elementType=e,t.type=o,t.lanes=d,t}function Pr(e,t,i,o){return e=Ot(7,e,o,t),e.lanes=i,e}function hl(e,t,i,o){return e=Ot(22,e,o,t),e.elementType=he,e.lanes=i,e.stateNode={isHidden:!1},e}function Mu(e,t,i){return e=Ot(6,e,null,t),e.lanes=i,e}function Tu(e,t,i){return t=Ot(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function h0(e,t,i,o,u){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=oa(0),this.expirationTimes=oa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=oa(0),this.identifierPrefix=o,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function Iu(e,t,i,o,u,d,v,C,E){return e=new h0(e,t,i,C,E),t===1?(t=1,d===!0&&(t|=8)):t=0,d=Ot(3,null,null,t),e.current=d,d.stateNode=e,d.memoizedState={element:o,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ka(d),e}function p0(e,t,i){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Bu.exports=P0(),Bu.exports}var Yh;function R0(){if(Yh)return Sl;Yh=1;var n=N0();return Sl.createRoot=n.createRoot,Sl.hydrateRoot=n.hydrateRoot,Sl}var L0=R0();const M0=sm(L0);var ao=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Mr,Xn,Ns,qp,T0=(qp=class extends ao{constructor(){super();de(this,Mr);de(this,Xn);de(this,Ns);re(this,Ns,r=>{if(typeof window<"u"&&window.addEventListener){const s=()=>r();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){j(this,Xn)||this.setEventListener(j(this,Ns))}onUnsubscribe(){var r;this.hasListeners()||((r=j(this,Xn))==null||r.call(this),re(this,Xn,void 0))}setEventListener(r){var s;re(this,Ns,r),(s=j(this,Xn))==null||s.call(this),re(this,Xn,r(l=>{typeof l=="boolean"?this.setFocused(l):this.onFocus()}))}setFocused(r){j(this,Mr)!==r&&(re(this,Mr,r),this.onFocus())}onFocus(){const r=this.isFocused();this.listeners.forEach(s=>{s(r)})}isFocused(){var r;return typeof j(this,Mr)=="boolean"?j(this,Mr):((r=globalThis.document)==null?void 0:r.visibilityState)!=="hidden"}},Mr=new WeakMap,Xn=new WeakMap,Ns=new WeakMap,qp),Lc=new T0,I0={setTimeout:(n,r)=>setTimeout(n,r),clearTimeout:n=>clearTimeout(n),setInterval:(n,r)=>setInterval(n,r),clearInterval:n=>clearInterval(n)},Jn,Rc,Gp,D0=(Gp=class{constructor(){de(this,Jn,I0);de(this,Rc,!1)}setTimeoutProvider(n){re(this,Jn,n)}setTimeout(n,r){return j(this,Jn).setTimeout(n,r)}clearTimeout(n){j(this,Jn).clearTimeout(n)}setInterval(n,r){return j(this,Jn).setInterval(n,r)}clearInterval(n){j(this,Jn).clearInterval(n)}},Jn=new WeakMap,Rc=new WeakMap,Gp),Rr=new D0;function z0(n){setTimeout(n,0)}var F0=typeof window>"u"||"Deno"in globalThis;function kt(){}function O0(n,r){return typeof n=="function"?n(r):n}function rc(n){return typeof n=="number"&&n>=0&&n!==1/0}function im(n,r){return Math.max(n+(r||0)-Date.now(),0)}function lr(n,r){return typeof n=="function"?n(r):n}function Pt(n,r){return typeof n=="function"?n(r):n}function Xh(n,r){const{type:s="all",exact:l,fetchStatus:a,predicate:c,queryKey:h,stale:f}=n;if(h){if(l){if(r.queryHash!==Mc(h,r.options))return!1}else if(!Gi(r.queryKey,h))return!1}if(s!=="all"){const p=r.isActive();if(s==="active"&&!p||s==="inactive"&&p)return!1}return!(typeof f=="boolean"&&r.isStale()!==f||a&&a!==r.state.fetchStatus||c&&!c(r))}function Jh(n,r){const{exact:s,status:l,predicate:a,mutationKey:c}=n;if(c){if(!r.options.mutationKey)return!1;if(s){if(qi(r.options.mutationKey)!==qi(c))return!1}else if(!Gi(r.options.mutationKey,c))return!1}return!(l&&r.state.status!==l||a&&!a(r))}function Mc(n,r){return((r==null?void 0:r.queryKeyHashFn)||qi)(n)}function qi(n){return JSON.stringify(n,(r,s)=>ic(s)?Object.keys(s).sort().reduce((l,a)=>(l[a]=s[a],l),{}):s)}function Gi(n,r){return n===r?!0:typeof n!=typeof r?!1:n&&r&&typeof n=="object"&&typeof r=="object"?Object.keys(r).every(s=>Gi(n[s],r[s])):!1}var A0=Object.prototype.hasOwnProperty;function om(n,r,s=0){if(n===r)return n;if(s>500)return r;const l=ep(n)&&ep(r);if(!l&&!(ic(n)&&ic(r)))return r;const c=(l?n:Object.keys(n)).length,h=l?r:Object.keys(r),f=h.length,p=l?new Array(f):{};let g=0;for(let w=0;w{Rr.setTimeout(r,n)})}function oc(n,r,s){return typeof s.structuralSharing=="function"?s.structuralSharing(n,r):s.structuralSharing!==!1?om(n,r):r}function B0(n,r,s=0){const l=[...n,r];return s&&l.length>s?l.slice(1):l}function $0(n,r,s=0){const l=[r,...n];return s&&l.length>s?l.slice(0,-1):l}var Tc=Symbol();function lm(n,r){return!n.queryFn&&(r!=null&&r.initialPromise)?()=>r.initialPromise:!n.queryFn||n.queryFn===Tc?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function am(n,r){return typeof n=="function"?n(...r):!!n}function V0(n,r,s){let l=!1,a;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(a??(a=r()),l||(l=!0,a.aborted?s():a.addEventListener("abort",s,{once:!0})),a)}),n}var Zi=(()=>{let n=()=>F0;return{isServer(){return n()},setIsServer(r){n=r}}})();function lc(){let n,r;const s=new Promise((a,c)=>{n=a,r=c});s.status="pending",s.catch(()=>{});function l(a){Object.assign(s,a),delete s.resolve,delete s.reject}return s.resolve=a=>{l({status:"fulfilled",value:a}),n(a)},s.reject=a=>{l({status:"rejected",reason:a}),r(a)},s}var H0=z0;function W0(){let n=[],r=0,s=f=>{f()},l=f=>{f()},a=H0;const c=f=>{r?n.push(f):a(()=>{s(f)})},h=()=>{const f=n;n=[],f.length&&a(()=>{l(()=>{f.forEach(p=>{s(p)})})})};return{batch:f=>{let p;r++;try{p=f()}finally{r--,r||h()}return p},batchCalls:f=>(...p)=>{c(()=>{f(...p)})},schedule:c,setNotifyFunction:f=>{s=f},setBatchNotifyFunction:f=>{l=f},setScheduler:f=>{a=f}}}var st=W0(),Rs,er,Ls,Zp,Q0=(Zp=class extends ao{constructor(){super();de(this,Rs,!0);de(this,er);de(this,Ls);re(this,Ls,r=>{if(typeof window<"u"&&window.addEventListener){const s=()=>r(!0),l=()=>r(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",l,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",l)}}})}onSubscribe(){j(this,er)||this.setEventListener(j(this,Ls))}onUnsubscribe(){var r;this.hasListeners()||((r=j(this,er))==null||r.call(this),re(this,er,void 0))}setEventListener(r){var s;re(this,Ls,r),(s=j(this,er))==null||s.call(this),re(this,er,r(this.setOnline.bind(this)))}setOnline(r){j(this,Rs)!==r&&(re(this,Rs,r),this.listeners.forEach(l=>{l(r)}))}isOnline(){return j(this,Rs)}},Rs=new WeakMap,er=new WeakMap,Ls=new WeakMap,Zp),Il=new Q0;function K0(n){return Math.min(1e3*2**n,3e4)}function um(n){return(n??"online")==="online"?Il.isOnline():!0}var ac=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function cm(n){let r=!1,s=0,l;const a=lc(),c=()=>a.status!=="pending",h=b=>{var _;if(!c()){const R=new ac(b);x(R),(_=n.onCancel)==null||_.call(n,R)}},f=()=>{r=!0},p=()=>{r=!1},g=()=>Lc.isFocused()&&(n.networkMode==="always"||Il.isOnline())&&n.canRun(),w=()=>um(n.networkMode)&&n.canRun(),y=b=>{c()||(l==null||l(),a.resolve(b))},x=b=>{c()||(l==null||l(),a.reject(b))},k=()=>new Promise(b=>{var _;l=R=>{(c()||g())&&b(R)},(_=n.onPause)==null||_.call(n)}).then(()=>{var b;l=void 0,c()||(b=n.onContinue)==null||b.call(n)}),S=()=>{if(c())return;let b;const _=s===0?n.initialPromise:void 0;try{b=_??n.fn()}catch(R){b=Promise.reject(R)}Promise.resolve(b).then(y).catch(R=>{var F;if(c())return;const L=n.retry??(Zi.isServer()?0:3),z=n.retryDelay??K0,M=typeof z=="function"?z(s,R):z,A=L===!0||typeof L=="number"&&sg()?void 0:k()).then(()=>{r?x(R):S()})})};return{promise:a,status:()=>a.status,cancel:h,continue:()=>(l==null||l(),a),cancelRetry:f,continueRetry:p,canStart:w,start:()=>(w()?S():k().then(S),a)}}var Tr,Yp,dm=(Yp=class{constructor(){de(this,Tr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rc(this.gcTime)&&re(this,Tr,Rr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(Zi.isServer()?1/0:300*1e3))}clearGcTimeout(){j(this,Tr)!==void 0&&(Rr.clearTimeout(j(this,Tr)),re(this,Tr,void 0))}},Tr=new WeakMap,Yp);function q0(n){return{onFetch:(r,s)=>{var w,y,x,k,S;const l=r.options,a=(x=(y=(w=r.fetchOptions)==null?void 0:w.meta)==null?void 0:y.fetchMore)==null?void 0:x.direction,c=((k=r.state.data)==null?void 0:k.pages)||[],h=((S=r.state.data)==null?void 0:S.pageParams)||[];let f={pages:[],pageParams:[]},p=0;const g=async()=>{let b=!1;const _=z=>{V0(z,()=>r.signal,()=>b=!0)},R=lm(r.options,r.fetchOptions),L=async(z,M,A)=>{if(b)return Promise.reject(r.signal.reason);if(M==null&&z.pages.length)return Promise.resolve(z);const q=(()=>{const X={client:r.client,queryKey:r.queryKey,pageParam:M,direction:A?"backward":"forward",meta:r.options.meta};return _(X),X})(),V=await R(q),{maxPages:O}=r.options,Q=A?$0:B0;return{pages:Q(z.pages,V,O),pageParams:Q(z.pageParams,M,O)}};if(a&&c.length){const z=a==="backward",M=z?G0:np,A={pages:c,pageParams:h},F=M(l,A);f=await L(A,F,z)}else{const z=n??c.length;do{const M=p===0?h[0]??l.initialPageParam:np(l,f);if(p>0&&M==null)break;f=await L(f,M),p++}while(p{var b,_;return(_=(b=r.options).persister)==null?void 0:_.call(b,g,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},s)}:r.fetchFn=g}}}function np(n,{pages:r,pageParams:s}){const l=r.length-1;return r.length>0?n.getNextPageParam(r[l],r,s[l],s):void 0}function G0(n,{pages:r,pageParams:s}){var l;return r.length>0?(l=n.getPreviousPageParam)==null?void 0:l.call(n,r[0],r,s[0],s):void 0}var Ms,Ir,Ts,At,Dr,et,no,zr,jt,fm,kn,Xp,Z0=(Xp=class extends dm{constructor(r){super();de(this,jt);de(this,Ms);de(this,Ir);de(this,Ts);de(this,At);de(this,Dr);de(this,et);de(this,no);de(this,zr);re(this,zr,!1),re(this,no,r.defaultOptions),this.setOptions(r.options),this.observers=[],re(this,Dr,r.client),re(this,At,j(this,Dr).getQueryCache()),this.queryKey=r.queryKey,this.queryHash=r.queryHash,re(this,Ir,sp(this.options)),this.state=r.state??j(this,Ir),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return j(this,Ms)}get promise(){var r;return(r=j(this,et))==null?void 0:r.promise}setOptions(r){if(this.options={...j(this,no),...r},r!=null&&r._type&&re(this,Ms,r._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=sp(this.options);s.data!==void 0&&(this.setState(rp(s.data,s.dataUpdatedAt)),re(this,Ir,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&j(this,At).remove(this)}setData(r,s){const l=oc(this.state.data,r,this.options);return we(this,jt,kn).call(this,{data:l,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),l}setState(r){we(this,jt,kn).call(this,{type:"setState",state:r})}cancel(r){var l,a;const s=(l=j(this,et))==null?void 0:l.promise;return(a=j(this,et))==null||a.cancel(r),s?s.then(kt).catch(kt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return j(this,Ir)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(r=>Pt(r.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Tc||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(r=>lr(r.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(r=>r.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(r=0){return this.state.data===void 0?!0:r==="static"?!1:this.state.isInvalidated?!0:!im(this.state.dataUpdatedAt,r)}onFocus(){var s;const r=this.observers.find(l=>l.shouldFetchOnWindowFocus());r==null||r.refetch({cancelRefetch:!1}),(s=j(this,et))==null||s.continue()}onOnline(){var s;const r=this.observers.find(l=>l.shouldFetchOnReconnect());r==null||r.refetch({cancelRefetch:!1}),(s=j(this,et))==null||s.continue()}addObserver(r){this.observers.includes(r)||(this.observers.push(r),this.clearGcTimeout(),j(this,At).notify({type:"observerAdded",query:this,observer:r}))}removeObserver(r){this.observers.includes(r)&&(this.observers=this.observers.filter(s=>s!==r),this.observers.length||(j(this,et)&&(j(this,zr)||we(this,jt,fm).call(this)?j(this,et).cancel({revert:!0}):j(this,et).cancelRetry()),this.scheduleGc()),j(this,At).notify({type:"observerRemoved",query:this,observer:r}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||we(this,jt,kn).call(this,{type:"invalidate"})}async fetch(r,s){var g,w,y,x,k,S,b,_,R,L,z;if(this.state.fetchStatus!=="idle"&&((g=j(this,et))==null?void 0:g.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(j(this,et))return j(this,et).continueRetry(),j(this,et).promise}if(r&&this.setOptions(r),!this.options.queryFn){const M=this.observers.find(A=>A.options.queryFn);M&&this.setOptions(M.options)}const l=new AbortController,a=M=>{Object.defineProperty(M,"signal",{enumerable:!0,get:()=>(re(this,zr,!0),l.signal)})},c=()=>{const M=lm(this.options,s),F=(()=>{const q={client:j(this,Dr),queryKey:this.queryKey,meta:this.meta};return a(q),q})();return re(this,zr,!1),this.options.persister?this.options.persister(M,F,this):M(F)},f=(()=>{const M={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:j(this,Dr),state:this.state,fetchFn:c};return a(M),M})(),p=j(this,Ms)==="infinite"?q0(this.options.pages):this.options.behavior;p==null||p.onFetch(f,this),re(this,Ts,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((w=f.fetchOptions)==null?void 0:w.meta))&&we(this,jt,kn).call(this,{type:"fetch",meta:(y=f.fetchOptions)==null?void 0:y.meta}),re(this,et,cm({initialPromise:s==null?void 0:s.initialPromise,fn:f.fetchFn,onCancel:M=>{M instanceof ac&&M.revert&&this.setState({...j(this,Ts),fetchStatus:"idle"}),l.abort()},onFail:(M,A)=>{we(this,jt,kn).call(this,{type:"failed",failureCount:M,error:A})},onPause:()=>{we(this,jt,kn).call(this,{type:"pause"})},onContinue:()=>{we(this,jt,kn).call(this,{type:"continue"})},retry:f.options.retry,retryDelay:f.options.retryDelay,networkMode:f.options.networkMode,canRun:()=>!0}));try{const M=await j(this,et).start();if(M===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(M),(k=(x=j(this,At).config).onSuccess)==null||k.call(x,M,this),(b=(S=j(this,At).config).onSettled)==null||b.call(S,M,this.state.error,this),M}catch(M){if(M instanceof ac){if(M.silent)return j(this,et).promise;if(M.revert){if(this.state.data===void 0)throw M;return this.state.data}}throw we(this,jt,kn).call(this,{type:"error",error:M}),(R=(_=j(this,At).config).onError)==null||R.call(_,M,this),(z=(L=j(this,At).config).onSettled)==null||z.call(L,this.state.data,M,this),M}finally{this.scheduleGc()}}},Ms=new WeakMap,Ir=new WeakMap,Ts=new WeakMap,At=new WeakMap,Dr=new WeakMap,et=new WeakMap,no=new WeakMap,zr=new WeakMap,jt=new WeakSet,fm=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},kn=function(r){const s=l=>{switch(r.type){case"failed":return{...l,fetchFailureCount:r.failureCount,fetchFailureReason:r.error};case"pause":return{...l,fetchStatus:"paused"};case"continue":return{...l,fetchStatus:"fetching"};case"fetch":return{...l,...hm(l.data,this.options),fetchMeta:r.meta??null};case"success":const a={...l,...rp(r.data,r.dataUpdatedAt),dataUpdateCount:l.dataUpdateCount+1,...!r.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return re(this,Ts,r.manual?a:void 0),a;case"error":const c=r.error;return{...l,error:c,errorUpdateCount:l.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:l.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...l,isInvalidated:!0};case"setState":return{...l,...r.state}}};this.state=s(this.state),st.batch(()=>{this.observers.forEach(l=>{l.onQueryUpdate()}),j(this,At).notify({query:this,type:"updated",action:r})})},Xp);function hm(n,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:um(r.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function rp(n,r){return{data:n,dataUpdatedAt:r??Date.now(),error:null,isInvalidated:!1,status:"success"}}function sp(n){const r=typeof n.initialData=="function"?n.initialData():n.initialData,s=r!==void 0,l=s?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:s?l??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var wt,be,ro,ht,Fr,Is,Sn,tr,so,Ds,zs,Or,Ar,nr,Fs,je,$i,uc,cc,dc,fc,hc,pc,mc,pm,Jp,Y0=(Jp=class extends ao{constructor(r,s){super();de(this,je);de(this,wt);de(this,be);de(this,ro);de(this,ht);de(this,Fr);de(this,Is);de(this,Sn);de(this,tr);de(this,so);de(this,Ds);de(this,zs);de(this,Or);de(this,Ar);de(this,nr);de(this,Fs,new Set);this.options=s,re(this,wt,r),re(this,tr,null),re(this,Sn,lc()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(j(this,be).addObserver(this),ip(j(this,be),this.options)?we(this,je,$i).call(this):this.updateResult(),we(this,je,fc).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gc(j(this,be),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gc(j(this,be),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,we(this,je,hc).call(this),we(this,je,pc).call(this),j(this,be).removeObserver(this)}setOptions(r){const s=this.options,l=j(this,be);if(this.options=j(this,wt).defaultQueryOptions(r),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Pt(this.options.enabled,j(this,be))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");we(this,je,mc).call(this),j(this,be).setOptions(this.options),s._defaulted&&!sc(this.options,s)&&j(this,wt).getQueryCache().notify({type:"observerOptionsUpdated",query:j(this,be),observer:this});const a=this.hasListeners();a&&op(j(this,be),l,this.options,s)&&we(this,je,$i).call(this),this.updateResult(),a&&(j(this,be)!==l||Pt(this.options.enabled,j(this,be))!==Pt(s.enabled,j(this,be))||lr(this.options.staleTime,j(this,be))!==lr(s.staleTime,j(this,be)))&&we(this,je,uc).call(this);const c=we(this,je,cc).call(this);a&&(j(this,be)!==l||Pt(this.options.enabled,j(this,be))!==Pt(s.enabled,j(this,be))||c!==j(this,nr))&&we(this,je,dc).call(this,c)}getOptimisticResult(r){const s=j(this,wt).getQueryCache().build(j(this,wt),r),l=this.createResult(s,r);return J0(this,l)&&(re(this,ht,l),re(this,Is,this.options),re(this,Fr,j(this,be).state)),l}getCurrentResult(){return j(this,ht)}trackResult(r,s){return new Proxy(r,{get:(l,a)=>(this.trackProp(a),s==null||s(a),a==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&j(this,Sn).status==="pending"&&j(this,Sn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(l,a))})}trackProp(r){j(this,Fs).add(r)}getCurrentQuery(){return j(this,be)}refetch({...r}={}){return this.fetch({...r})}fetchOptimistic(r){const s=j(this,wt).defaultQueryOptions(r),l=j(this,wt).getQueryCache().build(j(this,wt),s);return l.fetch().then(()=>this.createResult(l,s))}fetch(r){return we(this,je,$i).call(this,{...r,cancelRefetch:r.cancelRefetch??!0}).then(()=>(this.updateResult(),j(this,ht)))}createResult(r,s){var O;const l=j(this,be),a=this.options,c=j(this,ht),h=j(this,Fr),f=j(this,Is),g=r!==l?r.state:j(this,ro),{state:w}=r;let y={...w},x=!1,k;if(s._optimisticResults){const Q=this.hasListeners(),X=!Q&&ip(r,s),Z=Q&&op(r,l,s,a);(X||Z)&&(y={...y,...hm(w.data,r.options)}),s._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:S,errorUpdatedAt:b,status:_}=y;k=y.data;let R=!1;if(s.placeholderData!==void 0&&k===void 0&&_==="pending"){let Q;c!=null&&c.isPlaceholderData&&s.placeholderData===(f==null?void 0:f.placeholderData)?(Q=c.data,R=!0):Q=typeof s.placeholderData=="function"?s.placeholderData((O=j(this,zs))==null?void 0:O.state.data,j(this,zs)):s.placeholderData,Q!==void 0&&(_="success",k=oc(c==null?void 0:c.data,Q,s),x=!0)}if(s.select&&k!==void 0&&!R)if(c&&k===(h==null?void 0:h.data)&&s.select===j(this,so))k=j(this,Ds);else try{re(this,so,s.select),k=s.select(k),k=oc(c==null?void 0:c.data,k,s),re(this,Ds,k),re(this,tr,null)}catch(Q){re(this,tr,Q)}j(this,tr)&&(S=j(this,tr),k=j(this,Ds),b=Date.now(),_="error");const L=y.fetchStatus==="fetching",z=_==="pending",M=_==="error",A=z&&L,F=k!==void 0,V={status:_,fetchStatus:y.fetchStatus,isPending:z,isSuccess:_==="success",isError:M,isInitialLoading:A,isLoading:A,data:k,dataUpdatedAt:y.dataUpdatedAt,error:S,errorUpdatedAt:b,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:r.isFetched(),isFetchedAfterMount:y.dataUpdateCount>g.dataUpdateCount||y.errorUpdateCount>g.errorUpdateCount,isFetching:L,isRefetching:L&&!z,isLoadingError:M&&!F,isPaused:y.fetchStatus==="paused",isPlaceholderData:x,isRefetchError:M&&F,isStale:Ic(r,s),refetch:this.refetch,promise:j(this,Sn),isEnabled:Pt(s.enabled,r)!==!1};if(this.options.experimental_prefetchInRender){const Q=V.data!==void 0,X=V.status==="error"&&!Q,Z=te=>{X?te.reject(V.error):Q&&te.resolve(V.data)},ae=()=>{const te=re(this,Sn,V.promise=lc());Z(te)},H=j(this,Sn);switch(H.status){case"pending":r.queryHash===l.queryHash&&Z(H);break;case"fulfilled":(X||V.data!==H.value)&&ae();break;case"rejected":(!X||V.error!==H.reason)&&ae();break}}return V}updateResult(){const r=j(this,ht),s=this.createResult(j(this,be),this.options);if(re(this,Fr,j(this,be).state),re(this,Is,this.options),j(this,Fr).data!==void 0&&re(this,zs,j(this,be)),sc(s,r))return;re(this,ht,s);const l=()=>{if(!r)return!0;const{notifyOnChangeProps:a}=this.options,c=typeof a=="function"?a():a;if(c==="all"||!c&&!j(this,Fs).size)return!0;const h=new Set(c??j(this,Fs));return this.options.throwOnError&&h.add("error"),Object.keys(j(this,ht)).some(f=>{const p=f;return j(this,ht)[p]!==r[p]&&h.has(p)})};we(this,je,pm).call(this,{listeners:l()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&we(this,je,fc).call(this)}},wt=new WeakMap,be=new WeakMap,ro=new WeakMap,ht=new WeakMap,Fr=new WeakMap,Is=new WeakMap,Sn=new WeakMap,tr=new WeakMap,so=new WeakMap,Ds=new WeakMap,zs=new WeakMap,Or=new WeakMap,Ar=new WeakMap,nr=new WeakMap,Fs=new WeakMap,je=new WeakSet,$i=function(r){we(this,je,mc).call(this);let s=j(this,be).fetch(this.options,r);return r!=null&&r.throwOnError||(s=s.catch(kt)),s},uc=function(){we(this,je,hc).call(this);const r=lr(this.options.staleTime,j(this,be));if(Zi.isServer()||j(this,ht).isStale||!rc(r))return;const l=im(j(this,ht).dataUpdatedAt,r)+1;re(this,Or,Rr.setTimeout(()=>{j(this,ht).isStale||this.updateResult()},l))},cc=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(j(this,be)):this.options.refetchInterval)??!1},dc=function(r){we(this,je,pc).call(this),re(this,nr,r),!(Zi.isServer()||Pt(this.options.enabled,j(this,be))===!1||!rc(j(this,nr))||j(this,nr)===0)&&re(this,Ar,Rr.setInterval(()=>{(this.options.refetchIntervalInBackground||Lc.isFocused())&&we(this,je,$i).call(this)},j(this,nr)))},fc=function(){we(this,je,uc).call(this),we(this,je,dc).call(this,we(this,je,cc).call(this))},hc=function(){j(this,Or)!==void 0&&(Rr.clearTimeout(j(this,Or)),re(this,Or,void 0))},pc=function(){j(this,Ar)!==void 0&&(Rr.clearInterval(j(this,Ar)),re(this,Ar,void 0))},mc=function(){const r=j(this,wt).getQueryCache().build(j(this,wt),this.options);if(r===j(this,be))return;const s=j(this,be);re(this,be,r),re(this,ro,r.state),this.hasListeners()&&(s==null||s.removeObserver(this),r.addObserver(this))},pm=function(r){st.batch(()=>{r.listeners&&this.listeners.forEach(s=>{s(j(this,ht))}),j(this,wt).getQueryCache().notify({query:j(this,be),type:"observerResultsUpdated"})})},Jp);function X0(n,r){return Pt(r.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&Pt(r.retryOnMount,n)===!1)}function ip(n,r){return X0(n,r)||n.state.data!==void 0&&gc(n,r,r.refetchOnMount)}function gc(n,r,s){if(Pt(r.enabled,n)!==!1&&lr(r.staleTime,n)!=="static"){const l=typeof s=="function"?s(n):s;return l==="always"||l!==!1&&Ic(n,r)}return!1}function op(n,r,s,l){return(n!==r||Pt(l.enabled,n)===!1)&&(!s.suspense||n.state.status!=="error")&&Ic(n,s)}function Ic(n,r){return Pt(r.enabled,n)!==!1&&n.isStaleByTime(lr(r.staleTime,n))}function J0(n,r){return!sc(n.getCurrentResult(),r)}var io,sn,ut,Ur,on,Zn,em,ev=(em=class extends dm{constructor(r){super();de(this,on);de(this,io);de(this,sn);de(this,ut);de(this,Ur);re(this,io,r.client),this.mutationId=r.mutationId,re(this,ut,r.mutationCache),re(this,sn,[]),this.state=r.state||tv(),this.setOptions(r.options),this.scheduleGc()}setOptions(r){this.options=r,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(r){j(this,sn).includes(r)||(j(this,sn).push(r),this.clearGcTimeout(),j(this,ut).notify({type:"observerAdded",mutation:this,observer:r}))}removeObserver(r){re(this,sn,j(this,sn).filter(s=>s!==r)),this.scheduleGc(),j(this,ut).notify({type:"observerRemoved",mutation:this,observer:r})}optionalRemove(){j(this,sn).length||(this.state.status==="pending"?this.scheduleGc():j(this,ut).remove(this))}continue(){var r;return((r=j(this,Ur))==null?void 0:r.continue())??this.execute(this.state.variables)}async execute(r){var h,f,p,g,w,y,x,k,S,b,_,R,L,z,M,A,F,q;const s=()=>{we(this,on,Zn).call(this,{type:"continue"})},l={client:j(this,io),meta:this.options.meta,mutationKey:this.options.mutationKey};re(this,Ur,cm({fn:()=>this.options.mutationFn?this.options.mutationFn(r,l):Promise.reject(new Error("No mutationFn found")),onFail:(V,O)=>{we(this,on,Zn).call(this,{type:"failed",failureCount:V,error:O})},onPause:()=>{we(this,on,Zn).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>j(this,ut).canRun(this)}));const a=this.state.status==="pending",c=!j(this,Ur).canStart();try{if(a)s();else{we(this,on,Zn).call(this,{type:"pending",variables:r,isPaused:c}),j(this,ut).config.onMutate&&await j(this,ut).config.onMutate(r,this,l);const O=await((f=(h=this.options).onMutate)==null?void 0:f.call(h,r,l));O!==this.state.context&&we(this,on,Zn).call(this,{type:"pending",context:O,variables:r,isPaused:c})}const V=await j(this,Ur).start();return await((g=(p=j(this,ut).config).onSuccess)==null?void 0:g.call(p,V,r,this.state.context,this,l)),await((y=(w=this.options).onSuccess)==null?void 0:y.call(w,V,r,this.state.context,l)),await((k=(x=j(this,ut).config).onSettled)==null?void 0:k.call(x,V,null,this.state.variables,this.state.context,this,l)),await((b=(S=this.options).onSettled)==null?void 0:b.call(S,V,null,r,this.state.context,l)),we(this,on,Zn).call(this,{type:"success",data:V}),V}catch(V){try{await((R=(_=j(this,ut).config).onError)==null?void 0:R.call(_,V,r,this.state.context,this,l))}catch(O){Promise.reject(O)}try{await((z=(L=this.options).onError)==null?void 0:z.call(L,V,r,this.state.context,l))}catch(O){Promise.reject(O)}try{await((A=(M=j(this,ut).config).onSettled)==null?void 0:A.call(M,void 0,V,this.state.variables,this.state.context,this,l))}catch(O){Promise.reject(O)}try{await((q=(F=this.options).onSettled)==null?void 0:q.call(F,void 0,V,r,this.state.context,l))}catch(O){Promise.reject(O)}throw we(this,on,Zn).call(this,{type:"error",error:V}),V}finally{j(this,ut).runNext(this)}}},io=new WeakMap,sn=new WeakMap,ut=new WeakMap,Ur=new WeakMap,on=new WeakSet,Zn=function(r){const s=l=>{switch(r.type){case"failed":return{...l,failureCount:r.failureCount,failureReason:r.error};case"pause":return{...l,isPaused:!0};case"continue":return{...l,isPaused:!1};case"pending":return{...l,context:r.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:r.isPaused,status:"pending",variables:r.variables,submittedAt:Date.now()};case"success":return{...l,data:r.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...l,data:void 0,error:r.error,failureCount:l.failureCount+1,failureReason:r.error,isPaused:!1,status:"error"}}};this.state=s(this.state),st.batch(()=>{j(this,sn).forEach(l=>{l.onMutationUpdate(r)}),j(this,ut).notify({mutation:this,type:"updated",action:r})})},em);function tv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var bn,Kt,oo,tm,nv=(tm=class extends ao{constructor(r={}){super();de(this,bn);de(this,Kt);de(this,oo);this.config=r,re(this,bn,new Set),re(this,Kt,new Map),re(this,oo,0)}build(r,s,l){const a=new ev({client:r,mutationCache:this,mutationId:++kl(this,oo)._,options:r.defaultMutationOptions(s),state:l});return this.add(a),a}add(r){j(this,bn).add(r);const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s);l?l.push(r):j(this,Kt).set(s,[r])}this.notify({type:"added",mutation:r})}remove(r){if(j(this,bn).delete(r)){const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s);if(l)if(l.length>1){const a=l.indexOf(r);a!==-1&&l.splice(a,1)}else l[0]===r&&j(this,Kt).delete(s)}}this.notify({type:"removed",mutation:r})}canRun(r){const s=bl(r);if(typeof s=="string"){const l=j(this,Kt).get(s),a=l==null?void 0:l.find(c=>c.state.status==="pending");return!a||a===r}else return!0}runNext(r){var l;const s=bl(r);if(typeof s=="string"){const a=(l=j(this,Kt).get(s))==null?void 0:l.find(c=>c!==r&&c.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){st.batch(()=>{j(this,bn).forEach(r=>{this.notify({type:"removed",mutation:r})}),j(this,bn).clear(),j(this,Kt).clear()})}getAll(){return Array.from(j(this,bn))}find(r){const s={exact:!0,...r};return this.getAll().find(l=>Jh(s,l))}findAll(r={}){return this.getAll().filter(s=>Jh(r,s))}notify(r){st.batch(()=>{this.listeners.forEach(s=>{s(r)})})}resumePausedMutations(){const r=this.getAll().filter(s=>s.state.isPaused);return st.batch(()=>Promise.all(r.map(s=>s.continue().catch(kt))))}},bn=new WeakMap,Kt=new WeakMap,oo=new WeakMap,tm);function bl(n){var r;return(r=n.options.scope)==null?void 0:r.id}var ln,nm,rv=(nm=class extends ao{constructor(r={}){super();de(this,ln);this.config=r,re(this,ln,new Map)}build(r,s,l){const a=s.queryKey,c=s.queryHash??Mc(a,s);let h=this.get(c);return h||(h=new Z0({client:r,queryKey:a,queryHash:c,options:r.defaultQueryOptions(s),state:l,defaultOptions:r.getQueryDefaults(a)}),this.add(h)),h}add(r){j(this,ln).has(r.queryHash)||(j(this,ln).set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){const s=j(this,ln).get(r.queryHash);s&&(r.destroy(),s===r&&j(this,ln).delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){st.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return j(this,ln).get(r)}getAll(){return[...j(this,ln).values()]}find(r){const s={exact:!0,...r};return this.getAll().find(l=>Xh(s,l))}findAll(r={}){const s=this.getAll();return Object.keys(r).length>0?s.filter(l=>Xh(r,l)):s}notify(r){st.batch(()=>{this.listeners.forEach(s=>{s(r)})})}onFocus(){st.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){st.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}},ln=new WeakMap,nm),He,rr,sr,Os,As,ir,Us,Bs,rm,sv=(rm=class{constructor(n={}){de(this,He);de(this,rr);de(this,sr);de(this,Os);de(this,As);de(this,ir);de(this,Us);de(this,Bs);re(this,He,n.queryCache||new rv),re(this,rr,n.mutationCache||new nv),re(this,sr,n.defaultOptions||{}),re(this,Os,new Map),re(this,As,new Map),re(this,ir,0)}mount(){kl(this,ir)._++,j(this,ir)===1&&(re(this,Us,Lc.subscribe(async n=>{n&&(await this.resumePausedMutations(),j(this,He).onFocus())})),re(this,Bs,Il.subscribe(async n=>{n&&(await this.resumePausedMutations(),j(this,He).onOnline())})))}unmount(){var n,r;kl(this,ir)._--,j(this,ir)===0&&((n=j(this,Us))==null||n.call(this),re(this,Us,void 0),(r=j(this,Bs))==null||r.call(this),re(this,Bs,void 0))}isFetching(n){return j(this,He).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return j(this,rr).findAll({...n,status:"pending"}).length}getQueryData(n){var s;const r=this.defaultQueryOptions({queryKey:n});return(s=j(this,He).get(r.queryHash))==null?void 0:s.state.data}ensureQueryData(n){const r=this.defaultQueryOptions(n),s=j(this,He).build(this,r),l=s.state.data;return l===void 0?this.fetchQuery(n):(n.revalidateIfStale&&s.isStaleByTime(lr(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(l))}getQueriesData(n){return j(this,He).findAll(n).map(({queryKey:r,state:s})=>{const l=s.data;return[r,l]})}setQueryData(n,r,s){const l=this.defaultQueryOptions({queryKey:n}),a=j(this,He).get(l.queryHash),c=a==null?void 0:a.state.data,h=O0(r,c);if(h!==void 0)return j(this,He).build(this,l).setData(h,{...s,manual:!0})}setQueriesData(n,r,s){return st.batch(()=>j(this,He).findAll(n).map(({queryKey:l})=>[l,this.setQueryData(l,r,s)]))}getQueryState(n){var s;const r=this.defaultQueryOptions({queryKey:n});return(s=j(this,He).get(r.queryHash))==null?void 0:s.state}removeQueries(n){const r=j(this,He);st.batch(()=>{r.findAll(n).forEach(s=>{r.remove(s)})})}resetQueries(n,r){const s=j(this,He);return st.batch(()=>(s.findAll(n).forEach(l=>{l.reset()}),this.refetchQueries({type:"active",...n},r)))}cancelQueries(n,r={}){const s={revert:!0,...r},l=st.batch(()=>j(this,He).findAll(n).map(a=>a.cancel(s)));return Promise.all(l).then(kt).catch(kt)}invalidateQueries(n,r={}){return st.batch(()=>(j(this,He).findAll(n).forEach(s=>{s.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},r)))}refetchQueries(n,r={}){const s={...r,cancelRefetch:r.cancelRefetch??!0},l=st.batch(()=>j(this,He).findAll(n).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let c=a.fetch(void 0,s);return s.throwOnError||(c=c.catch(kt)),a.state.fetchStatus==="paused"?Promise.resolve():c}));return Promise.all(l).then(kt)}fetchQuery(n){const r=this.defaultQueryOptions(n);r.retry===void 0&&(r.retry=!1);const s=j(this,He).build(this,r);return s.isStaleByTime(lr(r.staleTime,s))?s.fetch(r):Promise.resolve(s.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(kt).catch(kt)}fetchInfiniteQuery(n){return n._type="infinite",this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(kt).catch(kt)}ensureInfiniteQueryData(n){return n._type="infinite",this.ensureQueryData(n)}resumePausedMutations(){return Il.isOnline()?j(this,rr).resumePausedMutations():Promise.resolve()}getQueryCache(){return j(this,He)}getMutationCache(){return j(this,rr)}getDefaultOptions(){return j(this,sr)}setDefaultOptions(n){re(this,sr,n)}setQueryDefaults(n,r){j(this,Os).set(qi(n),{queryKey:n,defaultOptions:r})}getQueryDefaults(n){const r=[...j(this,Os).values()],s={};return r.forEach(l=>{Gi(n,l.queryKey)&&Object.assign(s,l.defaultOptions)}),s}setMutationDefaults(n,r){j(this,As).set(qi(n),{mutationKey:n,defaultOptions:r})}getMutationDefaults(n){const r=[...j(this,As).values()],s={};return r.forEach(l=>{Gi(n,l.mutationKey)&&Object.assign(s,l.defaultOptions)}),s}defaultQueryOptions(n){if(n._defaulted)return n;const r={...j(this,sr).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return r.queryHash||(r.queryHash=Mc(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.queryFn===Tc&&(r.enabled=!1),r}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...j(this,sr).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){j(this,He).clear(),j(this,rr).clear()}},He=new WeakMap,rr=new WeakMap,sr=new WeakMap,Os=new WeakMap,As=new WeakMap,ir=new WeakMap,Us=new WeakMap,Bs=new WeakMap,rm),mm=W.createContext(void 0),Dc=n=>{const r=W.useContext(mm);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},iv=({client:n,children:r})=>(W.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),m.jsx(mm.Provider,{value:n,children:r})),gm=W.createContext(!1),ov=()=>W.useContext(gm);gm.Provider;function lv(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var av=W.createContext(lv()),uv=()=>W.useContext(av),cv=(n,r,s)=>{const l=s!=null&&s.state.error&&typeof n.throwOnError=="function"?am(n.throwOnError,[s.state.error,s]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||l)&&(r.isReset()||(n.retryOnMount=!1))},dv=n=>{W.useEffect(()=>{n.clearReset()},[n])},fv=({result:n,errorResetBoundary:r,throwOnError:s,query:l,suspense:a})=>n.isError&&!r.isReset()&&!n.isFetching&&l&&(a&&n.data===void 0||am(s,[n.error,l])),hv=n=>{if(n.suspense){const s=a=>a==="static"?a:Math.max(a??1e3,1e3),l=n.staleTime;n.staleTime=typeof l=="function"?(...a)=>s(l(...a)):s(l),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},pv=(n,r)=>n.isLoading&&n.isFetching&&!r,mv=(n,r)=>(n==null?void 0:n.suspense)&&r.isPending,lp=(n,r,s)=>r.fetchOptimistic(n).catch(()=>{s.clearReset()});function gv(n,r,s){var k,S,b,_;const l=ov(),a=uv(),c=Dc(),h=c.defaultQueryOptions(n);(S=(k=c.getDefaultOptions().queries)==null?void 0:k._experimental_beforeQuery)==null||S.call(k,h);const f=c.getQueryCache().get(h.queryHash),p=n.subscribed!==!1;h._optimisticResults=l?"isRestoring":p?"optimistic":void 0,hv(h),cv(h,a,f),dv(a);const g=!c.getQueryCache().get(h.queryHash),[w]=W.useState(()=>new r(c,h)),y=w.getOptimisticResult(h),x=!l&&p;if(W.useSyncExternalStore(W.useCallback(R=>{const L=x?w.subscribe(st.batchCalls(R)):kt;return w.updateResult(),L},[w,x]),()=>w.getCurrentResult(),()=>w.getCurrentResult()),W.useEffect(()=>{w.setOptions(h)},[h,w]),mv(h,y))throw lp(h,w,a);if(fv({result:y,errorResetBoundary:a,throwOnError:h.throwOnError,query:f,suspense:h.suspense}))throw y.error;if((_=(b=c.getDefaultOptions().queries)==null?void 0:b._experimental_afterQuery)==null||_.call(b,h,y),h.experimental_prefetchInRender&&!Zi.isServer()&&pv(y,l)){const R=g?lp(h,w,a):f==null?void 0:f.promise;R==null||R.catch(kt).finally(()=>{w.updateResult()})}return h.notifyOnChangeProps?y:w.trackResult(y)}function De(n,r){return gv(n,Y0)}const yv=!1;var ym=W.useLayoutEffect;function vv(n,r,s){W.useEffect(()=>{if(!n.current||s||typeof IntersectionObserver!="function")return()=>r();const l=new IntersectionObserver(a=>{r(a.pop())},{rootMargin:"100px"});return l.observe(n.current),()=>{l.disconnect(),r()}},[r,s,n])}function xv(n){const r=W.useRef(null);return W.useImperativeHandle(n,()=>r.current,[]),r}function Yi(n){return n[n.length-1]}function $s(n,r){return typeof n=="function"?n(r):n}const vm=Object.prototype.hasOwnProperty,wv=Object.prototype.propertyIsEnumerable;function xm(n){for(const r in n)if(vm.call(n,r))return!0;return!1}const kv=()=>Object.create(null),Nr=(n,r)=>Lr(n,r,kv);function Lr(n,r,s=()=>({}),l=0){if(n===r)return n;if(l>500)return r;const a=r,c=cp(n)&&cp(a);if(!c&&!(Dl(n)&&Dl(a)))return a;const h=c?n:ap(n);if(!h)return a;const f=c?a:ap(a);if(!f)return a;const p=h.length,g=f.length,w=c?new Array(g):s();let y=0;for(let x=0;x"u")return!0;const s=r.prototype;return!(!up(s)||!s.hasOwnProperty("isPrototypeOf"))}function up(n){return Object.prototype.toString.call(n)==="[object Object]"}function cp(n){return Array.isArray(n)&&n.length===Object.keys(n).length}function ar(n,r,s){if(n===r)return!0;if(typeof n!=typeof r)return!1;if(Array.isArray(n)&&Array.isArray(r)){if(n.length!==r.length)return!1;for(let l=0,a=n.length;la||!ar(n[h],r[h],s)))return!1;return a===c}return!1}const Sv=/[\x00-\x1f\x7f"<>`{}]/g;function bv(n){return n.replace(Sv,r=>"%"+r.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0"))}function dp(n){let r;try{r=decodeURI(n)}catch{r=n.replaceAll(/%[0-9A-F]{2}/gi,s=>{try{return decodeURI(s)}catch{return s}})}return bv(r)}const _v=["http:","https:","mailto:","tel:"];function zl(n,r){if(!n)return!1;try{const s=new URL(n);return!r.has(s.protocol)}catch{return!1}}function zi(n){if(!n)return{path:n,handledProtocolRelativeURL:!1};if(!/[%\\\x00-\x1f\x7f]/.test(n)&&!n.startsWith("//"))return{path:n,handledProtocolRelativeURL:!1};const r=/%25|%5C/gi;let s=0,l="",a;for(;(a=r.exec(n))!==null;)l+=dp(n.slice(s,a.index))+a[0],s=r.lastIndex;l=l+dp(s?n.slice(s):n);let c=!1;return l.startsWith("//")&&(c=!0,l="/"+l.replace(/^\/+/,"")),{path:l,handledProtocolRelativeURL:c}}function Cv(n){return/\s|[^\u0000-\u007F]/.test(n)?n.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):n}function Ev(n,r){if(n===r)return!0;if(n.length!==r.length)return!1;for(let s=0;s{c.next&&(c.prev?(c.prev.next=c.next,c.next.prev=c.prev,c.next=void 0,l&&(l.next=c,c.prev=l)):(c.next.prev=void 0,s=c.next,c.next=void 0,l&&(c.prev=l,l.next=c)),l=c)};return{get(c){const h=r.get(c);if(h)return a(h),h.value},set(c,h){if(r.size>=n&&s){const p=s;r.delete(p.key),p.next&&(s=p.next,p.next.prev=void 0),p===l&&(l=void 0)}const f=r.get(c);if(f)f.value=h,a(f);else{const p={key:c,value:h,prev:l};l&&(l.next=p),l=p,s||(s=p),r.set(c,p)}},clear(){r.clear(),s=void 0,l=void 0}}}const or=4,wm=5;function km(n,r,s=new Uint16Array(6)){const l=n.indexOf("/",r),a=l===-1?n.length:l,c=n.substring(r,a);if(!c||!c.includes("$"))return s[0]=0,s[1]=r,s[2]=r,s[3]=a,s[4]=a,s[5]=a,s;if(c==="$"){const p=n.length;return s[0]=2,s[1]=r,s[2]=r,s[3]=p,s[4]=p,s[5]=p,s}if(c.charCodeAt(0)===36)return s[0]=1,s[1]=r,s[2]=r+1,s[3]=a,s[4]=a,s[5]=a,s;const h=c.indexOf("{");let f;if(h!==-1&&h+1!X.parse&&X.caseSensitive===V&&X.prefix===F&&X.suffix===q));if(Q)L=Q;else{const X=jv(A,y,V,F,q);L=X,X.parent=a,X.depth=c;let Z;A===1?Z=a.dynamic??(a.dynamic=[]):A===3?Z=a.optional??(a.optional=[]):Z=a.wildcard??(a.wildcard=[]),Z.push(X),Z.length===2&&(h==null||h.push(Z))}break}}a=L}if(b&&s.children&&!s.isRoot&&s.id&&s.id.charCodeAt(s.id.lastIndexOf("/")+1)===95){const R=Ss(y);R.kind=wm,R.parent=a,c++,R.depth=c,a.pathless??(a.pathless=[]),a.pathless.push(R),a=R}const _=(s.path||!s.children)&&!s.isRoot;if(_&&y.endsWith("/")){const R=Ss(y);R.kind=or,R.parent=a,c++,R.depth=c,a.index=R,a=R}a.parse=b??null,a.priority=((w=x==null?void 0:x.params)==null?void 0:w.priority)??0,_&&!a.route&&(a.route=s,a.fullPath=y)}if(s.children)for(const y of s.children)Vl(n,r,y,p,a,c,h,f)}function Sm(n,r){if(n.parse&&!r.parse)return-1;if(!n.parse&&r.parse)return 1;if(n.parse&&r.parse&&(n.priority||r.priority))return r.priority-n.priority;if(n.prefix&&r.prefix&&n.prefix!==r.prefix){if(n.prefix.startsWith(r.prefix))return-1;if(r.prefix.startsWith(n.prefix))return 1}if(n.suffix&&r.suffix&&n.suffix!==r.suffix){if(n.suffix.endsWith(r.suffix))return-1;if(r.suffix.endsWith(n.suffix))return 1}return n.prefix&&!r.prefix?-1:!n.prefix&&r.prefix?1:n.suffix&&!r.suffix?-1:!n.suffix&&r.suffix?1:n.caseSensitive&&!r.caseSensitive?-1:!n.caseSensitive&&r.caseSensitive?1:0}function Ss(n){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:n,parent:null,parse:null,priority:0}}function jv(n,r,s,l,a){return{kind:n,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:r,parent:null,parse:null,priority:0,caseSensitive:s,prefix:l,suffix:a}}function Pv(n,r){const s=Ss("/"),l=new Uint16Array(6),a=[];for(const c of n)Vl(!1,l,c,1,s,0,a);for(const c of a)c.sort(Sm);r.masksTree=s,r.flatCache=Fl(1e3)}function Nv(n,r){n||(n="/");const s=r.flatCache.get(n);if(s!==void 0)return s;const l=Fc(n,r.masksTree);return r.flatCache.set(n,l),l}function Rv(n,r,s,l,a){n||(n="/"),l||(l="/");const c=r?`case\0${n}`:n;let h=a.singleCache.get(c);return h||(h=Ss("/"),Vl(r,new Uint16Array(6),{from:n},1,h,0),a.singleCache.set(c,h)),Fc(l,h,s)}function Lv(n,r,s=!1){const l=s?n:`nofuzz\0${n}`,a=r.matchCache.get(l);if(a!==void 0)return a;n||(n="/");let c;try{c=Fc(n,r.segmentTree,s)}catch(h){if(h instanceof URIError)c=null;else throw h}return c&&(c.branch=_m(c.route)),r.matchCache.set(l,c),c}function Mv(n){return n==="/"?n:n.replace(/\/{1,}$/,"")}function Tv(n,r=!1,s){const l=Ss(n.fullPath),a=new Uint16Array(6),c=[],h={},f={};let p=0;Vl(r,a,n,1,l,0,c,g=>{if(s==null||s(g,p),g.id in h&&zc(),h[g.id]=g,p!==0&&g.path){const w=Mv(g.fullPath);(!f[w]||g.fullPath.endsWith("/"))&&(f[w]=g)}p++});for(const g of c)g.sort(Sm);return{processedTree:{segmentTree:l,singleCache:Fl(1e3),matchCache:Fl(1e3),flatCache:null,masksTree:null},routesById:h,routesByPath:f}}function Fc(n,r,s=!1){const l=n.split("/"),a=Dv(n,l,r,s);if(!a)return null;const[c]=bm(n,l,a);return{route:a.node.route,rawParams:c}}function bm(n,r,s){var w,y,x,k;const l=Iv(s.node);let a=null;const c=Object.create(null);let h=((w=s.extract)==null?void 0:w.part)??0,f=((y=s.extract)==null?void 0:y.node)??0,p=((x=s.extract)==null?void 0:x.path)??0,g=((k=s.extract)==null?void 0:k.segment)??0;for(;f=0;F--){const q=y.wildcard[F],{prefix:V,suffix:O}=q;if(!(V&&(z||!(q.caseSensitive?M:A??(A=M.toLowerCase())).startsWith(V)))){if(O){if(z)continue;const Q=r.slice(x).join("/"),X=Q.slice(-O.length);if((q.caseSensitive?X:X.toLowerCase())!==O||Q.length-O.length=0;q--){const V=y.optional[q];f.push({node:V,index:x,skipped:F,statics:S,dynamics:b,optionals:_,extract:R,rawParams:L})}if(!z)for(let q=y.optional.length-1;q>=0;q--){const V=y.optional[q],{prefix:O,suffix:Q}=V;if(O||Q){const X=V.caseSensitive?M:A??(A=M.toLowerCase());if(O&&!X.startsWith(O)||Q&&X.indexOf(Q,X.length-Q.length)=0;F--){const q=y.dynamic[F],{prefix:V,suffix:O}=q;if(V||O){const Q=q.caseSensitive?M:A??(A=M.toLowerCase());if(V&&!Q.startsWith(V)||O&&Q.indexOf(O,Q.length-O.length)=0;F--){const q=y.pathless[F];f.push({node:q,index:x,skipped:k,statics:S,dynamics:b,optionals:_,extract:R,rawParams:L})}}if(g)return g;if(l&&p){let w=p.index;for(let x=0;xn.statics||r.statics===n.statics&&(r.dynamics>n.dynamics||r.dynamics===n.dynamics&&(r.optionals>n.optionals||r.optionals===n.optionals&&((r.node.kind===or)>(n.node.kind===or)||r.node.kind===or==(n.node.kind===or)&&r.node.depth>n.node.depth))):!0}function Nl(n){return Rl(n.filter(r=>r!==void 0).join("/"))}function Rl(n){return n.replace(/\/{2,}/g,"/")}function Cm(n){return n==="/"?n:n.replace(/^\/{1,}/,"")}function _n(n){const r=n.length;return r>1&&n[r-1]==="/"?n.replace(/\/{1,}$/,""):n}function Em(n){return _n(Cm(n))}function Ol(n,r){return n!=null&&n.endsWith("/")&&n!=="/"&&n!==`${r}/`?n.slice(0,-1):n}function Fv(n,r,s){return Ol(n,s)===Ol(r,s)}function Ov({base:n,to:r,trailingSlash:s="never",cache:l}){if(r.includes("//")&&(r=Rl(r)),r.startsWith("/"))return r.length===1||s==="preserve"?r:s==="always"?r.endsWith("/")?r:`${r}/`:r.endsWith("/")?r.slice(0,-1):r;const a=r===".";let c;if(l){c=a?n:n+"\0"+r;const g=l.get(c);if(g)return g}let h;if(a)h=n.split("/");else{for(n.includes("//")&&(n=Rl(n)),h=n.split("/");h.length>1&&Yi(h)==="";)h.pop();const g=r.split("/");for(let w=0,y=g.length;w1?h.pop():h=[""]:x==="."||h.push(x)}}h.length>1&&(Yi(h)===""?s==="never"&&h.pop():s==="always"&&h.push(""));const f=h.join("/"),p=(a?Rl(f):f)||"/";return c&&l&&l.set(c,p),p}function Av(n){const r=new Map(n.map(a=>[encodeURIComponent(a),a])),s=Array.from(r.keys()).map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),l=new RegExp(s,"g");return a=>a.replace(l,c=>r.get(c)??c)}function Hu(n,r,s){const l=r[n];return typeof l!="string"?l:n==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(l)?l:l.split("/").map(a=>pp(a,s)).join("/"):pp(l,s)}function hp({path:n,params:r,decoder:s,...l}){let a=!1;const c=Object.create(null);if(!n||n==="/")return{interpolatedPath:"/",usedParams:c,isMissingParams:a};if(!n.includes("$"))return{interpolatedPath:n,usedParams:c,isMissingParams:a};const h=n.length;let f=0,p,g="";for(;fn.state.__TSR_key||n.href;function Wv(n){const r=n.getAttribute(mp);if(r)return`[${mp}="${r}"]`;let s="",l=n,a;for(;a=l.parentNode;){let c=1,h=l;for(;h=h.previousElementSibling;)c++;const f=`${l.localName}:nth-child(${c})`;s=s?`${f} > ${s}`:f,l=a}return s}let El=!1;const Ll="window";function yc(n){try{return typeof n=="function"?n():document.querySelector(n)}catch{}}function gp(n){const r=new Set;for(const s of n){if(s===Ll)continue;const l=yc(s);l&&r.add(l)}return r}function Qv(n,r){const s=n.options.scrollRestoration,l=n._scroll;s&&(l.restoring=!0);const a=n.options.getScrollRestorationKey||Hv,c=new Set,h=f=>{const p=Yn[f]||(Yn[f]={});for(const g of c)g===document?p[Ll]={scrollX,scrollY}:g.isConnected&&(p[Wv(g)]={scrollX:g.scrollLeft,scrollY:g.scrollTop})};s&&!l.restoration&&(l.restoration=!0,El=!1,history.scrollRestoration="manual",document.addEventListener("scroll",f=>{El||c.add(f.target)},!0),n.subscribe("onBeforeLoad",f=>{f.fromLocation&&h(a(f.fromLocation)),c.clear()}),addEventListener("pagehide",()=>{h(a(n.stores.resolvedLocation.get()??n.stores.location.get())),Vv()})),!l.reset&&(l.reset=!0,n.subscribe("onRendered",f=>{var b;const p=n.options.scrollRestorationBehavior,g=n.options.scrollToTopSelectors,w=l.next,y=l.hash;let x;if(c.clear(),l.next=!0,l.hash=!1,typeof n.options.scrollRestoration=="function"&&!n.options.scrollRestoration({location:n.latestLocation}))return;const k=a(f.toLocation),S=f.fromLocation&&a(f.fromLocation);if(l.restoring&&S&&S!==k){const _=Yn[S];if(_){let R=Yn[k];for(const L in _){if(L===Ll){if(w)continue}else{const z=yc(L);if(!z||w&&g&&(x??(x=gp(g)),x.has(z)))continue}R||(R=Yn[k]={}),R[L]??(R[L]=_[L])}}}El=!0;try{const _=f.toLocation.hash,R=f.toLocation.state.__hashScrollIntoViewOptions??!0;let L=!1;if(w){!_&&g&&(x??(x=gp(g)));const z=_&&R&&y,M=l.restoring?Yn[k]:void 0;if(M)for(const A in M){const{scrollX:F,scrollY:q}=M[A];if(A===Ll){if(z)continue;scrollTo({top:q,left:F,behavior:p}),L=!0}else{const V=yc(A);V&&(V.scrollLeft=F,V.scrollTop=q,x==null||x.delete(V))}}if(!_){const A={top:0,left:0,behavior:p};if(L||scrollTo(A),x)for(const F of x)F.scrollTo(A)}}!L&&_&&R&&((b=document.getElementById(_))==null||b.scrollIntoView(R))}finally{El=!1}}))}function Kv(n,r=String){const s=new URLSearchParams;for(const l in n){const a=n[l];a!==void 0&&s.set(l,r(a))}return s.toString()}function Wu(n){return n?n==="false"?!1:n==="true"?!0:+n*0===0&&+n+""===n?+n:n:""}function qv(n){const r=new URLSearchParams(n),s=Object.create(null);for(const[l,a]of r.entries()){const c=s[l];c==null?s[l]=Wu(a):Array.isArray(c)?c.push(Wu(a)):s[l]=[c,Wu(a)]}return s}const Gv=/^(?:\s|["[{\d-]|fa|nu|tr)/,Zv=Xv(JSON.parse),Yv=Jv(JSON.stringify,JSON.parse);function Xv(n){return r=>{r[0]==="?"&&(r=r.substring(1));const s=qv(r);for(const l in s){const a=s[l];if(typeof a=="string")try{s[l]=n(a)}catch{}}return s}}function Jv(n,r){const s=r===JSON.parse;function l(a){if(a&&typeof a=="object")try{return n(a)}catch{}else if(r&&typeof a=="string"){if(s&&!Gv.test(a))return a;try{return r(a),n(a)}catch{}}return a}return a=>{const c=Kv(a,l);return c?`?${c}`:""}}const _s="__root__";function jm(n){if(n.statusCode=n.statusCode||n.code||307,!n.reloadDocument&&typeof n.href=="string")try{new URL(n.href),n.reloadDocument=!0}catch{}const r=new Headers(n.headers);n.href&&r.get("Location")===null&&r.set("Location",n.href);const s=new Response(null,{status:n.statusCode,headers:r});if(s.options=n,n.throw)throw s;return s}function Pm(n){return n instanceof Response&&!!n.options}function ex(n){return{input:({url:r})=>{for(const s of n)r=vc(s,r);return r},output:({url:r})=>{for(let s=n.length-1;s>=0;s--)r=Nm(n[s],r);return r}}}function tx(n){const r=Em(n.basepath),s=`/${r}`,l=n.caseSensitive?s:s.toLowerCase(),a=`${l}/`;return{input:({url:c})=>{const h=n.caseSensitive?c.pathname:c.pathname.toLowerCase();return h===l?c.pathname="/":h.startsWith(a)&&(c.pathname=c.pathname.slice(s.length)),c},output:({url:c})=>(c.pathname=Nl(["/",r,c.pathname]),c)}}function vc(n,r){var l;const s=(l=n==null?void 0:n.input)==null?void 0:l.call(n,{url:r});if(s){if(typeof s=="string")return new URL(s);if(s instanceof URL)return s}return r}function Nm(n,r){var l;const s=(l=n==null?void 0:n.output)==null?void 0:l.call(n,{url:r});if(s){if(typeof s=="string")return new URL(s);if(s instanceof URL)return s}return r}function nx(n,r){const{createMutableStore:s,createReadonlyStore:l,batch:a}=r,c=new Map,h=s("idle"),f=s(n),p=s(void 0),g=s([]),w=l(()=>g.get().map(b=>c.get(b).get())),y=l(()=>({status:h.get(),isLoading:h.get()==="pending",matches:w.get(),location:f.get(),resolvedLocation:p.get()}));function x(b){let _=c.get(b);return _||(_=s(void 0),c.set(b,_)),_}const k={status:h,location:f,resolvedLocation:p,ids:g,matches:w,byRoute:c,__store:y,getMatchStore:x,setMatches:S};function S(b){const _=g.get(),R=b.map(L=>L.routeId);a(()=>{Ev(_,R)||g.set(R);for(const L of _)R.includes(L)||c.get(L).set(()=>{});for(const L of b){const z=x(L.routeId);z.get()!==L&&z.set(L)}})}return k}var ur="__TSR_index",yp="popstate",vp="beforeunload";function rx(n){let r=n.getLocation();const s=new Set,l=h=>{r=n.getLocation(),s.forEach(f=>f({location:r,action:h}))},a=h=>{n.notifyOnIndexChange??!0?l(h):r=n.getLocation()},c=async({task:h,navigateOpts:f,...p})=>{var y,x;if((f==null?void 0:f.ignoreBlocker)??!1){h();return}const g=((y=n.getBlockers)==null?void 0:y.call(n))??[],w=p.type==="PUSH"||p.type==="REPLACE";if(typeof document<"u"&&g.length&&w)for(const k of g){const S=Al(p.path,p.state);if(await k.blockerFn({currentLocation:r,nextLocation:S,action:p.type})){(x=n.onBlocked)==null||x.call(n);return}}h()};return{get location(){return r},get length(){return n.getLength()},subscribers:s,subscribe:h=>(s.add(h),()=>{s.delete(h)}),push:(h,f,p)=>{const g=r.state[ur];f=xp(g+1,f),c({task:()=>{n.pushState(h,f),l({type:"PUSH"})},navigateOpts:p,type:"PUSH",path:h,state:f})},replace:(h,f,p)=>{const g=r.state[ur];f=xp(g,f),c({task:()=>{n.replaceState(h,f),l({type:"REPLACE"})},navigateOpts:p,type:"REPLACE",path:h,state:f})},go:(h,f)=>{c({task:()=>{n.go(h),a({type:"GO",index:h})},navigateOpts:f,type:"GO"})},back:h=>{c({task:()=>{n.back((h==null?void 0:h.ignoreBlocker)??!1),a({type:"BACK"})},navigateOpts:h,type:"BACK"})},forward:h=>{c({task:()=>{n.forward((h==null?void 0:h.ignoreBlocker)??!1),a({type:"FORWARD"})},navigateOpts:h,type:"FORWARD"})},canGoBack:()=>r.state[ur]!==0,createHref:h=>n.createHref(h),block:h=>{var p;if(!n.setBlockers)return()=>{};const f=((p=n.getBlockers)==null?void 0:p.call(n))??[];return n.setBlockers([...f,h]),()=>{var w,y;const g=((w=n.getBlockers)==null?void 0:w.call(n))??[];(y=n.setBlockers)==null||y.call(n,g.filter(x=>x!==h))}},flush:()=>{var h;return(h=n.flush)==null?void 0:h.call(n)},destroy:()=>{var h;return(h=n.destroy)==null?void 0:h.call(n)},notify:l}}function xp(n,r){r||(r={});const s=Oc();return{...r,key:s,__TSR_key:s,[ur]:n}}function sx(n){var q,V;const r=typeof document<"u"?window:void 0,s=r.history.pushState,l=r.history.replaceState;let a=[];const c=()=>a,h=O=>a=O,f=(O=>O),p=(()=>Al(`${r.location.pathname}${r.location.search}${r.location.hash}`,r.history.state));if(!((q=r.history.state)!=null&&q.__TSR_key)&&!((V=r.history.state)!=null&&V.key)){const O=Oc();r.history.replaceState({[ur]:0,key:O,__TSR_key:O},"")}let g=p(),w,y=!1,x=!1,k=!1,S=!1;const b=()=>g;let _;const R=()=>{_&&(F._ignoreSubscribers=!0,(_[2]?r.history.pushState:r.history.replaceState)(_[1],"",_[0]),F._ignoreSubscribers=!1,_=void 0,w=void 0)},L=(O,Q,X)=>{const Z=f(Q),ae=!!_;ae||(w=g),g=Al(Q,X),_=[Z,X,(_==null?void 0:_[2])||O],ae||queueMicrotask(()=>R())},z=O=>{g=p(),F.notify({type:O})},M=async()=>{if(x){x=!1;return}const O=p(),Q=O.state[ur]-g.state[ur],X=Q===1,Z=Q===-1,ae=!X&&!Z||y;y=!1;const H=ae?"GO":Z?"BACK":"FORWARD",te=ae?{type:"GO",index:Q}:{type:Z?"BACK":"FORWARD"};if(k)k=!1;else{const ye=c();if(typeof document<"u"&&ye.length){for(const he of ye)if(await he.blockerFn({currentLocation:g,nextLocation:O,action:H})){x=!0,r.history.go(1),F.notify(te);return}}}g=p(),F.notify(te)},A=O=>{if(S){S=!1;return}let Q=!1;const X=c();if(typeof document<"u"&&X.length)for(const Z of X){const ae=Z.enableBeforeUnload??!0;if(ae===!0){Q=!0;break}if(typeof ae=="function"&&ae()===!0){Q=!0;break}}if(Q)return O.preventDefault(),O.returnValue=""},F=rx({getLocation:b,getLength:()=>r.history.length,pushState:(O,Q)=>L(!0,O,Q),replaceState:(O,Q)=>L(!1,O,Q),back:O=>(O&&(k=!0),S=!0,r.history.back()),forward:O=>{O&&(k=!0),S=!0,r.history.forward()},go:O=>{y=!0,r.history.go(O)},createHref:O=>f(O),flush:R,destroy:()=>{r.history.pushState=s,r.history.replaceState=l,r.removeEventListener(vp,A,{capture:!0}),r.removeEventListener(yp,M)},onBlocked:()=>{w&&g!==w&&(g=w)},getBlockers:c,setBlockers:h,notifyOnIndexChange:!1});return r.addEventListener(vp,A,{capture:!0}),r.addEventListener(yp,M),r.history.pushState=function(...O){const Q=s.apply(r.history,O);return F._ignoreSubscribers||z("PUSH"),Q},r.history.replaceState=function(...O){const Q=l.apply(r.history,O);return F._ignoreSubscribers||z("REPLACE"),Q},F}function ix(n){let r=n.replace(/[\x00-\x1f\x7f]/g,"");return r.startsWith("//")&&(r="/"+r.replace(/^\/+/,"")),r}function Al(n,r){const s=ix(n),l=s.indexOf("#"),a=s.indexOf("?"),c=Oc();return{href:s,pathname:s.substring(0,l>0?a>0?Math.min(l,a):l:a>0?a:s.length),hash:l>-1?s.substring(l):"",search:a>-1?s.slice(a,l===-1?void 0:l):"",state:r||{[ur]:0,key:c,__TSR_key:c}}}function Oc(){return(Math.random()+1).toString(36).substring(7)}function wp(n){var r,s;return n.options.loader||n.options.beforeLoad||n.lazyFn||((r=n.options.component)==null?void 0:r.preload)||((s=n.options.pendingComponent)==null?void 0:s.preload)}function Hl(n,r){return{fromLocation:r,toLocation:n,pathChanged:(r==null?void 0:r.pathname)!==n.pathname,hrefChanged:(r==null?void 0:r.href)!==n.href,hashChanged:(r==null?void 0:r.hash)!==n.hash}}function kp({key:n,__TSR_key:r,__TSR_index:s,__hashScrollIntoViewOptions:l,...a}){return a}function ox(n,r,s,l){var a,c,h,f;for(const p of r){if(l&&n._tx!==l)return;s.some(g=>g.routeId===p.routeId)||(c=(a=n.routesById[p.routeId].options).onLeave)==null||c.call(a,p)}for(const p of s){if(l&&n._tx!==l)return;(f=(h=n.routesById[p.routeId].options)[r.some(g=>g.routeId===p.routeId)?"onStay":"onEnter"])==null||f.call(h,p)}}var lx=class{constructor(n,r){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async s=>(s(),!1),this.update=s=>{const l=this.options,a=this.basepath??(l==null?void 0:l.basepath)??"/",c=this.basepath===void 0,h=l==null?void 0:l.rewrite;if(this.options={...l,...s},this.isServer=this.options.isServer??yv??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=Av(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=sx()),this.origin=this.options.origin,this.origin||(window!=null&&window.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let g;this.resolvePathCache=Fl(1e3),g=this.buildRouteTree(),this.setRoutes(g)}if(!this.stores&&this.latestLocation){const g=this.getStoreConfig(this);this.batch=g.batch,this.stores=nx(this.latestLocation,g),Qv(this)}const f=this.options.basepath??"/",p=this.options.rewrite;if(c||a!==f||h!==p){this.basepath=f;const g=[],w=Em(f);w&&w!=="/"&&g.push(tx({basepath:f})),p&&g.push(p),this.rewrite=g.length===0?void 0:g.length===1?g[0]:ex(g),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const s=Tv(this.routeTree,this.options.caseSensitive,(l,a)=>{l.init({originalIndex:a})});return this.options.routeMasks&&Pv(this.options.routeMasks,s.processedTree),s},this.subscribe=(s,l)=>{const a={eventType:s,fn:l};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=s=>{for(const l of this.subscribers)if(l.eventType===s.type)try{l.fn(s)}catch(a){console.error(a)}},this.parseLocation=(s,l)=>{const a=({pathname:p,search:g,hash:w,href:y,state:x})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(p)){const R=this.options.parseSearch(g),L=this.options.stringifySearch(R);return{href:p+L+w,publicHref:p+L+w,pathname:zi(p).path,external:!1,searchStr:L,search:Nr(l==null?void 0:l.search,R),hash:zi(w.slice(1)).path,state:Lr(l==null?void 0:l.state,x)}}const k=new URL(y,this.origin),S=vc(this.rewrite,k),b=this.options.parseSearch(S.search),_=this.options.stringifySearch(b);return S.search=_,{href:S.href.replace(S.origin,""),publicHref:y,pathname:zi(S.pathname).path,external:!!this.rewrite&&S.origin!==this.origin,searchStr:_,search:Nr(l==null?void 0:l.search,b),hash:zi(S.hash.slice(1)).path,state:Lr(l==null?void 0:l.state,x)}},c=a(s),{__tempLocation:h,__tempKey:f}=c.state;if(h&&(!f||f===this.tempLocationKey)){const p=a(h);return p.state.key=c.state.key,p.state.__TSR_key=c.state.__TSR_key,delete p.state.__tempLocation,{...p,maskedLocation:c}}return c},this.resolvePathWithBase=(s,l)=>Ov({base:s,to:l,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(s,l,a)=>typeof s=="string"?this.matchRoutesInternal({pathname:s,search:l},a):this.matchRoutesInternal(s,l),this.getMatchedRoutes=s=>{const l=Object.create(null),a=Lv(_n(s),this.processedTree,!0);return a&&Object.assign(l,a.rawParams),[(a==null?void 0:a.branch)||[this.routesById.__root__],l,a==null?void 0:a.route]},this.buildLocation=s=>{const l=(c={})=>{var O,Q;if(c.href){const X=Al(c.href,{});c={...c,to:vc(this.rewrite,new URL(X.pathname,this.origin)).pathname,search:this.options.parseSearch(X.search),hash:X.hash.slice(1)}}const h=c._fromLocation||this._pendingLocation||this.latestLocation,f=this.matchRoutesLightweight(h);c.from;const p=c.unsafeRelative==="path"?h.pathname:c.from??f[1],g=f[2],w=f[3],y=this.resolvePathWithBase(p,c.to?`${c.to}`:".");let x=Sp(c.params,w);const k=this.routesByPath[_n(y)];let S;if(k)S=this.getRouteBranch(k);else if(y.includes("$"))S=[];else{const[X,Z,ae]=this.getMatchedRoutes(y);S=X,this.options.notFoundRoute&&(!ae||ae.path!=="/"&&Z["**"])&&(S=[...S,this.options.notFoundRoute])}if(S.length&&xm(x))for(const X of S){const Z=((O=X.options.params)==null?void 0:O.stringify)??X.options.stringifyParams;if(Z){x===w&&(x=Object.assign(Object.create(null),x));try{Object.assign(x,Z(x))}catch{}}}const b=s.leaveParams?y:zi(hp({path:y,params:x,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path;let _=g;if(s._includeValidateSearch&&((Q=this.options.search)!=null&&Q.strict)){const X={};S.forEach(Z=>{if(Z.options.validateSearch)try{Object.assign(X,Ml(Z.options.validateSearch,{...X,..._}))}catch{}}),_=X}_=ux(_,c,S,s._includeValidateSearch),_=Nr(g,_);const R=this.options.stringifySearch(_),L=c.hash===!0?h.hash:c.hash?$s(c.hash,h.hash):void 0,z=L?`#${L}`:"";let M=c.state===!0?h.state:c.state?$s(c.state,h.state):{};c.state&&(M=Lr(h.state,M));const A=`${b}${R}${z}`;let F,q,V=!1;if(this.rewrite){const X=new URL(A,this.origin),Z=Nm(this.rewrite,X);F=X.href.replace(X.origin,""),Z.origin!==this.origin?(q=Z.href,V=!0):q=Z.pathname+Z.search+Z.hash}else F=Cv(A),q=F;return{publicHref:q,href:F,pathname:b,search:_,searchStr:R,state:M,hash:L??"",external:V,unmaskOnReload:c.unmaskOnReload}},a=l(s);if(s.mask)a.maskedLocation=l({from:s.from,...s.mask});else if(this.options.routeMasks){const c=Nv(a.pathname,this.processedTree);if(c){const h=Object.assign(Object.create(null),c.rawParams),{from:f,params:p,...g}=c.route,w=Sp(p,h);a.maskedLocation=l({from:s.from,...g,params:w})}}return a},this.commitLocation=async({viewTransition:s,ignoreBlocker:l,...a})=>{let c;const h=_n(this.latestLocation.href)===_n(a.href)&&ar(kp(a.state),kp(this.latestLocation.state)),f=this._commitPromise;let p;const g=new Promise(w=>{p=w});if(g.resolve=()=>{p(),f==null||f.resolve()},this._commitPromise=g,h)this.load();else{let{maskedLocation:w,hashScrollIntoView:y,...x}=a;w&&(x={...w,state:{...w.state,__tempKey:void 0,__tempLocation:{...x,search:x.searchStr,state:{...x.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(x.unmaskOnReload??this.options.unmaskOnReload??!1)&&(x.state.__tempKey=this.tempLocationKey)),x.state.__hashScrollIntoViewOptions=y??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=s,c=a.replace?"REPLACE":"PUSH",this.history[c==="REPLACE"?"replace":"push"](x.publicHref,x.state,{ignoreBlocker:l}),this.history.subscribers.size||this.load({action:{type:c}})}return this._scroll.next=a.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:s,resetScroll:l,hashScrollIntoView:a,viewTransition:c,ignoreBlocker:h,...f}={})=>{const p=this.buildLocation({...f,_includeValidateSearch:!0});this._pendingLocation=p;const g=this.commitLocation({...p,viewTransition:c,replace:s,resetScroll:l,hashScrollIntoView:a,ignoreBlocker:h});return queueMicrotask(()=>{this._pendingLocation===p&&(this._pendingLocation=void 0)}),g},this.navigate=async({to:s,reloadDocument:l,href:a,publicHref:c,...h})=>{var p,g;let f=!1;if(a)try{new URL(`${a}`),f=!0}catch{}if(f&&!l&&(l=!0),l){if(s!==void 0||!a){const y=this.buildLocation({to:s,...h});a=a??y.publicHref,c=c??y.publicHref}const w=!f&&c?c:a;if(zl(w,this.protocolAllowlist))return;if(!h.ignoreBlocker){const y=((g=(p=this.history).getBlockers)==null?void 0:g.call(p))??[];for(const x of y)if(x!=null&&x.blockerFn&&await x.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return}h.replace?window.location.replace(w):window.location.href=w;return}return this.buildAndCommitLocation({...h,href:a,to:s,_isNavigate:!0})},this.load=async s=>{this.updateLatestLocation(),s!=null&&s.action&&(this._scroll.hash=s.action.type==="PUSH"||s.action.type==="REPLACE"),await vx(this,s)},this.startViewTransition=s=>{var a,c;const l=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,l&&typeof document.startViewTransition=="function"){let h;if(typeof l=="object"&&((c=(a=window.CSS)==null?void 0:a.supports)!=null&&c.call(a,"selector(:active-view-transition-type(a))"))){const f=this.latestLocation,p=this.stores.resolvedLocation.get(),g=typeof l.types=="function"?l.types(Hl(f,p)):l.types;if(g===!1)return s();h={update:s,types:g}}else h=s;return document.startViewTransition(h).updateCallbackDone}return s()},this.invalidate=s=>{var g,w;const l=this._committed,a=s==null?void 0:s.filter,c=this._preloads,h=new Set([...l,...this._cache.values(),...[...(c==null?void 0:c.values())??[]].flat(),...((g=this._tx)==null?void 0:g[3])??[]].filter(y=>!a||a(y)).map(y=>y.id)),f=[];for(const[y,x]of c??[])x.some(k=>h.has(k.id))&&(c.delete(y),f.push(y));const p=y=>{if(h.has(y.id)){const x=this.routesById[y.routeId],k={...y,invalid:!0,...(s!=null&&s.forcePending||y.status==="error"||y.status==="notFound")&&wp(x)?{status:"pending",error:void 0}:void 0};return y._flight=void 0,k}return y};this._committed=l.map(p);for(const[y,x]of this._cache)h.has(y)&&(x.invalid=!0,s!=null&&s.forcePending&&(x.status="pending"));for(const y of h)(w=this._flights)==null||w.delete(y);for(const y of f)y.abort();return this.shouldViewTransition=!1,this.load({sync:s==null?void 0:s.sync})},this.resolveRedirect=s=>{const l=s.headers.get("Location");if(s.options.href){if(l)try{const a=new URL(l);if(this.origin&&a.origin===this.origin){const c=a.pathname+a.search+a.hash;s.options.href=c,s.headers.set("Location",c)}}catch{}}else{const a=this.buildLocation(s.options).publicHref||"/";s.options.href=a,s.headers.set("Location",a)}if(s.options.href&&zl(s.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return s.headers.get("Location")||s.headers.set("Location",s.options.href),s},this.clearCache=s=>{var g;const l=this._cache,a=this._preloads,c=s==null?void 0:s.filter,h=[],f=[];for(const[w,y]of l)(!c||c(y))&&(f.push(w),h.push(y));const p=[];for(const[w,y]of a??[])(!c||y.some(c))&&(p.push(w),h.push(...y));for(const w of f)l.delete(w);for(const w of p)a.delete(w);for(const w of h){const y=w._flight;w._flight=void 0,y&&!--y[2]&&(((g=this._flights)==null?void 0:g.get(w.id))===y&&this._flights.delete(w.id),p.push(y[1]))}for(const w of p)w.abort()},this.loadRouteChunk=Cs,this.preloadRoute=s=>xx(this,s),this.matchRoute=(s,l)=>{const a={...s,to:s.to?this.resolvePathWithBase(s.from||"",s.to):void 0,params:s.params||{},leaveParams:!0},c=this.buildLocation(a),h=this.stores.status.get()==="pending";if(l!=null&&l.pending&&!h)return!1;const f=(l==null?void 0:l.pending)??!h?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),p=Rv(c.pathname,(l==null?void 0:l.caseSensitive)??!1,(l==null?void 0:l.fuzzy)??!1,f.pathname,this.processedTree);return!p||s.params&&!ar(p.rawParams,s.params,{partial:!0})?!1:(l==null?void 0:l.includeSearch)??!0?ar(f.search,c.search,{partial:!0})?p.rawParams:!1:p.rawParams},this.getStoreConfig=r,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...n,caseSensitive:n.caseSensitive??!1,notFoundMode:n.notFoundMode??"fuzzy",stringifySearch:n.stringifySearch??Yv,parseSearch:n.parseSearch??Zv,protocolAllowlist:n.protocolAllowlist??_v}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:n,routesByPath:r,processedTree:s}){this.routesById=n,this.routesByPath=r,this.processedTree=s;const l=this.options.notFoundRoute;l&&(l.init({originalIndex:99999999999}),this.routesById[l.id]=l)}getRouteBranch(n){let r=this.routeBranchCache.get(n);return r||(r=_m(n),this.routeBranchCache.set(n,r)),r}matchRoutesInternal(n,r){var x,k;const[s,l,a]=this.getMatchedRoutes(n.pathname);let c=s,h=!1;(a?a.path!=="/"&&l["**"]:_n(n.pathname))&&(this.options.notFoundRoute?c=[...c,this.options.notFoundRoute]:h=!0);const f=h?cx(this.options.notFoundMode,c):void 0,p=new Array(c.length),g=this._committed,w=(S,b)=>{const _=g[b];return(_==null?void 0:_.routeId)===S.id?_:S===this.options.notFoundRoute?g.find(R=>R.routeId===S.id):void 0};let y;for(let S=0;S{const k=x(p.preSearchFilters?p.preSearchFilters.reduce((S,b)=>b(S),y):y);return p.postSearchFilters?p.postSearchFilters.reduce((S,b)=>b(S),k):k};a.push(w)}const g=p.validateSearch;if(l&&g){const w=({search:y,next:x,meta:k})=>{const S=x(y);try{const b=Ml(g,S);if(k&&b)for(const _ in b)_ in S||(k.defaulted||(k.defaulted=new Map)).set(_,b[_]);return{...S,...b}}catch{}return S};a.push(w)}}const c=(f,p,g)=>{if(f>=a.length){if(!r.search)return{};if(r.search===!0)return p;const y=$s(r.search,p);return g&&(g.explicit=y),y}const w=(y,x)=>{if(x){const k=g||{};return{search:c(f+1,y,k),meta:k}}return c(f+1,y,g)};return a[f]({search:p,next:w,meta:g})};return c(0,n)}function cx(n,r){if(n!=="root"){let s;for(let l=r.length-1;l>=0;l--){const a=r[l];if(a.options.notFoundComponent)return a.id;s||(s=a.children&&a.id)}if(s)return s}return _s}function Sp(n,r){if(n===!1||n===null)return Object.create(null);if((n??!0)===!0)return r;const s=Object.assign(Object.create(null),r);return Object.assign(s,$s(n,s))}function bp(n,r){var l;const s=((l=n.options.params)==null?void 0:l.parse)??n.options.parseParams;s&&Object.assign(r,s(r))}function xc(n,r){var s,l;return(l=(s=n.options[r])==null?void 0:s.preload)==null?void 0:l.call(s)}function dx(n,r){const s=xc(n,"component");let l=xc(n,"pendingComponent");return r&&(l?l=l.then(r):r()),s&&l?Promise.all([s,l]).then(()=>{}):s??l}function Cs(n,r,s){const l=()=>r===!1?void 0:r?xc(n,r):dx(n,s),a=n._lazy;if(a)return a===!0?l():a.then(l);if(!n.lazyFn)return l();const c=n.lazyFn().then(h=>{{const{id:f,...p}=h.options;Object.assign(n.options,p),n._lazy=!0}},h=>{throw n._lazy=void 0,h});return n._lazy=c,c.then(l)}function Ac(n){const r=n.findIndex(s=>s.status!=="success"||s._notFound)+1;return r&&r{const a=()=>l(r);r.addEventListener("abort",a,{once:!0}),Promise.resolve(n).then(s,l).finally(()=>r.removeEventListener("abort",a))})}function Vr(n,r){return n.routesById[r.routeId]}function Ji(n,r,s){return Pm(n)?[Nt,n]:Vs(n)?(n.routeId||(n.routeId=s),[Wl,n]):r?(typeof(n==null?void 0:n.then)=="function"&&(n=new Error("A Promise was thrown",{cause:n})),[En,n]):[un,n]}function Uc(n,r){var l,a;let s=Ji(r,!0,n.id);if(s[0]!==En)return s;try{(a=(l=n.options).onError)==null||a.call(l,s[1])}catch(c){s=Ji(c,!0,n.id)}return s}function Hi(n,r,s,l,a){return a[0].signal.aborted?cr:Vc(n,r,s,Uc(s,l),a)}async function fx(n,r,s,l,a,c){var w,y;const[h,f]=r,p=s[0].signal,g=!!s[3];for(let x=s[6]??0;xn.navigate({...M,_fromLocation:h}),buildLocation:n.buildLocation,cause:g?"preload":k.cause,abortController:s[0],preload:g,matches:f,routeId:S.id};try{const M=k._ctx||(k._ctx=S.options.context?S.options.context({..._,deps:k.loaderDeps,context:b})||{}:void 0);k.context={...b,...M}}catch(M){return Cn(n,k),[x,Hi(n,r,S,M,s)]}if(p.aborted)return[x,cr];const R=k.paramsError??k.searchError;if(R!==void 0)return Cn(n,k),[x,Hi(n,r,S,R,s)];const L=S.options.beforeLoad;if(!L)continue;const z=k.status;x>=c&&(k.status="pending",(y=s[7])==null||y.call(s));try{eo(n,k,"beforeLoad",s[0]);const M=await $r(L({..._,search:k.search,context:k.context,...n.options.additionalContext}),p);if(p.aborted)return[x,cr];const A=Vc(n,r,S,Ji(M,!1,S.id),s);if(A[0]!==un)return Cn(n,k),[x,A];k.context={...k.context,...M}}catch(M){return Cn(n,k),[x,Hi(n,r,S,M,s)]}finally{k.status=z,eo(n,k,!1,s[0])}}a()}function Bc(n,r,s){var l;if(!(!s||--s[2])){if(((l=n._flights)==null?void 0:l.get(r.id))===s){const a=n._tx;if(a&&!a[0].signal.aborted&&!a[3].includes(r)&&a[3].some(c=>c.id===r.id)&&a[3].some(c=>c.isFetching==="beforeLoad"))return;n._flights.delete(r.id)}return s[1]}}function Cn(n,r){var l;const s=r._flight;r._flight=void 0,(l=Bc(n,r,s))==null||l.abort()}function St(n,r,s,l){var c;const a=[];for(const h of r)if(!(s!=null&&s.includes(h))){const f=h._flight;if(h._flight=void 0,l&&(f==null?void 0:f[2])===1&&((c=n._flights)==null?void 0:c.get(h.id))===f&&(s!=null&&s.some(p=>p.id===h.id)))f[2]=0;else{const p=Bc(n,h,f);p&&a.push(p)}}for(const h of a)h.abort()}function $c(n){for(const r of n){const s=r._flight;s&&s[2]++}}function eo(n,r,s,l){var h;if(r.isFetching=s,l&&((h=n._tx)==null?void 0:h[0])!==l)return;const a=n.stores.byRoute.get(r.routeId),c=a==null?void 0:a.get();(c==null?void 0:c.id)===r.id&&a.set({...c,isFetching:s})}function Rm(n,r,s,l,a,c,h){const f=r[0];return{params:s.params,location:f,navigate:p=>n.navigate({...p,_fromLocation:f}),cause:h?"preload":s.cause,abortController:a,preload:h,deps:s.loaderDeps,parentMatchPromise:c,context:s.context,route:l,...n.options.additionalContext}}async function _p(n,r,s,l,a,c,h){const f=h[0],p=f.signal;if(p.aborted)return cr;if(!a)return[un,void 0];let g=s._flight;eo(n,s,"loader",f);try{if(!g){const w=new AbortController;g=[Promise.resolve().then(()=>a(Rm(n,r,s,l,w,c,!!h[3]))).then(y=>Ji(y,!1,l.id),y=>Ji(y,!0,l.id)).then(y=>{var x;return y[0]!==un&&((x=n._flights)==null?void 0:x.get(s.id))===g&&(n._flights.delete(s.id),g[2]||w.abort()),y[0]===En&&g[2]?Uc(l,y[1]):y}),w,1],(n._flights??(n._flights=new Map)).set(s.id,g)}return s._flight=g,s.abortController=g[1],Vc(n,r,l,await $r(g[0],p),h)}catch(w){if(w!==p||!p.aborted)throw w;return Cn(n,s),cr}finally{eo(n,s,!1,f)}}function Cp(n,r,s){r[0]!==Nt&&(n.status="success",n.error=void 0,r[0]===un?(n.loaderData=r[1],n.invalid=!1,n.updatedAt=Date.now(),n.preload=s):n.invalid=!0)}function hx(n,r,s){const l=n._cache.get(r.id);if(l!==s||n._committed.some(c=>c.id===r.id&&c._flight===r._flight))return;const a={...r,_notFound:void 0,context:{}};a._flight&&a._flight[2]++,n._cache.set(r.id,a),l&&Cn(n,l)}function Ep(n,r){return r[0]===En||r[0]===Wl?{...n,status:r[0]===En?"error":"notFound",error:r[1],_flight:void 0}:n}function px(n,r,s,l,a,c,h){var Z,ae;const f=r[1][s],p=Vr(n,f),g=!!c[3],w=n._cache.get(f.id);let y,x=!1,k;try{if(f.status==="success"&&(y=p.options.shouldReload,typeof y=="function"&&(y=y(Rm(n,r,f,p,c[0],a,g))),c[0].signal.aborted&&(k=cr)),!k)if(f.status!=="success")x=!0;else{const H=g||f.preload?p.options.preloadStaleTime??n.options.defaultPreloadStaleTime??3e4:p.options.staleTime??n.options.defaultStaleTime??0;x=!!(f.invalid||y||y===void 0&&Date.now()-f.updatedAt>=H&&(c[5]||f.cause==="enter"||c[2].some(te=>te.routeId===f.routeId&&te.id!==f.id)))}}catch(H){f.invalid=!0,Cn(n,f),k=Hi(n,r,p,H,c)}const S=p.options.loader,b=typeof S=="function",_=b?S:S==null?void 0:S.handler,R=!g||p.options.preload!==!1;let L=R&&S?(Z=n._flights)==null?void 0:Z.get(f.id):void 0;L===f._flight||k?L=void 0:L&&!x&&!g&&y===void 0?x=!0:x||(L=void 0);const z=!!(S&&x&&f.status==="success"&&!g&&!c[4]&&((b?void 0:S.staleReloadMode)??n.options.defaultStaleReloadMode)!=="blocking"),M=x&&R,A=M&&!z&&(f.status!=="success"||!!S),F=s>=h?c[7]:void 0,q=p.lazyFn&&p._lazy!==!0?F:void 0;if(M&&!S&&(f.invalid=!1,f.updatedAt=Date.now()),L&&L[2]++,A){const H=f._flight;f._flight=L,(ae=Bc(n,f,H))==null||ae.abort(),s>=h&&(f.status="pending"),F==null||F()}M||(f.isFetching=!1);const V=(k?Promise.resolve(k):A?_p(n,r,f,p,_,a,c):Promise.resolve([un,f.loaderData])).then(H=>(A&&(Cp(f,H,g),H[0]===un&&(S&&!c[0].signal.aborted&&hx(n,f,w),s>=h&&(f.status="pending"))),H)),O=$r(Promise.resolve().then(()=>Cs(p,void 0,q)),c[0].signal).then(()=>{},H=>r[1].some((te,ye)=>ye<=s&&(te.status==="error"||te.status==="notFound"||te._notFound))?void 0:[s,Hi(n,r,p,H,c)]).then(H=>V.then(te=>(A&&!H&&te[0]===un&&f.status==="pending"&&!c[0].signal.aborted&&(f.status="success",F==null||F()),H)));if(l.push([s,V,O]),!z)return V.then(H=>Ep(f,H));const Q={...f,status:"pending",preload:!1,_flight:L};f.invalid=!1,f.isFetching="loader";const X=_p(n,r,Q,p,_,a,c).then(H=>(f.isFetching=!1,Cp(Q,H,!1),H));return(r[2]??(r[2]=[])).push([s,X,O,Q]),X.then(H=>Ep(Q,H))}async function wc(n,r,s,l,a=0){const c=s==null?void 0:s[1][1];let h=c!=null&&c.routeId?r.findIndex(f=>f.routeId===c.routeId):(s==null?void 0:s[0])??r.length-1;h<0&&(h=0);for(let f=h;f>=0;f--){const p=Vr(n,r[f]);try{const g=Cs(p,!1);g&&await $r(g,l)}catch(g){if(g===l&&l.aborted)throw g}if(p.options.notFoundComponent)return f}return c!=null&&c.routeId?h:a}function Br(n,r){r[2]&&(St(n,r[2].map(s=>s[3])),r[2]=void 0)}async function jp(n,r,s,l){let a;try{await Promise.all(n.map(c=>c[1].then(async h=>{const f=c[0];if(!(l&&f>=await l)){if(h[0]>=Nt)throw[f,h];!a&&h[0]!==un&&(a=[f,h],await Promise.all((s??[]).map(p=>{if(!(p[0]<=f))return p[1].then(g=>{if(g[0]===Nt)throw[p[0],g]})})))}})))}catch(c){return c}return r??a}function Vc(n,r,s,l,a,c){for(;l[0]===Nt;){const h=l[1],f=h.options;if(f.reloadDocument?a[3]:a[1]>=20)return l;try{return f.href&&f.reloadDocument?(n.resolveRedirect(h),l):[Nt,h,n.buildLocation({...f,_fromLocation:r[0],_includeValidateSearch:!0})]}catch(p){l=c?[En,p]:Uc(s,p),c=!0}}return l}async function Lm(n,r,s,l,a,c){const h=r[1];let f=await a,p=!1;const g=h.findIndex(k=>k._notFound),w=k=>k[1][0]===Wl?wc(n,h,k,l.signal):k[0];let y=g<0?h.length:g;if(((f==null?void 0:f[1][0])??0)>=Nt)y=0;else if(f){y=f[2]??(f[2]=await w(f));for(const k of s){if(k[0]>=y)break;const S=await k[1];if(S[0]!==un&&S[0]=y)break;const S=await k[2];if(S){f=S;break}}if(((f==null?void 0:f[1][0])??0)>=Nt){const k=f[1];if(k[0]!==Nt||k[1].options.reloadDocument||k[2])return Br(n,r),k;p=!0,f=[0,[En,new Error("Too many redirects")]]}const x=f?f[2]??await w(f):g;if(x>=0){const k=f==null?void 0:f[1],S=k==null?void 0:k[0],b=h[x],_=k==null?void 0:k[1],R=()=>{k&&(b._notFound=void 0,S===En?b.status="error":(_.routeId=b.routeId,b.routeId===n.routeTree.id?(b.status="success",b._notFound=!0):b.status="notFound"),b.error=_,b.isFetching=!1)};R(),k||c==null||c();const L=Vr(n,b);try{await $r(k?Promise.resolve().then(()=>Cs(L,S===En?"errorComponent":"notFoundComponent")):Promise.all([Cs(L),Cs(L,"notFoundComponent")]),l.signal)}catch(z){if(z===l.signal&&l.signal.aborted)return Br(n,r),cr}k?p&&(l.abort(),await Promise.all([...s.map(z=>z[1]),...s.map(z=>z[2]),...(r[2]??[]).map(z=>z[1])]),Br(n,r),St(n,h),R()):b.status="success"}return r}async function Mm(n,r,s,l=0,a=r[1].length){var h,f;const c=r[1];for(let p=l;pL._notFound);if(n.options.notFoundMode!=="root"&&g>=0){const L=await wc(n,s,void 0,c,g);s[g]._notFound=void 0,s[L]._notFound=!0,g=L}let w=g<0?s.length:g+1,y=0;for(;y{for(let L=k;L=Nt&&(w=0);b()}if(!c.aborted&&!l[3]){const L=[];for(const[z,M]of n._flights??[])M[2]||(n._flights.delete(z),L.push(M[1]));for(const z of L)z.abort()}const R=Lm(n,a,x,l[0],jp(x,_,a[2]),l[7]);(f=a[2])!=null&&f.length&&(a[3]=jp(a[2],void 0,void 0,R.then(L=>Xi(L)?0:Ac(s).length,()=>0))),h=await R}catch(p){if(Br(n,a),p===c&&c.aborted)return cr;throw p}return Xi(h)?h:Mm(n,h,c,l[6]===s.length?l[6]:0)}function kc(n,r){var c,h;if(n._tx!==r)return;const s=r[3],l=n.stores.matches.get();let a=n._pending;for(let f=0;f0){a[3]=setTimeout(()=>kc(n,r),L);return}a[2]=0}const _=s.map(L=>({...L,_flight:void 0}));_[f].status="pending";const R=a[4]=n.startTransition(()=>n.stores.setMatches(_),_).then(L=>(L&&n._pending===a&&a[4]===R&&!a[2]&&(a[2]=Date.now()+S),L));return}}function Fi(n,r){var l;const s=n._pending;(n._tx===r||!((l=n._tx)!=null&&l[3].some(a=>a.id===(s==null?void 0:s[1]))))&&(clearTimeout(s==null?void 0:s[3]),n._pending=void 0)}async function Pp(n,r){const s=n._pending;if(!s)return;clearTimeout(s[3]);const l=s[2]-Date.now();if(!s[4]||l<=0||!Ac(r[3]).some(c=>c.id===s[1]))return;let a;try{await $r(new Promise(c=>{a=setTimeout(c,l)}),r[0].signal)}catch{}clearTimeout(a)}function Im(n,r){n._committed=r,n.stores.setMatches(r)}function mx(n,r,s,l){const a=n._committed,c=n._cache;for(const p of s)p.preload=!1,l&&(p._assetEnd=void 0);const h=Ac(s).length,f=new Map;{const p=Date.now();for(const g of[...a,...c.values()]){if(g.status!=="success"||s.some((y,x)=>y.id===g.id&&(x=(g.preload?w.options.preloadGcTime??n.options.defaultPreloadGcTime??3e5:w.options.gcTime??n.options.defaultGcTime??3e5)||f.set(g.id,c.get(g.id)===g?g:{...g,_flight:void 0,isFetching:!1,context:{}})}}r[3]=[],n._cache=f,Im(n,s),St(n,[...c.values(),...a],[...s,...f.values()]),ox(n,a,s,r)}async function jl(n,r){let s=n._tx;for(;s&&s!==r;){if(await s[5],n._tx===s)return;s=n._tx}}function Dm(n,r,s){const l=s[1].options,a=s[2];if(!a)return n.navigate({...l,replace:!0,ignoreBlocker:!0});if(l.reloadDocument)return n.navigate({href:a.publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});a._redirects=r[1]+1,n._pendingLocation=a;const c=n.commitLocation({...a,viewTransition:l.viewTransition,replace:!0,resetScroll:l.resetScroll,hashScrollIntoView:l.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{n._pendingLocation===a&&(n._pendingLocation=void 0)}),c}async function gx(n,r,s,l,a){const c=s.map(p=>({...p}));$c(c);for(const p of l)Cn(n,c[p[0]]),c[p[0]]=p[3];const h=[r[2],c];let f;try{f=await Lm(n,h,l,r[0],a)}catch(p){throw St(n,c),p}if(Xi(f)){St(n,c),f[0]===Nt&&n._tx===r&&n._committed===s&&await Dm(n,r,f);return}if(await Mm(n,f,r[0].signal),n._tx!==r||n._committed!==s){St(n,c);return}for(const p of c){const g=n._cache.get(p.id);g!=null&&g._flight&&g._flight===p._flight&&(n._cache.delete(p.id),Cn(n,g))}Im(n,c),St(n,s,c)}async function yx(n,r,s,l,a,c){const h=await Tm(n,r[2],r[3],[r[0],r[1],n._committed,void 0,a,s,c,l]);if(Xi(h)){const y=h[0]===Nt&&n._tx===r;if((!y||h[1].options.reloadDocument)&&Fi(n,r),St(n,r[3]),r[3]=[],!y)return;if(n._tx!==r){Fi(n,r);return}await Dm(n,r,h);return}const f=h[1];if(n._tx===r&&await Pp(n,r),n._tx!==r){Fi(n,r),St(n,f),Br(n,h);return}const p=r[2],g=Hl(p,n.stores.resolvedLocation.get()),w=h[2];await n.startViewTransition(async()=>{var k;if(n._tx===r&&await Pp(n,r),n._tx!==r){Fi(n,r),St(n,f),Br(n,h);return}const y=()=>{Fi(n,r),mx(n,r,f,c),n._tx===r&&(n.emit({type:"onLoad",...g}),n._tx===r&&n.emit({type:"onBeforeRouteMount",...g}))},x=await n.startTransition(y,f);if(n._tx!==r){Br(n,h);return}w!=null&&w.length&&gx(n,r,f,w,h[3]).catch(console.error),n.batch(()=>{n.stores.resolvedLocation.set(p),n.stores.status.set("idle"),n._tx===r&&n.emit({type:"onResolved",...g}),x&&n._tx===r&&n.emit({type:"onRendered",...g})}),n._tx===r&&((k=n._commitPromise)==null||k.resolve(),n._commitPromise=void 0)})}async function vx(n,r){var M;const s=n._tx,l=n.stores.resolvedLocation.get(),a=l??n.stores.location.get(),c=n.latestLocation,h=n._pendingLocation,f=(h==null?void 0:h.href)===c.href?h._redirects??0:0,p=n._handoff,g=p==null?void 0:p[0](),w=new AbortController,y=n._preflight;if(n._preflight=w,g||p==null||p[1](),y==null||y.abort(),!w.signal.aborted){const A=Hl(c,l);n.emit({type:"onBeforeNavigate",...A}),w.signal.aborted||n.emit({type:"onBeforeLoad",...A})}if(w.signal.aborted){await jl(n,s);return}const x=a.href===c.href;let k=w;const S=n.matchRoutes(c,{_controller:w});$c(S);const b=g?p[1](S):void 0;if(b?k=g:g==null||g.abort(),w.signal.aborted){St(n,S),await jl(n,s);return}n._preflight=void 0;let _;const R=()=>yx(n,z,x,()=>kc(n,z),r==null?void 0:r.sync,b),L=r!=null&&r.sync?new Promise(A=>_=A):Promise.resolve().then(R).then(),z=[k,f,c,S,Date.now(),L];if(n._tx=z,s){for(const A of n.stores.matches.get()){if(n._tx!==z)break;A.isFetching&&eo(n,A,!1)}s[0].abort(),St(n,s[3],z[3],!0)}if(n._tx!==z){St(n,z[3]),z[3]=[],_==null||_(),await jl(n,z);return}n.batch(()=>{n.stores.status.set("pending"),n.stores.location.set(c)}),(b||!n._committed.length&&((M=S[0])==null?void 0:M.status)!=="success"&&!S.some(A=>A._notFound))&&kc(n,z),_==null||_(R()),await L,await jl(n,z)}async function xx(n,r){let s=n.buildLocation(r);for(let l=0;;l++){const a=n._committed,c=new AbortController;let h,f,p;try{try{h=n.matchRoutes(s,{_controller:c}),$c(h),f=(n._preloads??(n._preloads=new Map)).set(c,h),p=await Tm(n,s,h,[c,l,a,!0])}finally{f&&(f=f.delete(c),St(n,h)),c.abort()}if(!Xi(p))return p[1];if(!f||p.length<3)return;s=p[2]}catch(g){Vs(g)||console.error(g);return}}}const wx="Error preloading route! ☝️";var zm=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(n){if(this.init=r=>{var p,g;this.originalIndex=r.originalIndex;const s=this.options,l=!(s!=null&&s.path)&&!(s!=null&&s.id);this.parentRoute=(g=(p=this.options).getParentRoute)==null?void 0:g.call(p),l?this._path=_s:this.parentRoute||zc();let a=l?_s:s==null?void 0:s.path;a&&a!=="/"&&(a=Cm(a));const c=(s==null?void 0:s.id)||a;let h=l?_s:Nl([this.parentRoute.id==="__root__"?"":this.parentRoute.id,c]);a==="__root__"&&(a="/"),h!=="__root__"&&(h=Nl(["/",h]));const f=h==="__root__"?"/":Nl([this.parentRoute.fullPath,a]);this._path=a,this._id=h,this._fullPath=f,this._to=_n(f)},this.addChildren=r=>this._addFileChildren(r),this._addFileChildren=r=>(Array.isArray(r)&&(this.children=r),typeof r=="object"&&r!==null&&(this.children=Object.values(r)),this),this._addFileTypes=()=>this,this.updateLoader=r=>(Object.assign(this.options,r),this),this.update=r=>(Object.assign(this.options,r),this),this.lazy=r=>(this.lazyFn=r,this),this.redirect=r=>jm({from:this.fullPath,...r}),this.options=n||{},this.isRoot=!(n!=null&&n.getParentRoute),n!=null&&n.id&&(n!=null&&n.path))throw new Error("Route cannot have both an 'id' and a 'path' option.")}},kx=class extends zm{constructor(n){super(n)}},Hc=class extends W.Component{constructor(...n){super(...n),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(n,r){const s=n.getResetKey();return r.error&&r.resetKey!==s?{resetKey:s,error:null}:{resetKey:s}}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){var s,l;(l=(s=this.props).onCatch)==null||l.call(s,n,r)}render(){const n=this.state.error;return n?W.createElement(this.props.errorComponent??Sx,{error:n,reset:this.reset}):this.props.children}};function Sx({error:n}){const[r,s]=W.useState(!1);return m.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[m.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[m.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),m.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>s(l=>!l),children:r?"Hide Error":"Show Error"})]}),m.jsx("div",{style:{height:".25rem"}}),r?m.jsx("div",{children:m.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:n.message?m.jsx("code",{children:n.message}):null})}):null]})}function bx({children:n,fallback:r=null}){return m.jsx(qt.Fragment,{children:Fm()?n:r})}function Fm(){return qt.useSyncExternalStore(_x,()=>!0,()=>!1)}function _x(){return()=>{}}var Om=W.createContext(null);function Gt(n){return W.useContext(Om)}var Ql=W.createContext(void 0),Cx=W.createContext(void 0),Ue=(n=>(n[n.None=0]="None",n[n.Mutable=1]="Mutable",n[n.Watching=2]="Watching",n[n.RecursedCheck=4]="RecursedCheck",n[n.Recursed=8]="Recursed",n[n.Dirty=16]="Dirty",n[n.Pending=32]="Pending",n))(Ue||{});function Ex({update:n,notify:r,unwatched:s}){return{link:l,unlink:a,propagate:c,checkDirty:h,shallowPropagate:f};function l(g,w,y){const x=w.depsTail;if(x!==void 0&&x.dep===g)return;const k=x!==void 0?x.nextDep:w.deps;if(k!==void 0&&k.dep===g){k.version=y,w.depsTail=k;return}const S=g.subsTail;if(S!==void 0&&S.version===y&&S.sub===w)return;const b=w.depsTail=g.subsTail={version:y,dep:g,sub:w,prevDep:x,nextDep:k,prevSub:S,nextSub:void 0};k!==void 0&&(k.prevDep=b),x!==void 0?x.nextDep=b:w.deps=b,S!==void 0?S.nextSub=b:g.subs=b}function a(g,w=g.sub){const y=g.dep,x=g.prevDep,k=g.nextDep,S=g.nextSub,b=g.prevSub;return k!==void 0?k.prevDep=x:w.depsTail=x,x!==void 0?x.nextDep=k:w.deps=k,S!==void 0?S.prevSub=b:y.subsTail=b,b!==void 0?b.nextSub=S:(y.subs=S)===void 0&&s(y),k}function c(g){let w=g.nextSub,y;e:do{const x=g.sub;let k=x.flags;if(k&60?k&12?k&4?!(k&48)&&p(g,x)?(x.flags=k|40,k&=1):k=0:x.flags=k&-9|32:k=0:x.flags=k|32,k&2&&r(x),k&1){const S=x.subs;if(S!==void 0){const b=(g=S).nextSub;b!==void 0&&(y={value:w,prev:y},w=b);continue}}if((g=w)!==void 0){w=g.nextSub;continue}for(;y!==void 0;)if(g=y.value,y=y.prev,g!==void 0){w=g.nextSub;continue e}break}while(!0)}function h(g,w){let y,x=0,k=!1;e:do{const S=g.dep,b=S.flags;if(w.flags&16)k=!0;else if((b&17)===17){if(n(S)){const _=S.subs;_.nextSub!==void 0&&f(_),k=!0}}else if((b&33)===33){(g.nextSub!==void 0||g.prevSub!==void 0)&&(y={value:g,prev:y}),g=S.deps,w=S,++x;continue}if(!k){const _=g.nextDep;if(_!==void 0){g=_;continue}}for(;x--;){const _=w.subs,R=_.nextSub!==void 0;if(R?(g=y.value,y=y.prev):g=_,k){if(n(w)){R&&f(_),w=g.sub;continue}k=!1}else w.flags&=-33;w=g.sub;const L=g.nextDep;if(L!==void 0){g=L;continue e}}return k}while(!0)}function f(g){do{const w=g.sub,y=w.flags;(y&48)===32&&(w.flags=y|16,(y&6)===2&&r(w))}while((g=g.nextSub)!==void 0)}function p(g,w){let y=w.depsTail;for(;y!==void 0;){if(y===g)return!0;y=y.prevDep}return!1}}function jx(n,r,s){var c,h,f;const l=typeof n=="object",a=l?n:void 0;return{next:(c=l?n.next:n)==null?void 0:c.bind(a),error:(h=l?n.error:r)==null?void 0:h.bind(a),complete:(f=l?n.complete:s)==null?void 0:f.bind(a)}}const Sc=[];let Tl=0;const{link:Np,unlink:Px,propagate:Nx,checkDirty:Am,shallowPropagate:Rp}=Ex({update(n){return n._update()},notify(n){Sc[bc++]=n,n.flags&=~Ue.Watching},unwatched(n){n.depsTail!==void 0&&(n.depsTail=void 0,n.flags=Ue.Mutable|Ue.Dirty,Bl(n))}});let Pl=0,bc=0,rn,_c=0;function Rx(n){try{++_c,n()}finally{--_c||Um()}}function Bl(n){const r=n.depsTail;let s=r!==void 0?r.nextDep:n.deps;for(;s!==void 0;)s=Px(s,n)}function Um(){if(!(_c>0)){for(;Pl{var g;a.get(),f.current?(g=h.next)==null||g.call(h,a._snapshot):f.current=!0});return{unsubscribe:()=>{p.stop()}}},_update(c){const h=rn,f=(r==null?void 0:r.compare)??Object.is;if(s)rn=a,++Tl,a.depsTail=void 0;else if(c===void 0)return!1;s&&(a.flags=Ue.Mutable|Ue.RecursedCheck);try{const p=a._snapshot,g=typeof c=="function"?c(p):c===void 0&&s?l(p):c;return p===void 0||!f(p,g)?(a._snapshot=g,!0):!1}finally{rn=h,s&&(a.flags&=~Ue.RecursedCheck),Bl(a)}}};return s?(a.flags=Ue.Mutable|Ue.Dirty,a.get=function(){const c=a.flags;if(c&Ue.Dirty||c&Ue.Pending&&Am(a.deps,a)){if(a._update()){const h=a.subs;h!==void 0&&Rp(h)}}else c&Ue.Pending&&(a.flags=c&~Ue.Pending);return rn!==void 0&&Np(a,rn,Tl),a._snapshot}):a.set=function(c){if(a._update(c)){const h=a.subs;h!==void 0&&(Nx(h),Rp(h),Um())}},a}function Lx(n){const r=()=>{const l=rn;rn=s,++Tl,s.depsTail=void 0,s.flags=Ue.Watching|Ue.RecursedCheck;try{return n()}finally{rn=l,s.flags&=~Ue.RecursedCheck,Bl(s)}},s={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Ue.Watching|Ue.RecursedCheck,notify(){const l=this.flags;l&Ue.Dirty||l&Ue.Pending&&Am(this.deps,this)?r():this.flags=Ue.Watching},stop(){this.flags=Ue.None,this.depsTail=void 0,Bl(this)}};return r(),s}var Qu={exports:{}},Ku={},qu={exports:{}},Gu={};/** * @license React * use-sync-external-store-shim.production.js * @@ -46,7 +46,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Mp;function Mx(){if(Mp)return qu;Mp=1;var n=io();function r(y,x){return y===x&&(y!==0||1/y===1/x)||y!==y&&x!==x}var s=typeof Object.is=="function"?Object.is:r,l=n.useState,a=n.useEffect,c=n.useLayoutEffect,h=n.useDebugValue;function f(y,x){var k=x(),S=l({inst:{value:k,getSnapshot:x}}),b=S[0].inst,_=S[1];return c(function(){b.value=k,b.getSnapshot=x,p(b)&&_({inst:b})},[y,k,x]),a(function(){return p(b)&&_({inst:b}),y(function(){p(b)&&_({inst:b})})},[y]),h(k),k}function p(y){var x=y.getSnapshot;y=y.value;try{var k=x();return!s(y,k)}catch{return!0}}function m(y,x){return x()}var w=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:f;return qu.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:w,qu}var Tp;function Tx(){return Tp||(Tp=1,Gu.exports=Mx()),Gu.exports}/** + */var Mp;function Mx(){if(Mp)return Gu;Mp=1;var n=lo();function r(y,x){return y===x&&(y!==0||1/y===1/x)||y!==y&&x!==x}var s=typeof Object.is=="function"?Object.is:r,l=n.useState,a=n.useEffect,c=n.useLayoutEffect,h=n.useDebugValue;function f(y,x){var k=x(),S=l({inst:{value:k,getSnapshot:x}}),b=S[0].inst,_=S[1];return c(function(){b.value=k,b.getSnapshot=x,p(b)&&_({inst:b})},[y,k,x]),a(function(){return p(b)&&_({inst:b}),y(function(){p(b)&&_({inst:b})})},[y]),h(k),k}function p(y){var x=y.getSnapshot;y=y.value;try{var k=x();return!s(y,k)}catch{return!0}}function g(y,x){return x()}var w=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?g:f;return Gu.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:w,Gu}var Tp;function Tx(){return Tp||(Tp=1,qu.exports=Mx()),qu.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -54,7 +54,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ip;function Ix(){if(Ip)return Ku;Ip=1;var n=io(),r=Tx();function s(m,w){return m===w&&(m!==0||1/m===1/w)||m!==m&&w!==w}var l=typeof Object.is=="function"?Object.is:s,a=r.useSyncExternalStore,c=n.useRef,h=n.useEffect,f=n.useMemo,p=n.useDebugValue;return Ku.useSyncExternalStoreWithSelector=function(m,w,y,x,k){var S=c(null);if(S.current===null){var b={hasValue:!1,value:null};S.current=b}else b=S.current;S=f(function(){function R(F){if(!L){if(L=!0,z=F,F=x(F),k!==void 0&&b.hasValue){var G=b.value;if(k(G,F))return M=G}return M=F}if(G=M,l(z,F))return G;var V=x(F);return k!==void 0&&k(G,V)?(z=F,G):(z=F,M=V)}var L=!1,z,M,A=y===void 0?null:y;return[function(){return R(w())},A===null?void 0:function(){return R(A())}]},[w,y,x,k]);var _=a(m,S[0],S[1]);return h(function(){b.hasValue=!0,b.value=_},[_]),p(_),_},Ku}var Dp;function Dx(){return Dp||(Dp=1,Qu.exports=Ix()),Qu.exports}var zx=Dx();function Fx(n,r){return n===r}function jn(n,r,s=Fx){const l=W.useCallback(h=>{if(!n)return()=>{};const{unsubscribe:f}=n.subscribe(h);return f},[n]),a=W.useCallback(()=>n==null?void 0:n.get(),[n]);return zx.useSyncExternalStoreWithSelector(l,a,a,r,s)}var zp={};function Bm(n,r){const s=W.useRef();return l=>{const a=n!=null&&n.select?n.select(l):l;return(n==null?void 0:n.structuralSharing)??r.options.defaultStructuralSharing?s.current=Mr(s.current,a):a}}function Wr(n){const r=qt(),s=W.useContext(n.from?Cx:Ql),l=n.from??s,a=r.stores.getMatchStore(l),c=Bm(n,r),h=jn(a,f=>f?c(f):zp);if(h!==zp)return h;(n.shouldThrow??!0)&&zc()}function $m(n){return Wr({from:n.from,strict:n.strict,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.loaderData):r.loaderData})}function Vm(n){const{select:r,...s}=n;return Wr({...s,select:l=>r?r(l.loaderDeps):l.loaderDeps})}function Hm(n){return Wr({from:n.from,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,strict:n.strict,select:r=>{const s=n.strict===!1?r.params:r._strictParams;return n.select?n.select(s):s}})}function Wm(n){return Wr({from:n.from,strict:n.strict,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.search):r.search})}function lo(n){const r=qt();return W.useCallback(s=>r.navigate({...s,from:s.from??(n==null?void 0:n.from)}),[n==null?void 0:n.from,r])}function Qm(n){return Wr({...n,select:r=>n.select?n.select(r.context):r.context})}function Zu(n){const r=W.useRef(n);return ar(r.current,n,{ignoreUndefined:!1})||(r.current=n),r.current}function Ox(n,r){return n[0]===r[0]&&n[1]===r[1]&&n[2]===r[2]}function Ax(n,r,s){if(n!=null&&n.external)return zl(n.href,s)?void 0:n.href;if(!Qx(r)&&!(typeof r!="string"||r.indexOf(":")===-1))try{return new URL(r),zl(r,s)?void 0:r}catch{}}function Ux(n,r,s,l,a,c){if(c)return!1;if(s!=null&&s.exact){if(!Fv(n.pathname,r.pathname,l))return!1}else{const h=Ol(n.pathname,l),f=Ol(r.pathname,l);if(!(h.startsWith(f)&&(h.length===f.length||h[f.length]==="/")))return!1}return((s==null?void 0:s.includeSearch)??!0)&&!ar(n.search,r.search,{partial:!(s!=null&&s.exact),ignoreUndefined:!(s!=null&&s.explicitUndefined)})?!1:s!=null&&s.includeHash?a&&n.hash===r.hash:!0}function Bx(n,r){const s=qt(),l=xv(r),{activeProps:a,inactiveProps:c,activeOptions:h,to:f,preload:p,preloadDelay:m,preloadIntentProximity:w,hashScrollIntoView:y,replace:x,startTransition:k,resetScroll:S,viewTransition:b,children:_,target:R,disabled:L,style:z,className:M,onClick:A,onBlur:F,onFocus:G,onMouseEnter:V,onMouseLeave:O,onTouchStart:Q,ignoreBlocker:X,params:Z,search:ae,hash:H,state:te,mask:ye,reloadDocument:he,unsafeRelative:Y,from:J,_fromLocation:ee,...P}=n,U=Fm(),pe=Zu(n.search),ge=Zu(n.params),Se=Zu(h),ve=W.useMemo(()=>n,[s,n.from,n._fromLocation,n.hash,n.to,pe,ge,n.state,n.mask,n.unsafeRelative]),Re=W.useCallback(Ke=>{const Mt=s.buildLocation({_fromLocation:Ke,...ve}),Yt=Wx(Mt.maskedLocation?Mt.maskedLocation.publicHref:Mt.publicHref,Mt.maskedLocation?Mt.maskedLocation.external:Mt.external,s.history,L),Gs=Ax(Yt,f,s.protocolAllowlist);return[Yt==null?void 0:Yt.href,Gs,Ux(Ke,Mt,Se,s.basepath,U,Gs!==void 0)]},[Se,L,U,ve,s,f]),[Ee,Le,tt]=jn(s.stores.location,Re,Ox),cn=tt?Bs(a,{})??$x:Yu,fr=tt?Yu:Bs(c,{})??Yu,hr=[M,cn.className,fr.className].filter(Boolean).join(" "),Qr=(z||cn.style||fr.style)&&{...z,...cn.style,...fr.style},Ks=W.useRef(!1),Zt=n.reloadDocument||Le||L?!1:p??s.options.defaultPreload,pr=m??s.options.defaultPreloadDelay??0,dn=W.useCallback(()=>{s.preloadRoute(ve).catch(Ke=>{console.warn(Ke),console.warn(wx)})},[s,ve]),mr=W.useCallback(Ke=>{if(!Ke){Xu(l);return}if(!(Ke.isIntersecting??Zt==="intent")){Ke.isIntersecting===!1&&Xu(l);return}if(!pr){dn();return}Vi.has(l)||Vi.set(l,setTimeout(()=>{Vi.delete(l),dn()},pr))},[dn,l,Zt,pr]);vv(l,mr,Zt!=="viewport"),W.useEffect(()=>{Ks.current||Zt==="render"&&(dn(),Ks.current=!0)},[dn,Zt]);const gr=Ke=>{const Mt=Ke.currentTarget.getAttribute("target"),Yt=R!==void 0?R:Mt;!L&&!(Ke.metaKey||Ke.altKey||Ke.ctrlKey||Ke.shiftKey)&&!Ke.defaultPrevented&&(!Yt||Yt==="_self")&&Ke.button===0&&(Ke.preventDefault(),s.navigate({...ve,replace:x,resetScroll:S,hashScrollIntoView:y,startTransition:k,viewTransition:b,ignoreBlocker:X}))};if(Le)return{...P,ref:l,href:Le,..._&&{children:_},...R&&{target:R},...L&&{disabled:L},...z&&{style:z},...M&&{className:M},...A&&{onClick:A},...F&&{onBlur:F},...G&&{onFocus:G},...V&&{onMouseEnter:V},...O&&{onMouseLeave:O},...Q&&{onTouchStart:Q}};const Pn=()=>{Zt==="intent"&&dn()},Kr=()=>{Zt==="intent"&&Xu(l)};return{...P,...cn,...fr,href:Ee,ref:l,onClick:vs([A,gr]),onBlur:vs([F,Kr]),onFocus:vs([G,mr]),onMouseEnter:vs([V,mr]),onMouseLeave:vs([O,Kr]),onTouchStart:vs([Q,Pn]),disabled:!!L,target:R,...Qr&&{style:Qr},...hr&&{className:hr},...L&&Vx,...tt&&Hx}}var Yu={},$x={className:"active"},Vx={role:"link","aria-disabled":!0},Hx={"data-status":"active","aria-current":"page"},Vi=new WeakMap,Xu=n=>{clearTimeout(Vi.get(n)),Vi.delete(n)},vs=n=>r=>{for(const s of n)if(s){if(r.defaultPrevented)return;s(r)}};function Wx(n,r,s,l){if(!l)return r?{href:n,external:!0}:{href:s.createHref(n)||"/",external:!1}}function Qx(n){if(typeof n!="string")return!1;const r=n.charCodeAt(0);return r===47?n.charCodeAt(1)!==47:r===46}var Kl=W.forwardRef((n,r)=>{const{_asChild:s,...l}=n,{type:a,...c}=Bx(l,r),h=typeof l.children=="function"?l.children({isActive:c["data-status"]==="active"}):l.children;if(!s){const{disabled:f,...p}=c;return W.createElement("a",p,h)}return W.createElement(s,c,h)}),Kx=class extends zm{constructor(n){super(n),this.useMatch=r=>Wr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Qm({...r,from:this.id}),this.useSearch=r=>Wm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Hm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Vm({...r,from:this.id}),this.useLoaderData=r=>$m({...r,from:this.id}),this.useNavigate=()=>lo({from:this.fullPath}),this.Link=Gt.forwardRef((r,s)=>g.jsx(Kl,{ref:s,from:this.fullPath,...r}))}};function ao(n){return new Kx(n)}var Gx=class extends kx{constructor(n){super(n),this.useMatch=r=>Wr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Qm({...r,from:this.id}),this.useSearch=r=>Wm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Hm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Vm({...r,from:this.id}),this.useLoaderData=r=>$m({...r,from:this.id}),this.useNavigate=()=>lo({from:this.fullPath}),this.Link=Gt.forwardRef((r,s)=>g.jsx(Kl,{ref:s,from:this.fullPath,...r}))}};function qx(n){return new Gx(n)}function Zx(n){const r=qt(),s=`not-found-${jn(r.stores.location,l=>l.pathname)}-${jn(r.stores.status,l=>l)}`;return g.jsx(Hc,{getResetKey:()=>s,onCatch:(l,a)=>{var c;if($s(l))(c=n.onCatch)==null||c.call(n,l,a);else throw l},errorComponent:({error:l})=>{var a;if($s(l))return(a=n.fallback)==null?void 0:a.call(n,l);throw l},children:n.children})}function Yx(){return g.jsx("p",{children:"Not Found"})}function ws(n){return g.jsx(g.Fragment,{children:n.children})}function Km(n,r,s){return r.options.notFoundComponent?g.jsx(r.options.notFoundComponent,{...s}):n.options.defaultNotFoundComponent?g.jsx(n.options.defaultNotFoundComponent,{...s}):g.jsx(Yx,{})}function Gl(n,r){const s=(r==null?void 0:r.options.pendingComponent)??n.options.defaultPendingComponent;return s?g.jsx(s,{}):null}var Xx=(n,r)=>n[0]===r[0]&&n[1]===r[1],Gm=(n,r,s)=>!r.isRoot||r.options.shellComponent||r.options.wrapInSuspense||s===!1||s==="data-only"||!n.ssr,qm=W.memo(function({routeId:r}){const s=qt();return g.jsx(Jx,{router:s,match:jn(s.stores.getMatchStore(r),l=>l)})});function Jx({router:n,match:r}){var y,x;const s=n.routesById[r.routeId],l=Gl(n,s),a=s.options.errorComponent??n.options.defaultErrorComponent,c=s.options.onCatch??n.options.defaultOnCatch,h=s.isRoot?s.options.notFoundComponent??((y=n.options.notFoundRoute)==null?void 0:y.options.component):s.options.notFoundComponent,f=r.ssr===!1||r.ssr==="data-only",p=Gm(n,s,r.ssr)&&(s.options.wrapInSuspense??l??(((x=s.options.errorComponent)==null?void 0:x.preload)||f))?W.Suspense:ws,m=a?Hc:ws,w=h?Zx:ws;return g.jsxs(s.isRoot?s.options.shellComponent??ws:ws,{children:[g.jsx(Ql.Provider,{value:r.routeId,children:g.jsx(p,{fallback:l,children:g.jsx(m,{getResetKey:()=>r,errorComponent:a,onCatch:(k,S)=>{if($s(k))throw k.routeId??(k.routeId=r.routeId),k;c==null||c(k,S)},children:g.jsx(w,{fallback:k=>{if(k.routeId??(k.routeId=r.routeId),k.routeId!==r.routeId)throw k;return W.createElement(h,k)},children:f?g.jsx(bx,{fallback:l,children:g.jsx(Fp,{match:r})}):g.jsx(Fp,{match:r})})})})}),null]})}var Fp=W.memo(function({match:r}){const s=qt(),l=r.routeId,a=s.routesById[l],c=W.useMemo(()=>{var p;const f=(p=a.options.remountDeps??s.options.defaultRemountDeps)==null?void 0:p({routeId:l,loaderDeps:r.loaderDeps,params:r._strictParams,search:r._strictSearch});return f?JSON.stringify(f):void 0},[l,r.loaderDeps,r._strictParams,r._strictSearch,a.options.remountDeps,s.options.defaultRemountDeps]),h=W.useMemo(()=>{const f=a.options.component??s.options.defaultComponent;return f?g.jsx(f,{},c):g.jsx(Zm,{})},[c,a.options.component,s.options.defaultComponent]);if(r.status==="pending"){if(s.ssr&&!Gm(s,a,r.ssr))return h;if(s._tx)throw s._tx[5];return Gl(s,a)}if(r.status==="notFound")return Km(s,a,r.error);if(r.status==="error")throw r.error;return h}),Zm=W.memo(function(){const r=qt(),s=W.useContext(Ql);let l,a,c;{const f=r.stores.getMatchStore(s);[l,a]=jn(f,p=>[!!p._notFound,p.error],Xx),c=jn(r.stores.ids,p=>p[p.indexOf(s)+1])}if(l)return Km(r,r.routesById[s],a);if(!c)return null;const h=g.jsx(qm,{routeId:c});return s===bs?g.jsx(W.Suspense,{fallback:Gl(r),children:h}):h});function Ym(n,r){const s=n[1];n.length=0,s==null||s(r)}function e1({t:n}){const r=qt(),s=r._rendered??(r._rendered=[]);return r.startTransition=(l,a)=>new Promise(c=>{Ym(s,!1),s.push(a,c),n(r),W.startTransition(l)}),ym(()=>{const l=r.history.subscribe(r.load);r.updateLatestLocation();const a=r.latestLocation,c=r.buildLocation({to:a.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(_n(a.publicHref)!==_n(c.publicHref))return r.commitLocation({...c,replace:!0,ignoreBlocker:!0}),l;const h=r.stores.resolvedLocation.get();return(h==null?void 0:h.href)===a.href&&h.state.__TSR_key===a.state.__TSR_key?s.push(r.stores.matches.get(),f=>{f&&r.emit({type:"onRendered",...Hl(h,h)})}):r._tx||r.load({sync:!0}).catch(console.error),l},[r,r.history]),null}function t1(){const n=qt(),r=n.routesById[bs],s=Gl(n,r),l=n.ssr?ws:W.Suspense,a=g.jsxs(g.Fragment,{children:[g.jsx(e1,{t:W.useState()[1]}),g.jsx(l,{fallback:s,children:g.jsx(n1,{})})]});return n.options.InnerWrap?g.jsx(n.options.InnerWrap,{children:a}):a}function n1(){const n=qt(),r=n._rendered,s=jn(n.stores.matches,h=>r[0]??h),l=s[0],a=l==null?void 0:l.routeId;ym(()=>{r[0]===s&&Ym(r,!0)},[r,s]);const c=a?g.jsx(qm,{routeId:a}):null;return g.jsx(Ql.Provider,{value:a,children:n.options.disableGlobalCatchBoundary?c:g.jsx(Hc,{getResetKey:()=>l,onCatch:void 0,children:c})})}var r1=n=>({createMutableStore:Lp,createReadonlyStore:Lp,batch:Rx}),s1=n=>new i1(n),i1=class extends lx{constructor(n){super(n,r1)}};function o1({router:n,children:r,...s}){xm(s)&&n.update({...n.options,...s,context:{...n.options.context,...s.context}});const l=g.jsx(Om.Provider,{value:n,children:r});return n.options.Wrap?g.jsx(n.options.Wrap,{children:l}):l}function l1({router:n,...r}){return g.jsx(o1,{router:n,...r,children:g.jsx(t1,{})})}function Op(n){const r=qt({warn:(n==null?void 0:n.router)===void 0}),s=(n==null?void 0:n.router)||r;return jn(s.stores.__store,Bm(n,s))}const a1="modulepreload",u1=function(n){return"/"+n},Ap={},Lt=function(r,s,l){let a=Promise.resolve();if(s&&s.length>0){let h=function(m){return Promise.all(m.map(w=>Promise.resolve(w).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),p=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));a=h(s.map(m=>{if(m=u1(m),m in Ap)return;Ap[m]=!0;const w=m.endsWith(".css"),y=w?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${y}`))return;const x=document.createElement("link");if(x.rel=w?"stylesheet":a1,w||(x.as="script"),x.crossOrigin="",x.href=m,p&&x.setAttribute("nonce",p),document.head.appendChild(x),w)return new Promise((k,S)=>{x.addEventListener("load",k),x.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${m}`)))})}))}function c(h){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=h,window.dispatchEvent(f),!f.defaultPrevented)throw h}return a.then(h=>{for(const f of h||[])f.status==="rejected"&&c(f.reason);return r().catch(c)})};/** + */var Ip;function Ix(){if(Ip)return Ku;Ip=1;var n=lo(),r=Tx();function s(g,w){return g===w&&(g!==0||1/g===1/w)||g!==g&&w!==w}var l=typeof Object.is=="function"?Object.is:s,a=r.useSyncExternalStore,c=n.useRef,h=n.useEffect,f=n.useMemo,p=n.useDebugValue;return Ku.useSyncExternalStoreWithSelector=function(g,w,y,x,k){var S=c(null);if(S.current===null){var b={hasValue:!1,value:null};S.current=b}else b=S.current;S=f(function(){function R(F){if(!L){if(L=!0,z=F,F=x(F),k!==void 0&&b.hasValue){var q=b.value;if(k(q,F))return M=q}return M=F}if(q=M,l(z,F))return q;var V=x(F);return k!==void 0&&k(q,V)?(z=F,q):(z=F,M=V)}var L=!1,z,M,A=y===void 0?null:y;return[function(){return R(w())},A===null?void 0:function(){return R(A())}]},[w,y,x,k]);var _=a(g,S[0],S[1]);return h(function(){b.hasValue=!0,b.value=_},[_]),p(_),_},Ku}var Dp;function Dx(){return Dp||(Dp=1,Qu.exports=Ix()),Qu.exports}var zx=Dx();function Fx(n,r){return n===r}function jn(n,r,s=Fx){const l=W.useCallback(h=>{if(!n)return()=>{};const{unsubscribe:f}=n.subscribe(h);return f},[n]),a=W.useCallback(()=>n==null?void 0:n.get(),[n]);return zx.useSyncExternalStoreWithSelector(l,a,a,r,s)}var zp={};function Bm(n,r){const s=W.useRef();return l=>{const a=n!=null&&n.select?n.select(l):l;return(n==null?void 0:n.structuralSharing)??r.options.defaultStructuralSharing?s.current=Lr(s.current,a):a}}function Hr(n){const r=Gt(),s=W.useContext(n.from?Cx:Ql),l=n.from??s,a=r.stores.getMatchStore(l),c=Bm(n,r),h=jn(a,f=>f?c(f):zp);if(h!==zp)return h;(n.shouldThrow??!0)&&zc()}function $m(n){return Hr({from:n.from,strict:n.strict,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.loaderData):r.loaderData})}function Vm(n){const{select:r,...s}=n;return Hr({...s,select:l=>r?r(l.loaderDeps):l.loaderDeps})}function Hm(n){return Hr({from:n.from,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,strict:n.strict,select:r=>{const s=n.strict===!1?r.params:r._strictParams;return n.select?n.select(s):s}})}function Wm(n){return Hr({from:n.from,strict:n.strict,shouldThrow:n.shouldThrow,structuralSharing:n.structuralSharing,select:r=>n.select?n.select(r.search):r.search})}function uo(n){const r=Gt();return W.useCallback(s=>r.navigate({...s,from:s.from??(n==null?void 0:n.from)}),[n==null?void 0:n.from,r])}function Qm(n){return Hr({...n,select:r=>n.select?n.select(r.context):r.context})}function Zu(n){const r=W.useRef(n);return ar(r.current,n,{ignoreUndefined:!1})||(r.current=n),r.current}function Ox(n,r){return n[0]===r[0]&&n[1]===r[1]&&n[2]===r[2]}function Ax(n,r,s){if(n!=null&&n.external)return zl(n.href,s)?void 0:n.href;if(!Qx(r)&&!(typeof r!="string"||r.indexOf(":")===-1))try{return new URL(r),zl(r,s)?void 0:r}catch{}}function Ux(n,r,s,l,a,c){if(c)return!1;if(s!=null&&s.exact){if(!Fv(n.pathname,r.pathname,l))return!1}else{const h=Ol(n.pathname,l),f=Ol(r.pathname,l);if(!(h.startsWith(f)&&(h.length===f.length||h[f.length]==="/")))return!1}return((s==null?void 0:s.includeSearch)??!0)&&!ar(n.search,r.search,{partial:!(s!=null&&s.exact),ignoreUndefined:!(s!=null&&s.explicitUndefined)})?!1:s!=null&&s.includeHash?a&&n.hash===r.hash:!0}function Bx(n,r){const s=Gt(),l=xv(r),{activeProps:a,inactiveProps:c,activeOptions:h,to:f,preload:p,preloadDelay:g,preloadIntentProximity:w,hashScrollIntoView:y,replace:x,startTransition:k,resetScroll:S,viewTransition:b,children:_,target:R,disabled:L,style:z,className:M,onClick:A,onBlur:F,onFocus:q,onMouseEnter:V,onMouseLeave:O,onTouchStart:Q,ignoreBlocker:X,params:Z,search:ae,hash:H,state:te,mask:ye,reloadDocument:he,unsafeRelative:Y,from:J,_fromLocation:ee,...P}=n,U=Fm(),pe=Zu(n.search),ge=Zu(n.params),Se=Zu(h),ve=W.useMemo(()=>n,[s,n.from,n._fromLocation,n.hash,n.to,pe,ge,n.state,n.mask,n.unsafeRelative]),Re=W.useCallback(Ke=>{const Mt=s.buildLocation({_fromLocation:Ke,...ve}),Yt=Wx(Mt.maskedLocation?Mt.maskedLocation.publicHref:Mt.publicHref,Mt.maskedLocation?Mt.maskedLocation.external:Mt.external,s.history,L),Zs=Ax(Yt,f,s.protocolAllowlist);return[Yt==null?void 0:Yt.href,Zs,Ux(Ke,Mt,Se,s.basepath,U,Zs!==void 0)]},[Se,L,U,ve,s,f]),[Ee,Le,tt]=jn(s.stores.location,Re,Ox),cn=tt?$s(a,{})??$x:Yu,dr=tt?Yu:$s(c,{})??Yu,fr=[M,cn.className,dr.className].filter(Boolean).join(" "),Kr=(z||cn.style||dr.style)&&{...z,...cn.style,...dr.style},Gs=W.useRef(!1),Zt=n.reloadDocument||Le||L?!1:p??s.options.defaultPreload,hr=g??s.options.defaultPreloadDelay??0,dn=W.useCallback(()=>{s.preloadRoute(ve).catch(Ke=>{console.warn(Ke),console.warn(wx)})},[s,ve]),pr=W.useCallback(Ke=>{if(!Ke){Xu(l);return}if(!(Ke.isIntersecting??Zt==="intent")){Ke.isIntersecting===!1&&Xu(l);return}if(!hr){dn();return}Wi.has(l)||Wi.set(l,setTimeout(()=>{Wi.delete(l),dn()},hr))},[dn,l,Zt,hr]);vv(l,pr,Zt!=="viewport"),W.useEffect(()=>{Gs.current||Zt==="render"&&(dn(),Gs.current=!0)},[dn,Zt]);const mr=Ke=>{const Mt=Ke.currentTarget.getAttribute("target"),Yt=R!==void 0?R:Mt;!L&&!(Ke.metaKey||Ke.altKey||Ke.ctrlKey||Ke.shiftKey)&&!Ke.defaultPrevented&&(!Yt||Yt==="_self")&&Ke.button===0&&(Ke.preventDefault(),s.navigate({...ve,replace:x,resetScroll:S,hashScrollIntoView:y,startTransition:k,viewTransition:b,ignoreBlocker:X}))};if(Le)return{...P,ref:l,href:Le,..._&&{children:_},...R&&{target:R},...L&&{disabled:L},...z&&{style:z},...M&&{className:M},...A&&{onClick:A},...F&&{onBlur:F},...q&&{onFocus:q},...V&&{onMouseEnter:V},...O&&{onMouseLeave:O},...Q&&{onTouchStart:Q}};const Pn=()=>{Zt==="intent"&&dn()},qr=()=>{Zt==="intent"&&Xu(l)};return{...P,...cn,...dr,href:Ee,ref:l,onClick:xs([A,mr]),onBlur:xs([F,qr]),onFocus:xs([q,pr]),onMouseEnter:xs([V,pr]),onMouseLeave:xs([O,qr]),onTouchStart:xs([Q,Pn]),disabled:!!L,target:R,...Kr&&{style:Kr},...fr&&{className:fr},...L&&Vx,...tt&&Hx}}var Yu={},$x={className:"active"},Vx={role:"link","aria-disabled":!0},Hx={"data-status":"active","aria-current":"page"},Wi=new WeakMap,Xu=n=>{clearTimeout(Wi.get(n)),Wi.delete(n)},xs=n=>r=>{for(const s of n)if(s){if(r.defaultPrevented)return;s(r)}};function Wx(n,r,s,l){if(!l)return r?{href:n,external:!0}:{href:s.createHref(n)||"/",external:!1}}function Qx(n){if(typeof n!="string")return!1;const r=n.charCodeAt(0);return r===47?n.charCodeAt(1)!==47:r===46}var Kl=W.forwardRef((n,r)=>{const{_asChild:s,...l}=n,{type:a,...c}=Bx(l,r),h=typeof l.children=="function"?l.children({isActive:c["data-status"]==="active"}):l.children;if(!s){const{disabled:f,...p}=c;return W.createElement("a",p,h)}return W.createElement(s,c,h)}),Kx=class extends zm{constructor(n){super(n),this.useMatch=r=>Hr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Qm({...r,from:this.id}),this.useSearch=r=>Wm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Hm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Vm({...r,from:this.id}),this.useLoaderData=r=>$m({...r,from:this.id}),this.useNavigate=()=>uo({from:this.fullPath}),this.Link=qt.forwardRef((r,s)=>m.jsx(Kl,{ref:s,from:this.fullPath,...r}))}};function Ws(n){return new Kx(n)}var qx=class extends kx{constructor(n){super(n),this.useMatch=r=>Hr({select:r==null?void 0:r.select,from:this.id,structuralSharing:r==null?void 0:r.structuralSharing}),this.useRouteContext=r=>Qm({...r,from:this.id}),this.useSearch=r=>Wm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useParams=r=>Hm({select:r==null?void 0:r.select,structuralSharing:r==null?void 0:r.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Vm({...r,from:this.id}),this.useLoaderData=r=>$m({...r,from:this.id}),this.useNavigate=()=>uo({from:this.fullPath}),this.Link=qt.forwardRef((r,s)=>m.jsx(Kl,{ref:s,from:this.fullPath,...r}))}};function Gx(n){return new qx(n)}function Zx(n){const r=Gt(),s=`not-found-${jn(r.stores.location,l=>l.pathname)}-${jn(r.stores.status,l=>l)}`;return m.jsx(Hc,{getResetKey:()=>s,onCatch:(l,a)=>{var c;if(Vs(l))(c=n.onCatch)==null||c.call(n,l,a);else throw l},errorComponent:({error:l})=>{var a;if(Vs(l))return(a=n.fallback)==null?void 0:a.call(n,l);throw l},children:n.children})}function Yx(){return m.jsx("p",{children:"Not Found"})}function ks(n){return m.jsx(m.Fragment,{children:n.children})}function Km(n,r,s){return r.options.notFoundComponent?m.jsx(r.options.notFoundComponent,{...s}):n.options.defaultNotFoundComponent?m.jsx(n.options.defaultNotFoundComponent,{...s}):m.jsx(Yx,{})}function ql(n,r){const s=(r==null?void 0:r.options.pendingComponent)??n.options.defaultPendingComponent;return s?m.jsx(s,{}):null}var Xx=(n,r)=>n[0]===r[0]&&n[1]===r[1],qm=(n,r,s)=>!r.isRoot||r.options.shellComponent||r.options.wrapInSuspense||s===!1||s==="data-only"||!n.ssr,Gm=W.memo(function({routeId:r}){const s=Gt();return m.jsx(Jx,{router:s,match:jn(s.stores.getMatchStore(r),l=>l)})});function Jx({router:n,match:r}){var y,x;const s=n.routesById[r.routeId],l=ql(n,s),a=s.options.errorComponent??n.options.defaultErrorComponent,c=s.options.onCatch??n.options.defaultOnCatch,h=s.isRoot?s.options.notFoundComponent??((y=n.options.notFoundRoute)==null?void 0:y.options.component):s.options.notFoundComponent,f=r.ssr===!1||r.ssr==="data-only",p=qm(n,s,r.ssr)&&(s.options.wrapInSuspense??l??(((x=s.options.errorComponent)==null?void 0:x.preload)||f))?W.Suspense:ks,g=a?Hc:ks,w=h?Zx:ks;return m.jsxs(s.isRoot?s.options.shellComponent??ks:ks,{children:[m.jsx(Ql.Provider,{value:r.routeId,children:m.jsx(p,{fallback:l,children:m.jsx(g,{getResetKey:()=>r,errorComponent:a,onCatch:(k,S)=>{if(Vs(k))throw k.routeId??(k.routeId=r.routeId),k;c==null||c(k,S)},children:m.jsx(w,{fallback:k=>{if(k.routeId??(k.routeId=r.routeId),k.routeId!==r.routeId)throw k;return W.createElement(h,k)},children:f?m.jsx(bx,{fallback:l,children:m.jsx(Fp,{match:r})}):m.jsx(Fp,{match:r})})})})}),null]})}var Fp=W.memo(function({match:r}){const s=Gt(),l=r.routeId,a=s.routesById[l],c=W.useMemo(()=>{var p;const f=(p=a.options.remountDeps??s.options.defaultRemountDeps)==null?void 0:p({routeId:l,loaderDeps:r.loaderDeps,params:r._strictParams,search:r._strictSearch});return f?JSON.stringify(f):void 0},[l,r.loaderDeps,r._strictParams,r._strictSearch,a.options.remountDeps,s.options.defaultRemountDeps]),h=W.useMemo(()=>{const f=a.options.component??s.options.defaultComponent;return f?m.jsx(f,{},c):m.jsx(Zm,{})},[c,a.options.component,s.options.defaultComponent]);if(r.status==="pending"){if(s.ssr&&!qm(s,a,r.ssr))return h;if(s._tx)throw s._tx[5];return ql(s,a)}if(r.status==="notFound")return Km(s,a,r.error);if(r.status==="error")throw r.error;return h}),Zm=W.memo(function(){const r=Gt(),s=W.useContext(Ql);let l,a,c;{const f=r.stores.getMatchStore(s);[l,a]=jn(f,p=>[!!p._notFound,p.error],Xx),c=jn(r.stores.ids,p=>p[p.indexOf(s)+1])}if(l)return Km(r,r.routesById[s],a);if(!c)return null;const h=m.jsx(Gm,{routeId:c});return s===_s?m.jsx(W.Suspense,{fallback:ql(r),children:h}):h});function Ym(n,r){const s=n[1];n.length=0,s==null||s(r)}function e1({t:n}){const r=Gt(),s=r._rendered??(r._rendered=[]);return r.startTransition=(l,a)=>new Promise(c=>{Ym(s,!1),s.push(a,c),n(r),W.startTransition(l)}),ym(()=>{const l=r.history.subscribe(r.load);r.updateLatestLocation();const a=r.latestLocation,c=r.buildLocation({to:a.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(_n(a.publicHref)!==_n(c.publicHref))return r.commitLocation({...c,replace:!0,ignoreBlocker:!0}),l;const h=r.stores.resolvedLocation.get();return(h==null?void 0:h.href)===a.href&&h.state.__TSR_key===a.state.__TSR_key?s.push(r.stores.matches.get(),f=>{f&&r.emit({type:"onRendered",...Hl(h,h)})}):r._tx||r.load({sync:!0}).catch(console.error),l},[r,r.history]),null}function t1(){const n=Gt(),r=n.routesById[_s],s=ql(n,r),l=n.ssr?ks:W.Suspense,a=m.jsxs(m.Fragment,{children:[m.jsx(e1,{t:W.useState()[1]}),m.jsx(l,{fallback:s,children:m.jsx(n1,{})})]});return n.options.InnerWrap?m.jsx(n.options.InnerWrap,{children:a}):a}function n1(){const n=Gt(),r=n._rendered,s=jn(n.stores.matches,h=>r[0]??h),l=s[0],a=l==null?void 0:l.routeId;ym(()=>{r[0]===s&&Ym(r,!0)},[r,s]);const c=a?m.jsx(Gm,{routeId:a}):null;return m.jsx(Ql.Provider,{value:a,children:n.options.disableGlobalCatchBoundary?c:m.jsx(Hc,{getResetKey:()=>l,onCatch:void 0,children:c})})}var r1=n=>({createMutableStore:Lp,createReadonlyStore:Lp,batch:Rx}),s1=n=>new i1(n),i1=class extends lx{constructor(n){super(n,r1)}};function o1({router:n,children:r,...s}){xm(s)&&n.update({...n.options,...s,context:{...n.options.context,...s.context}});const l=m.jsx(Om.Provider,{value:n,children:r});return n.options.Wrap?m.jsx(n.options.Wrap,{children:l}):l}function l1({router:n,...r}){return m.jsx(o1,{router:n,...r,children:m.jsx(t1,{})})}function Op(n){const r=Gt({warn:(n==null?void 0:n.router)===void 0}),s=(n==null?void 0:n.router)||r;return jn(s.stores.__store,Bm(n,s))}const a1="modulepreload",u1=function(n){return"/"+n},Ap={},Lt=function(r,s,l){let a=Promise.resolve();if(s&&s.length>0){let h=function(g){return Promise.all(g.map(w=>Promise.resolve(w).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),p=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));a=h(s.map(g=>{if(g=u1(g),g in Ap)return;Ap[g]=!0;const w=g.endsWith(".css"),y=w?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${y}`))return;const x=document.createElement("link");if(x.rel=w?"stylesheet":a1,w||(x.as="script"),x.crossOrigin="",x.href=g,p&&x.setAttribute("nonce",p),document.head.appendChild(x),w)return new Promise((k,S)=>{x.addEventListener("load",k),x.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${g}`)))})}))}function c(h){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=h,window.dispatchEvent(f),!f.defaultPrevented)throw h}return a.then(h=>{for(const f of h||[])f.status==="rejected"&&c(f.reason);return r().catch(c)})};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -69,7 +69,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const f1=W.forwardRef(({color:n="currentColor",size:r=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:a="",children:c,iconNode:h,...f},p)=>W.createElement("svg",{ref:p,...d1,width:r,height:r,stroke:n,strokeWidth:l?Number(s)*24/Number(r):s,className:Xm("lucide",a),...f},[...h.map(([m,w])=>W.createElement(m,w)),...Array.isArray(c)?c:[c]]));/** + */const f1=W.forwardRef(({color:n="currentColor",size:r=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:a="",children:c,iconNode:h,...f},p)=>W.createElement("svg",{ref:p,...d1,width:r,height:r,stroke:n,strokeWidth:l?Number(s)*24/Number(r):s,className:Xm("lucide",a),...f},[...h.map(([g,w])=>W.createElement(g,w)),...Array.isArray(c)?c:[c]]));/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -114,7 +114,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hi=ke("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const Qi=ke("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -224,7 +224,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Gc=ke("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** + */const qc=ke("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -254,7 +254,7 @@ Error generating stack: `+d.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qc=ke("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Ji=[{id:"dashboard",pfad:"/cockpit",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:P1,group:"Operativ"},{id:"ideen",pfad:"/ideen",label:"Ideen",hint:"Schreib hin, was entstehen soll",icon:R1,group:"Operativ"},{id:"auftraege",pfad:"/auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:Wc,group:"Operativ"},{id:"skills",pfad:"/skills",label:"Skills & Jobs",hint:"Autonome Skills manuell auslösen",icon:Cc,group:"Operativ"},{id:"chronik",pfad:"/chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:E1,group:"Operativ"},{id:"wissen",pfad:"/wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:N1,group:"Wissen"},{id:"connect",pfad:"/verbinden",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Kc,group:"Werkzeuge"},{id:"konsole",pfad:"/konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:z1,group:"Werkzeuge"},{id:"guide",pfad:"/anleitung",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:eg,group:"Werkzeuge"},{id:"models",pfad:"/modelle",label:"Modelle",hint:"Speicher, laden & Rollen",icon:Jm,group:"Wartung"},{id:"agent",pfad:"/agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Cc,group:"Wartung"}];function ng(n){return[...Ji].sort((r,s)=>s.pfad.length-r.pfad.length).find(r=>n===r.pfad||n.startsWith(r.pfad+"/"))}const Up=n=>{let r;const s=new Set,l=(m,w)=>{const y=typeof m=="function"?m(r):m;if(!Object.is(y,r)){const x=r;r=w??(typeof y!="object"||y===null)?y:Object.assign({},r,y),s.forEach(k=>k(r,x))}},a=()=>r,f={setState:l,getState:a,getInitialState:()=>p,subscribe:m=>(s.add(m),()=>s.delete(m))},p=r=n(l,a,f);return f},O1=(n=>n?Up(n):Up),A1=n=>n;function U1(n,r=A1){const s=Gt.useSyncExternalStore(n.subscribe,Gt.useCallback(()=>r(n.getState()),[n,r]),Gt.useCallback(()=>r(n.getInitialState()),[n,r]));return Gt.useDebugValue(s),s}const B1=n=>{const r=O1(n),s=l=>U1(r,l);return Object.assign(s,r),s},$1=(n=>B1);function V1(n,r){let s;try{s=n()}catch{return}return{getItem:a=>{var c;const h=p=>p===null?null:JSON.parse(p,void 0),f=(c=s.getItem(a))!=null?c:null;return f instanceof Promise?f.then(h):h(f)},setItem:(a,c)=>s.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>s.removeItem(a)}}const Ec=n=>r=>{try{const s=n(r);return s instanceof Promise?s:{then(l){return Ec(l)(s)},catch(l){return this}}}catch(s){return{then(l){return this},catch(l){return Ec(l)(s)}}}},H1=(n,r)=>(s,l,a)=>{let c={storage:V1(()=>window.localStorage),partialize:_=>_,version:0,merge:(_,R)=>({...R,..._}),...r},h=!1,f=0;const p=new Set,m=new Set;let w=c.storage;if(!w)return n((..._)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),s(..._)},l,a);const y=()=>{const _=c.partialize({...l()});return w.setItem(c.name,{state:_,version:c.version})},x=a.setState;a.setState=(_,R)=>(x(_,R),y());const k=n((..._)=>(s(..._),y()),l,a);a.getInitialState=()=>k;let S;const b=()=>{var _,R;if(!w)return;const L=++f;h=!1,p.forEach(M=>{var A;return M((A=l())!=null?A:k)});const z=((R=c.onRehydrateStorage)==null?void 0:R.call(c,(_=l())!=null?_:k))||void 0;return Ec(w.getItem.bind(w))(c.name).then(M=>{if(M)if(typeof M.version=="number"&&M.version!==c.version){if(c.migrate){const A=c.migrate(M.state,M.version);return A instanceof Promise?A.then(F=>[!0,F]):[!0,A]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,M.state];return[!1,void 0]}).then(M=>{var A;if(L!==f)return;const[F,G]=M;if(S=c.merge(G,(A=l())!=null?A:k),s(S,!0),F)return y()}).then(()=>{L===f&&(z==null||z(l(),void 0),S=l(),h=!0,m.forEach(M=>M(S)))}).catch(M=>{L===f&&(z==null||z(void 0,M))})};return a.persist={setOptions:_=>{c={...c,..._},_.storage&&(w=_.storage)},clearStorage:()=>{++f,w==null||w.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>b(),hasHydrated:()=>h,onHydrate:_=>(p.add(_),()=>{p.delete(_)}),onFinishHydration:_=>(m.add(_),()=>{m.delete(_)})},c.skipHydration||b(),S||k},W1=H1;let Q1=0;const Rt=$1()(W1(n=>({ui:{schieneEingeklappt:!1,paletteOffen:!1,expertenmodus:!1},strom:{lage:"getrennt",letztesEreignis:null},meldungen:[],schieneUmschalten:()=>n(r=>({ui:{...r.ui,schieneEingeklappt:!r.ui.schieneEingeklappt}})),palette:r=>n(s=>({ui:{...s.ui,paletteOffen:r}})),expertenmodus:r=>n(s=>({ui:{...s.ui,expertenmodus:r}})),stromLage:r=>n(s=>({strom:{...s.strom,lage:r}})),stromEreignis:()=>n(r=>({strom:{...r.strom,letztesEreignis:Date.now()}})),melden:(r,s)=>n(l=>({meldungen:[...l.meldungen,{id:`m${++Q1}`,art:r,text:s,seit:Date.now()}].slice(-6)})),meldungWeg:r=>n(s=>({meldungen:s.meldungen.filter(l=>l.id!==r)}))}),{name:"mc_ui",partialize:n=>({ui:{schieneEingeklappt:n.ui.schieneEingeklappt,expertenmodus:n.ui.expertenmodus}}),merge:(n,r)=>{const s=n;return{...r,ui:{...r.ui,...(s==null?void 0:s.ui)??{}}}}})),K1=()=>Rt(n=>n.ui.expertenmodus),G1=()=>Rt(n=>n.ui.schieneEingeklappt),q1=()=>Rt(n=>n.ui.paletteOffen),Z1=()=>Rt(n=>n.strom.lage),Y1=()=>Rt(n=>n.meldungen),Bp=(n,r)=>Rt.getState().melden(n,r),Ju=n=>Rt.getState().stromLage(n),X1=()=>Rt.getState().stromEreignis();function rg(n){var r,s,l="";if(typeof n=="string"||typeof n=="number")l+=n;else if(typeof n=="object")if(Array.isArray(n)){var a=n.length;for(r=0;r{const r=nw(n),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=n;return{getClassGroupId:h=>{const f=h.split(Zc);return f[0]===""&&f.length!==1&&f.shift(),sg(f,r)||tw(h)},getConflictingClassGroupIds:(h,f)=>{const p=s[h]||[];return f&&l[h]?[...p,...l[h]]:p}}},sg=(n,r)=>{var h;if(n.length===0)return r.classGroupId;const s=n[0],l=r.nextPart.get(s),a=l?sg(n.slice(1),l):void 0;if(a)return a;if(r.validators.length===0)return;const c=n.join(Zc);return(h=r.validators.find(({validator:f})=>f(c)))==null?void 0:h.classGroupId},$p=/^\[(.+)\]$/,tw=n=>{if($p.test(n)){const r=$p.exec(n)[1],s=r==null?void 0:r.substring(0,r.indexOf(":"));if(s)return"arbitrary.."+s}},nw=n=>{const{theme:r,prefix:s}=n,l={nextPart:new Map,validators:[]};return sw(Object.entries(n.classGroups),s).forEach(([c,h])=>{jc(h,l,c,r)}),l},jc=(n,r,s,l)=>{n.forEach(a=>{if(typeof a=="string"){const c=a===""?r:Vp(r,a);c.classGroupId=s;return}if(typeof a=="function"){if(rw(a)){jc(a(l),r,s,l);return}r.validators.push({validator:a,classGroupId:s});return}Object.entries(a).forEach(([c,h])=>{jc(h,Vp(r,c),s,l)})})},Vp=(n,r)=>{let s=n;return r.split(Zc).forEach(l=>{s.nextPart.has(l)||s.nextPart.set(l,{nextPart:new Map,validators:[]}),s=s.nextPart.get(l)}),s},rw=n=>n.isThemeGetter,sw=(n,r)=>r?n.map(([s,l])=>{const a=l.map(c=>typeof c=="string"?r+c:typeof c=="object"?Object.fromEntries(Object.entries(c).map(([h,f])=>[r+h,f])):c);return[s,a]}):n,iw=n=>{if(n<1)return{get:()=>{},set:()=>{}};let r=0,s=new Map,l=new Map;const a=(c,h)=>{s.set(c,h),r++,r>n&&(r=0,l=s,s=new Map)};return{get(c){let h=s.get(c);if(h!==void 0)return h;if((h=l.get(c))!==void 0)return a(c,h),h},set(c,h){s.has(c)?s.set(c,h):a(c,h)}}},ig="!",ow=n=>{const{separator:r,experimentalParseClassName:s}=n,l=r.length===1,a=r[0],c=r.length,h=f=>{const p=[];let m=0,w=0,y;for(let _=0;_w?y-w:void 0;return{modifiers:p,hasImportantModifier:k,baseClassName:S,maybePostfixModifierPosition:b}};return s?f=>s({className:f,parseClassName:h}):h},lw=n=>{if(n.length<=1)return n;const r=[];let s=[];return n.forEach(l=>{l[0]==="["?(r.push(...s.sort(),l),s=[]):s.push(l)}),r.push(...s.sort()),r},aw=n=>({cache:iw(n.cacheSize),parseClassName:ow(n),...ew(n)}),uw=/\s+/,cw=(n,r)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:a}=r,c=[],h=n.trim().split(uw);let f="";for(let p=h.length-1;p>=0;p-=1){const m=h[p],{modifiers:w,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:k}=s(m);let S=!!k,b=l(S?x.substring(0,k):x);if(!b){if(!S){f=m+(f.length>0?" "+f:f);continue}if(b=l(x),!b){f=m+(f.length>0?" "+f:f);continue}S=!1}const _=lw(w).join(":"),R=y?_+ig:_,L=R+b;if(c.includes(L))continue;c.push(L);const z=a(b,S);for(let M=0;M0?" "+f:f)}return f};function dw(){let n=0,r,s,l="";for(;n{if(typeof n=="string")return n;let r,s="";for(let l=0;ly(w),n());return s=aw(m),l=s.cache.get,a=s.cache.set,c=f,f(p)}function f(p){const m=l(p);if(m)return m;const w=cw(p,s);return a(p,w),w}return function(){return c(dw.apply(null,arguments))}}const Oe=n=>{const r=s=>s[n]||[];return r.isThemeGetter=!0,r},lg=/^\[(?:([a-z-]+):)?(.+)\]$/i,hw=/^\d+\/\d+$/,pw=new Set(["px","full","screen"]),mw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,gw=/\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$/,yw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,vw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wn=n=>Cs(n)||pw.has(n)||hw.test(n),Gn=n=>Hs(n,"length",jw),Cs=n=>!!n&&!Number.isNaN(Number(n)),ec=n=>Hs(n,"number",Cs),zi=n=>!!n&&Number.isInteger(Number(n)),ww=n=>n.endsWith("%")&&Cs(n.slice(0,-1)),me=n=>lg.test(n),qn=n=>mw.test(n),kw=new Set(["length","size","percentage"]),Sw=n=>Hs(n,kw,ag),bw=n=>Hs(n,"position",ag),_w=new Set(["image","url"]),Cw=n=>Hs(n,_w,Nw),Ew=n=>Hs(n,"",Pw),Fi=()=>!0,Hs=(n,r,s)=>{const l=lg.exec(n);return l?l[1]?typeof r=="string"?l[1]===r:r.has(l[1]):s(l[2]):!1},jw=n=>gw.test(n)&&!yw.test(n),ag=()=>!1,Pw=n=>vw.test(n),Nw=n=>xw.test(n),Rw=()=>{const n=Oe("colors"),r=Oe("spacing"),s=Oe("blur"),l=Oe("brightness"),a=Oe("borderColor"),c=Oe("borderRadius"),h=Oe("borderSpacing"),f=Oe("borderWidth"),p=Oe("contrast"),m=Oe("grayscale"),w=Oe("hueRotate"),y=Oe("invert"),x=Oe("gap"),k=Oe("gradientColorStops"),S=Oe("gradientColorStopPositions"),b=Oe("inset"),_=Oe("margin"),R=Oe("opacity"),L=Oe("padding"),z=Oe("saturate"),M=Oe("scale"),A=Oe("sepia"),F=Oe("skew"),G=Oe("space"),V=Oe("translate"),O=()=>["auto","contain","none"],Q=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto",me,r],Z=()=>[me,r],ae=()=>["",wn,Gn],H=()=>["auto",Cs,me],te=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ye=()=>["solid","dashed","dotted","double","none"],he=()=>["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"],J=()=>["","0",me],ee=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>[Cs,me];return{cacheSize:500,separator:":",theme:{colors:[Fi],spacing:[wn,Gn],blur:["none","",qn,me],brightness:P(),borderColor:[n],borderRadius:["none","","full",qn,me],borderSpacing:Z(),borderWidth:ae(),contrast:P(),grayscale:J(),hueRotate:P(),invert:J(),gap:Z(),gradientColorStops:[n],gradientColorStopPositions:[ww,Gn],inset:X(),margin:X(),opacity:P(),padding:Z(),saturate:P(),scale:P(),sepia:J(),skew:P(),space:Z(),translate:Z()},classGroups:{aspect:[{aspect:["auto","square","video",me]}],container:["container"],columns:[{columns:[qn]}],"break-after":[{"break-after":ee()}],"break-before":[{"break-before":ee()}],"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:[...te(),me]}],overflow:[{overflow:Q()}],"overflow-x":[{"overflow-x":Q()}],"overflow-y":[{"overflow-y":Q()}],overscroll:[{overscroll:O()}],"overscroll-x":[{"overscroll-x":O()}],"overscroll-y":[{"overscroll-y":O()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",zi,me]}],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",me]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",zi,me]}],"grid-cols":[{"grid-cols":[Fi]}],"col-start-end":[{col:["auto",{span:["full",zi,me]},me]}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":[Fi]}],"row-start-end":[{row:["auto",{span:[zi,me]},me]}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",me]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",me]}],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:[L]}],px:[{px:[L]}],py:[{py:[L]}],ps:[{ps:[L]}],pe:[{pe:[L]}],pt:[{pt:[L]}],pr:[{pr:[L]}],pb:[{pb:[L]}],pl:[{pl:[L]}],m:[{m:[_]}],mx:[{mx:[_]}],my:[{my:[_]}],ms:[{ms:[_]}],me:[{me:[_]}],mt:[{mt:[_]}],mr:[{mr:[_]}],mb:[{mb:[_]}],ml:[{ml:[_]}],"space-x":[{"space-x":[G]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[G]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",me,r]}],"min-w":[{"min-w":[me,r,"min","max","fit"]}],"max-w":[{"max-w":[me,r,"none","full","min","max","fit","prose",{screen:[qn]},qn]}],h:[{h:[me,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[me,r,"auto","min","max","fit"]}],"font-size":[{text:["base",qn,Gn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",ec]}],"font-family":[{font:[Fi]}],"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",me]}],"line-clamp":[{"line-clamp":["none",Cs,ec]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",wn,me]}],"list-image":[{"list-image":["none",me]}],"list-style-type":[{list:["none","disc","decimal",me]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[R]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[R]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ye(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",wn,Gn]}],"underline-offset":[{"underline-offset":["auto",wn,me]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",me]}],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",me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[R]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...te(),bw]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Sw]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Cw]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[k]}],"gradient-via":[{via:[k]}],"gradient-to":[{to:[k]}],rounded:[{rounded:[c]}],"rounded-s":[{"rounded-s":[c]}],"rounded-e":[{"rounded-e":[c]}],"rounded-t":[{"rounded-t":[c]}],"rounded-r":[{"rounded-r":[c]}],"rounded-b":[{"rounded-b":[c]}],"rounded-l":[{"rounded-l":[c]}],"rounded-ss":[{"rounded-ss":[c]}],"rounded-se":[{"rounded-se":[c]}],"rounded-ee":[{"rounded-ee":[c]}],"rounded-es":[{"rounded-es":[c]}],"rounded-tl":[{"rounded-tl":[c]}],"rounded-tr":[{"rounded-tr":[c]}],"rounded-br":[{"rounded-br":[c]}],"rounded-bl":[{"rounded-bl":[c]}],"border-w":[{border:[f]}],"border-w-x":[{"border-x":[f]}],"border-w-y":[{"border-y":[f]}],"border-w-s":[{"border-s":[f]}],"border-w-e":[{"border-e":[f]}],"border-w-t":[{"border-t":[f]}],"border-w-r":[{"border-r":[f]}],"border-w-b":[{"border-b":[f]}],"border-w-l":[{"border-l":[f]}],"border-opacity":[{"border-opacity":[R]}],"border-style":[{border:[...ye(),"hidden"]}],"divide-x":[{"divide-x":[f]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[f]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[R]}],"divide-style":[{divide:ye()}],"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:["",...ye()]}],"outline-offset":[{"outline-offset":[wn,me]}],"outline-w":[{outline:[wn,Gn]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:ae()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[R]}],"ring-offset-w":[{"ring-offset":[wn,Gn]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",qn,Ew]}],"shadow-color":[{shadow:[Fi]}],opacity:[{opacity:[R]}],"mix-blend":[{"mix-blend":[...he(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":he()}],filter:[{filter:["","none"]}],blur:[{blur:[s]}],brightness:[{brightness:[l]}],contrast:[{contrast:[p]}],"drop-shadow":[{"drop-shadow":["","none",qn,me]}],grayscale:[{grayscale:[m]}],"hue-rotate":[{"hue-rotate":[w]}],invert:[{invert:[y]}],saturate:[{saturate:[z]}],sepia:[{sepia:[A]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[s]}],"backdrop-brightness":[{"backdrop-brightness":[l]}],"backdrop-contrast":[{"backdrop-contrast":[p]}],"backdrop-grayscale":[{"backdrop-grayscale":[m]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[R]}],"backdrop-saturate":[{"backdrop-saturate":[z]}],"backdrop-sepia":[{"backdrop-sepia":[A]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[h]}],"border-spacing-x":[{"border-spacing-x":[h]}],"border-spacing-y":[{"border-spacing-y":[h]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",me]}],duration:[{duration:P()}],ease:[{ease:["linear","in","out","in-out",me]}],delay:[{delay:P()}],animate:[{animate:["none","spin","ping","pulse","bounce",me]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[M]}],"scale-x":[{"scale-x":[M]}],"scale-y":[{"scale-y":[M]}],rotate:[{rotate:[zi,me]}],"translate-x":[{"translate-x":[V]}],"translate-y":[{"translate-y":[V]}],"skew-x":[{"skew-x":[F]}],"skew-y":[{"skew-y":[F]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",me]}],accent:[{accent:["auto",n]}],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",me]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Z()}],"scroll-mx":[{"scroll-mx":Z()}],"scroll-my":[{"scroll-my":Z()}],"scroll-ms":[{"scroll-ms":Z()}],"scroll-me":[{"scroll-me":Z()}],"scroll-mt":[{"scroll-mt":Z()}],"scroll-mr":[{"scroll-mr":Z()}],"scroll-mb":[{"scroll-mb":Z()}],"scroll-ml":[{"scroll-ml":Z()}],"scroll-p":[{"scroll-p":Z()}],"scroll-px":[{"scroll-px":Z()}],"scroll-py":[{"scroll-py":Z()}],"scroll-ps":[{"scroll-ps":Z()}],"scroll-pe":[{"scroll-pe":Z()}],"scroll-pt":[{"scroll-pt":Z()}],"scroll-pr":[{"scroll-pr":Z()}],"scroll-pb":[{"scroll-pb":Z()}],"scroll-pl":[{"scroll-pl":Z()}],"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",me]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[wn,Gn,ec]}],stroke:[{stroke:[n,"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"]}}},Lw=fw(Rw);function Me(...n){return Lw(J1(n))}function Jk(n){return n?n.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function Mw(){const n=K1(),r=Rt(s=>s.expertenmodus);return g.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[g.jsxs("button",{onClick:()=>r(!1),"aria-pressed":!n,className:Me("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[g.jsx(D1,{className:"h-3.5 w-3.5"})," Einfach"]}),g.jsxs("button",{onClick:()=>r(!0),"aria-pressed":n,className:Me("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[g.jsx(I1,{className:"h-3.5 w-3.5"})," Experte"]})]})}let Es=[],js=[];const Pc=new Set,ug=()=>Pc.forEach(n=>n());function Yc(n){return Pc.add(n),()=>{Pc.delete(n)}}function cg(n){Es=[...Es,n].slice(-120),ug()}function dg(n){js=[...js,n].slice(-120),ug()}let fg=null;const hg=()=>W.useSyncExternalStore(Yc,()=>Es),pg=()=>W.useSyncExternalStore(Yc,()=>js),mg=()=>W.useSyncExternalStore(Yc,()=>fg);let Oi=null;function Tw(n){const r=Date.now();if(fg=n,cg({t:r,cpu:n.cpu??0,ram:n.ram??0,gpu:n.gpu,disk:n.disk}),Oi){const s=Math.max((r-Oi.t)/1e3,.001);dg({t:r,prompt:Math.max(0,(n.tok_p-Oi.p)/s),completion:Math.max(0,(n.tok_c-Oi.c)/s)})}Oi={p:n.tok_p,c:n.tok_c,t:r}}function Iw(){const{data:n,dataUpdatedAt:r}=uo(),{data:s,dataUpdatedAt:l}=Jc(),a=W.useRef(null);W.useEffect(()=>{var h,f,p,m;if(!n)return;const c=Date.now();Es.length&&c-Es[Es.length-1].t<1e3||cg({t:c,cpu:((h=n.cpu)==null?void 0:h.percent)??0,ram:((f=n.ram)==null?void 0:f.percent)??0,gpu:((p=n.gpu)==null?void 0:p.busy_percent)??null,disk:((m=n.disk)==null?void 0:m.percent)??null})},[r]),W.useEffect(()=>{if(!s)return;const c=Date.now(),h=s.prompt_tokens,f=s.completion_tokens;if(a.current){const p=Math.max((c-a.current.t)/1e3,.001);(!js.length||c-js[js.length-1].t>=1e3)&&dg({t:c,prompt:Math.max(0,(h-a.current.p)/p),completion:Math.max(0,(f-a.current.c)/p)})}a.current={p:h,c:f,t:c}},[l])}let Bi=!1;const gg=()=>Bi;function Dw(){const n=Dc();W.useEffect(()=>{const r=new EventSource("/api/stream");let s=!1;return r.onopen=()=>{Bi=!0,Ju("live"),s&&Bp("erfolg","Verbindung zur Zentrale ist wieder da."),s=!0,n.invalidateQueries()},r.onerror=()=>{Bi&&(Bi=!1,Ju("nachlauf"),Bp("warnung","Verbindung zur Zentrale verloren — die Anzeigen laufen im Nachlauf."),n.invalidateQueries())},r.addEventListener("invalidate",l=>{var a;try{const c=((a=JSON.parse(l.data))==null?void 0:a.keys)??[];for(const h of c)n.invalidateQueries({queryKey:[h]});X1()}catch{}}),r.addEventListener("metrik",l=>{try{Tw(JSON.parse(l.data))}catch{}}),()=>{Bi=!1,Ju("getrennt"),r.close()}},[n])}class zw extends Error{constructor(s,l,a){super(a||`${s} ${l}`);wl(this,"status");wl(this,"detail");this.name="ApiError",this.status=s,this.detail=a}}async function Fw(n){try{const r=await n.text();if(!r)return null;try{const s=JSON.parse(r),l=(s==null?void 0:s.detail)??(s==null?void 0:s.err)??(s==null?void 0:s.message);return typeof l=="string"&&l.trim()?l.trim():Array.isArray(l)&&l.length&&l.map(a=>a==null?void 0:a.msg).filter(Boolean).join("; ")||null}catch{return r.slice(0,200).split(` -`)[0].trim()||null}}catch{return null}}async function Pe(n,r){const s=await fetch(n,{...r,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers}});if(!s.ok)throw new zw(s.status,s.statusText,await Fw(s));return s.json()}const eS=(n,r,s=!1,l=!0)=>Pe("/api/groups",{method:"PUT",body:JSON.stringify({group:n,members:r,swap:s,persist:l})}),tS=n=>Pe("/api/routing/policy",{method:"PUT",body:JSON.stringify(n)}),Te={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],agentAktivitaet:["agent-aktivitaet"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:n=>["drafts",n??""],connect:n=>["connect",n??""],connectHealth:["connect-health"],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},ct={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},Ws=n=>()=>gg()?n*5:n,yg=n=>()=>gg()?6e4:n,Ow=(n=ct.schnell)=>De({queryKey:Te.auftragsbuch,queryFn:()=>Pe("/api/auftragsbuch"),refetchInterval:Ws(n)}),Aw=(n=ct.gemuetlich)=>De({queryKey:Te.ideen,queryFn:()=>Pe("/api/ideen"),refetchInterval:Ws(n)}),nS=(n,r=!1)=>De({queryKey:["ideen-log",n],queryFn:()=>Pe(`/api/ideen/${n}/log`),enabled:r,refetchInterval:4e3,staleTime:0}),rS=(n=150,r=ct.gemuetlich)=>De({queryKey:[...Te.chronik,n],queryFn:()=>Pe(`/api/chronik?limit=${n}`),refetchInterval:Ws(r),select:s=>s.items??[]}),sS=()=>De({queryKey:Te.wissen,queryFn:()=>Pe("/api/wissen")}),iS=(n=ct.traege,r=!0)=>De({queryKey:Te.zeitmaschine,queryFn:()=>Pe("/api/zeitmaschine"),refetchInterval:n,enabled:r}),Uw=(n=12,r=ct.schnell)=>De({queryKey:Te.voiceTrace,queryFn:()=>Pe(`/api/voice/trace?limit=${n}`),refetchInterval:r,select:s=>s.turns??[]}),oS=(n=!0)=>De({queryKey:Te.memoryGraph,queryFn:()=>Pe("/api/wissen/graph"),enabled:n,staleTime:60*1e3}),Xc=()=>De({queryKey:Te.health,queryFn:()=>Pe("/api/health"),refetchInterval:ct.normal}),uo=(n=ct.graph)=>De({queryKey:Te.systemStatus,queryFn:()=>Pe("/api/system/status"),refetchInterval:yg(n)}),vg=(n,r=!0)=>De({queryKey:["metrics-history",n],queryFn:()=>Pe(`/api/system/history?minutes=${n}`),enabled:r,refetchInterval:6e4}),xg=(n=ct.normal)=>De({queryKey:Te.services,queryFn:()=>Pe("/api/system/services"),refetchInterval:n}),wg=(n=ct.schnell)=>De({queryKey:Te.models,queryFn:()=>Pe("/api/models"),refetchInterval:Ws(n)}),lS=(n=ct.normal)=>De({queryKey:Te.groups,queryFn:()=>Pe("/api/groups"),refetchInterval:n}),Bw=(n=ct.normal)=>De({queryKey:Te.routing,queryFn:()=>Pe("/api/routing"),refetchInterval:n}),aS=()=>De({queryKey:Te.routingPolicy,queryFn:()=>Pe("/api/routing/policy")}),uS=(n=3e3,r=!0)=>De({queryKey:Te.jobs,queryFn:()=>Pe("/api/jobs"),refetchInterval:Ws(n),enabled:r,select:s=>s.jobs??[]}),Jc=(n=ct.graph)=>De({queryKey:Te.tokenStats,queryFn:()=>Pe("/api/system/token-stats"),refetchInterval:yg(n)}),$w=(n=ct.normal)=>De({queryKey:Te.agentStatus,queryFn:()=>Pe("/api/agent/status"),refetchInterval:n}),cS=(n=ct.gemuetlich)=>De({queryKey:Te.agentAktivitaet,queryFn:()=>Pe("/api/agent/aktivitaet?limit=80"),refetchInterval:Ws(n)}),dS=(n=ct.traege)=>De({queryKey:Te.hermesBrain,queryFn:()=>Pe("/api/agent/brain"),refetchInterval:n}),Vw=(n=ct.traege)=>De({queryKey:Te.updates,queryFn:()=>Pe("/api/maintenance/updates"),refetchInterval:n}),fS=()=>De({queryKey:Te.discover,queryFn:()=>Pe("/api/discover")}),hS=n=>De({queryKey:Te.drafts(n),queryFn:()=>Pe(`/api/models/drafts?target=${encodeURIComponent(n??"")}`),enabled:!!n}),pS=n=>De({queryKey:Te.connect(n),queryFn:()=>Pe(n?`/api/connect?${n}`:"/api/connect")}),Hw=()=>De({queryKey:Te.connectHealth,queryFn:()=>Pe("/api/connect/health"),refetchInterval:15e3});function mS(n,...r){for(const s of r)n.invalidateQueries({queryKey:s})}function an(n){return(n/1024**3).toFixed(1)}function gS(n){return n?n>1024**3?`${(n/1024**3).toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`:""}function yS(n){if(!n)return"—";const r=n/1024**3;return r>=1?`${r.toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`}function vS(n){if(!n)return"";const r=Math.floor(n/60);return r>0?`${r} min`:`${n} s`}function xS(n){return n?`${Math.round(n/1024)}k`:"—"}function wS(n){return n?new Date(n*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function Ww(n){if(n==null||n<0)return null;const r=Math.floor(n/86400),s=Math.floor(n%86400/3600),l=Math.floor(n%3600/60);return r>0?`${r} T ${s} Std`:s>0?`${s} Std ${l} min`:`${l} min`}function Hp({werte:n,farbe:r,breite:s=56,hoehe:l=14}){if(n.length<2)return g.jsx("div",{style:{width:s,height:l},"aria-hidden":"true"});const a=Math.max(...n,1),c=s/(n.length-1),h=n.map((f,p)=>`${p===0?"M":"L"}${(p*c).toFixed(1)},${(l-f/a*l).toFixed(1)}`).join(" ");return g.jsx("svg",{width:s,height:l,viewBox:`0 0 ${s} ${l}`,"aria-hidden":"true",className:"shrink-0",children:g.jsx("path",{d:h,fill:"none",stroke:r,strokeWidth:"1.25",strokeLinejoin:"round",strokeLinecap:"round"})})}function xs({children:n,titel:r,className:s}){return g.jsx("div",{title:r,className:Me("flex shrink-0 items-center gap-1.5 border-r border-border/30 px-3",s),children:n})}function Qw(){var G,V,O,Q,X,Z,ae,H,te,ye;const{data:n,isError:r}=Xc(),{data:s}=uo(),{data:l}=Bw(),{data:a}=Jc(),c=hg(),h=pg(),f=Z1(),p=!r&&!!(n!=null&&n.engine_reachable),m=p&&(n!=null&&n.brain?n.brain.ready:!0),w=((G=n==null?void 0:n.brain)==null?void 0:G.role)??((O=(V=l==null?void 0:l.lanes)==null?void 0:V[0])==null?void 0:O.name)??null,y=mg(),x=(y==null?void 0:y.cpu)??((Q=s==null?void 0:s.cpu)==null?void 0:Q.percent)??0,k=(y==null?void 0:y.gpu)??((X=s==null?void 0:s.gpu)==null?void 0:X.busy_percent)??null,S=(y==null?void 0:y.ram)??((Z=s==null?void 0:s.ram)==null?void 0:Z.percent)??0,b=(y==null?void 0:y.ram_used)??((ae=s==null?void 0:s.ram)==null?void 0:ae.used),_=(y==null?void 0:y.ram_total)??((H=s==null?void 0:s.ram)==null?void 0:H.total),R=Math.max((y==null?void 0:y.temp_cpu)??((te=s==null?void 0:s.temp)==null?void 0:te.cpu)??0,(y==null?void 0:y.temp_gpu)??((ye=s==null?void 0:s.temp)==null?void 0:ye.gpu)??0),L=h.length?h[h.length-1].completion:0,z=Ww((y==null?void 0:y.uptime_s)??(s==null?void 0:s.uptime_s)),M=r?"getrennt":f==="live"?"live":"nachlauf",F={live:{punkt:"bg-emerald-500",text:"Live",titel:"Ereignisstrom steht — Änderungen erscheinen sofort."},nachlauf:{punkt:"bg-amber-500",text:"Nachlauf",titel:"Kein Ereignisstrom — die Zahlen stimmen, sie kommen im Takt statt sofort."},getrennt:{punkt:"bg-red-500",text:"Getrennt",titel:"Die Zentrale antwortet nicht — die Zahlen sind veraltet."}}[M];return g.jsxs("footer",{className:"flex h-11 shrink-0 items-stretch overflow-x-auto border-t border-border/40 bg-card/40 font-mono text-[11px] backdrop-blur-sm scrollbar-thin","aria-label":"Zustand der Box",children:[g.jsxs(Kl,{to:"/agent",className:"flex shrink-0 items-center gap-2.5 border-r border-border/30 px-3 transition-colors hover:bg-accent/50",children:[g.jsxs("span",{className:"flex items-center gap-1.5",title:p?"Motor (Engine) läuft":"Motor (Engine) läuft nicht",children:[g.jsx("span",{className:Me("h-2 w-2 rounded-full",p?"bg-emerald-500":"bg-red-500"),"aria-hidden":"true"}),g.jsx("span",{className:p?"text-muted-foreground":"font-semibold text-red-400",children:"Motor"})]}),g.jsxs("span",{className:"flex items-center gap-1.5",title:m?"Lucys Hirn ist bereit":"Lucys Hirn ist nicht bereit",children:[g.jsx("span",{className:Me("h-2 w-2 rounded-full",m?"bg-emerald-500":"bg-amber-500"),"aria-hidden":"true"}),g.jsx("span",{className:m?"text-muted-foreground":"font-semibold text-amber-400",children:"Hirn"})]})]}),g.jsxs(xs,{titel:"Aktive Rolle und aktueller Ausgabe-Durchsatz",children:[g.jsx("span",{className:"font-semibold text-primary",children:w??"—"}),g.jsx("span",{className:"tabular-nums text-muted-foreground",children:L>0?`${L.toFixed(0)} t/s`:"leerlauf"}),g.jsx(Hp,{werte:h.map(he=>he.completion),farbe:"hsl(172 72% 50%)"})]}),g.jsxs(xs,{titel:b!=null&&_!=null?`Geteilter Speicher (Unified Memory): ${an(b)} von ${an(_)} GB belegt`:"Speicher",children:[g.jsx("span",{className:"text-muted-foreground",children:"Speicher"}),g.jsx("div",{className:"h-2 w-24 overflow-hidden rounded-sm border border-border/50 bg-background/60","aria-hidden":"true",children:g.jsx("div",{className:Me("h-full transition-[width] duration-500",S>90?"bg-red-500":S>75?"bg-amber-500":"bg-primary"),style:{width:`${Math.min(100,S)}%`}})}),g.jsx("span",{className:"tabular-nums text-foreground",children:b!=null&&_!=null?`${an(b)}/${an(_)} GB`:"—"})]}),g.jsxs(xs,{titel:"Auslastung von Prozessor und Grafikeinheit",children:[g.jsx("span",{className:"text-muted-foreground",children:"CPU"}),g.jsxs("span",{className:"tabular-nums text-foreground",children:[Math.round(x)," %"]}),g.jsx(Hp,{werte:c.map(he=>he.cpu),farbe:"hsl(199 89% 58%)"}),k!=null&&g.jsxs(g.Fragment,{children:[g.jsx("span",{className:"ml-1 text-muted-foreground",children:"GPU"}),g.jsxs("span",{className:"tabular-nums text-foreground",children:[Math.round(k)," %"]})]})]}),R>0&&g.jsxs(xs,{titel:"Höchste gemessene Temperatur (Prozessor oder Grafikeinheit)",children:[g.jsx("span",{className:"text-muted-foreground",children:"Temp"}),g.jsxs("span",{className:Me("tabular-nums",R>=85?"font-semibold text-amber-400":"text-foreground"),children:[Math.round(R)," °C"]})]}),z&&g.jsxs(xs,{titel:"Betriebszeit seit dem letzten Neustart der Box",children:[g.jsx("span",{className:"text-muted-foreground",children:"Läuft seit"}),g.jsx("span",{className:"tabular-nums text-foreground",children:z})]}),a&&g.jsx(xs,{titel:"Seit Beginn verarbeitete Token und die damit gesparten Cloud-Kosten",children:g.jsxs("span",{className:"tabular-nums text-muted-foreground",children:[a.total_tokens.toLocaleString("de-DE")," Token · ",a.saved_eur.toFixed(0)," € gespart"]})}),g.jsxs("div",{className:"ml-auto flex shrink-0 items-center gap-1.5 px-3",title:F.titel,children:[g.jsx("span",{className:Me("h-2 w-2 rounded-full",F.punkt,M==="live"&&"animate-pulse"),"aria-hidden":"true"}),g.jsx("span",{className:"text-muted-foreground",children:F.text})]})]})}const Kw=6e3,Gw={info:{rand:"border-sky-500/40",farbe:"text-sky-300",Icon:j1},erfolg:{rand:"border-emerald-500/40",farbe:"text-emerald-300",Icon:v1},warnung:{rand:"border-amber-500/40",farbe:"text-amber-300",Icon:$l},fehler:{rand:"border-red-500/40",farbe:"text-red-300",Icon:x1}};function qw(){const n=Y1(),r=Rt(s=>s.meldungWeg);return W.useEffect(()=>{const s=n.filter(l=>l.art!=="fehler").map(l=>window.setTimeout(()=>r(l.id),Math.max(1e3,Kw-(Date.now()-l.seit))));return()=>s.forEach(window.clearTimeout)},[n,r]),g.jsx("div",{className:"pointer-events-none fixed bottom-4 right-4 z-[70] flex w-full max-w-sm flex-col gap-2",role:"status","aria-live":"polite","aria-atomic":"false",children:n.map(s=>{const{rand:l,farbe:a,Icon:c}=Gw[s.art];return g.jsxs("div",{className:Me("pointer-events-auto flex items-start gap-2.5 rounded-lg border bg-card/95 px-3.5 py-2.5 shadow-xl backdrop-blur",l),"aria-live":s.art==="fehler"?"assertive":"polite",children:[g.jsx(c,{className:Me("mt-0.5 h-4 w-4 shrink-0",a),"aria-hidden":"true"}),g.jsx("p",{className:"flex-1 text-xs leading-relaxed text-foreground",children:s.text}),g.jsx("button",{onClick:()=>r(s.id),"aria-label":"Meldung schließen",className:"shrink-0 cursor-pointer rounded p-0.5 text-muted-foreground transition-colors hover:text-foreground",children:g.jsx(qc,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]},s.id)})})}const Zw=W.lazy(()=>Lt(()=>import("./SystemDrawer-BqYzprU9.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8])).then(n=>({default:n.SystemDrawer}))),Yw=W.lazy(()=>Lt(()=>import("./CommandPalette-FxofQTPj.js"),__vite__mapDeps([9,10])).then(n=>({default:n.CommandPalette})));function Xw(){return g.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:g.jsx(Qc,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const Jw=/Mac|iPhone|iPad/.test(navigator.platform);function ek(){Iw(),Dw();const n=lo(),r=Op({select:b=>b.location.pathname}),s=Op({select:b=>b.location.search.system}),l=G1(),a=Rt(b=>b.schieneUmschalten),c=q1(),h=Rt(b=>b.palette),[f,p]=W.useState(!1),[m,w]=W.useState(!1);W.useEffect(()=>{c&&w(!0)},[c]),W.useEffect(()=>{const b=_=>{(_.metaKey||_.ctrlKey)&&_.key.toLowerCase()==="k"&&(_.preventDefault(),h(!Rt.getState().ui.paletteOffen))};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[h]);const y=W.useCallback(b=>{n({to:".",search:_=>({..._,system:b}),replace:!0})},[n]),{data:x,isError:k}=Xc();W.useEffect(()=>{document.documentElement.classList.add("dark")},[]),W.useEffect(()=>{p(!1)},[r]);const S=ng(r);return g.jsxs("div",{className:"flex h-full relative",children:[g.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),g.jsx(qw,{}),g.jsxs(W.Suspense,{fallback:null,children:[m&&g.jsx(Yw,{}),s&&g.jsx(Zw,{open:!0,onClose:()=>y(void 0),defaultTab:s==="logs"?"logs":"maintenance"})]}),g.jsx("aside",{className:Me("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",l?"w-16":"w-60"),children:g.jsx(Wp,{collapsed:l,onToggleCollapse:a,pfad:r,health:x,backendDown:k})}),g.jsxs("div",{className:Me("md:hidden fixed inset-0 z-50 transition-opacity duration-200",f?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!f,children:[g.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>p(!1)}),g.jsx("aside",{className:Me("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",f?"translate-x-0":"-translate-x-full"),children:g.jsx(Wp,{collapsed:!1,onClose:()=>p(!1),pfad:r,health:x,backendDown:k})})]}),g.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[g.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[g.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[g.jsx("button",{onClick:()=>p(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:g.jsx(L1,{className:"h-5 w-5","aria-hidden":"true"})}),g.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:S==null?void 0:S.hint})]}),g.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[g.jsx(Mw,{}),g.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm: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"}),g.jsxs("button",{onClick:()=>h(!0),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:[g.jsx(w1,{className:"h-3.5 w-3.5"}),g.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),g.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:Jw?"⌘K":"Strg+K"})]})]})]}),g.jsx("main",{className:"flex-1 overflow-y-auto scrollbar-thin",children:g.jsx("div",{className:"mx-auto w-full max-w-[1600px] p-4 md:p-6",children:g.jsx(W.Suspense,{fallback:g.jsx(Xw,{}),children:g.jsx(Zm,{})})})}),g.jsx(Qw,{})]})]})}function Wp({collapsed:n,onToggleCollapse:r,onClose:s,pfad:l,health:a,backendDown:c}){var p,m,w,y,x;const h=ng(l),{data:f}=uo();return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:Me("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[g.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[g.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&g.jsxs("div",{className:"leading-tight",children:[g.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),g.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),r&&g.jsx("button",{onClick:r,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":n?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:n?"Maximieren":"Minimieren",children:n?g.jsx(Hi,{className:"h-4 w-4","aria-hidden":"true"}):g.jsx(y1,{className:"h-4 w-4","aria-hidden":"true"})}),s&&g.jsx("button",{onClick:s,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:g.jsx(qc,{className:"h-4 w-4","aria-hidden":"true"})})]}),g.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let k=null;return Ji.map(S=>{const b=S.group!==k;k=S.group;const _=(h==null?void 0:h.id)===S.id;return g.jsxs("div",{className:"space-y-1",children:[b&&(n?k!==Ji[0].group&&g.jsx("div",{className:"my-3 border-t border-border/30"}):g.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:S.group})),g.jsxs(Kl,{to:S.pfad,onClick:s,"aria-current":_?"page":void 0,className:Me("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",_?n?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?S.label:void 0,"aria-label":n?S.label:void 0,children:[g.jsx(S.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!n&&g.jsx("span",{className:"truncate",children:S.label})]})]},S.id)})})()}),g.jsx("div",{className:Me("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?g.jsx("div",{className:"flex justify-center",children:g.jsx("span",{className:Me("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",c||!a?"bg-red-500":a.engine_reachable?a.brain&&!a.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:c?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":a?a.engine_reachable?a.brain&&!a.brain.ready?`Hirn offline (${a.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):g.jsxs("div",{className:"space-y-2 text-left",children:[c?g.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),g.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):a?g.jsxs(g.Fragment,{children:[g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:Me("h-2 w-2 rounded-full animate-pulse",a.engine_reachable?"bg-emerald-500":"bg-amber-500")}),g.jsxs("span",{className:"truncate",children:["Engine ",a.engine_reachable?"online":"offline"]})]}),a.brain&&!a.brain.ready&&g.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${a.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),g.jsxs("span",{className:"truncate",children:["Hirn offline",a.brain.model?` (${a.brain.model})`:""]})]})]}):g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",g.jsx("span",{className:"truncate",children:"Backend offline"})]}),(f==null?void 0:f.versions)&&g.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[g.jsxs("div",{className:"truncate",title:f.versions.mc2?`${f.versions.mc2.branch}-${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""} (${f.versions.mc2.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"MC2:"})," ",f.versions.mc2?`${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""}`:"—"]}),g.jsxs("div",{className:"truncate",title:((p=f.versions.engine)==null?void 0:p.type)==="git"?`${f.versions.engine.branch}-${f.versions.engine.hash}${f.versions.engine.dirty?"*":""} (${f.versions.engine.date})`:((m=f.versions.engine)==null?void 0:m.version_text)||"unbekannt",children:[g.jsx("strong",{children:"Engine:"})," ",((w=f.versions.engine)==null?void 0:w.type)==="git"?`${f.versions.engine.hash}${f.versions.engine.dirty?"*":""}`:((x=(y=f.versions.engine)==null?void 0:y.version_text)==null?void 0:x.split(" ").pop())||"—"]}),g.jsxs("div",{className:"truncate",title:f.versions.hermes_agent?`${f.versions.hermes_agent.branch}-${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""} (${f.versions.hermes_agent.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"Hermes Agent:"})," ",f.versions.hermes_agent?`${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}function co({titel:n,text:r,fehler:s,onErneut:l}){const a=s instanceof Error?s.stack||s.message:s?String(s):null;return g.jsx("div",{className:"flex min-h-[50vh] items-center justify-center p-6",children:g.jsxs("div",{className:"mc-card max-w-lg space-y-4 p-6",children:[g.jsxs("div",{className:"flex items-center gap-2.5",children:[g.jsx($l,{className:"h-5 w-5 shrink-0 text-amber-400","aria-hidden":"true"}),g.jsx("h1",{className:"font-space text-lg font-bold tracking-tight",children:n})]}),g.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:r}),g.jsxs("div",{className:"flex flex-wrap gap-2 pt-1",children:[l&&g.jsxs("button",{onClick:l,className:"flex h-9 cursor-pointer items-center gap-1.5 rounded-lg bg-primary px-4 text-xs font-semibold text-primary-foreground transition-colors hover:bg-primary/90",children:[g.jsx(T1,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Erneut versuchen"]}),g.jsx("a",{href:"/cockpit",className:"flex h-9 items-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent",children:"Zum Cockpit"})]}),a&&g.jsxs("details",{className:"pt-1",children:[g.jsx("summary",{className:"cursor-pointer text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70 hover:text-foreground",children:"Technische Einzelheiten"}),g.jsx("pre",{className:"scrollbar-thin mt-2 max-h-52 overflow-auto rounded-lg border border-border/40 bg-background/40 p-3 font-mono text-[10px] leading-relaxed text-muted-foreground",children:a})]})]})})}function tk(){var V,O,Q,X,Z,ae;const{data:n,isError:r}=Xc(),{data:s,isError:l}=xg(),{data:a}=wg(),{data:c}=uo(),h=r||l,f=!!n&&!!s,p=H=>{var te;return(te=s==null?void 0:s.services.find(ye=>ye.unit===H))==null?void 0:te.ok},m=H=>!!(s!=null&&s.services.some(te=>te.unit===H)),w=n==null?void 0:n.engine_reachable,y=(V=n==null?void 0:n.brain)==null?void 0:V.ready,x=((O=n==null?void 0:n.brain)==null?void 0:O.model)||((Q=a==null?void 0:a.models.find(H=>H.role==="hermes"))==null?void 0:Q.name)||"",k=[];h&&k.push({id:"mc2",label:"Steuerpult (MC2)",icon:tg,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),k.push((()=>{const H={id:"brain",label:"Lucys Hirn",icon:m1,critical:!0};return f?w===!1?{...H,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:y===!1?{...H,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:x?{kind:"loadModel",model:x,label:"Hirn aufwecken"}:void 0}:{...H,status:"ok",detail:"Wach und ansprechbar."}:{...H,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const H={id:"vision",label:"Lucys Augen",icon:S1,critical:!1};if(!f||!a)return{...H,status:"loading",detail:"Wird geprüft …"};const te=a.models.find(he=>he.role==="vision");return te?(a.running??[]).includes(te.name)?{...H,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...H,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:te.name,label:"Augen wecken"}}:{...H,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),k.push((()=>{const H={id:"memory",label:"Lucys Gedächtnis",icon:p1,critical:!0},te=p("hermes-gateway");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Hermes-Natives Gedächtnis aktiv (SQLite & Embeddings)."}:{...H,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gateway antwortet nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Gateway neu starten"}}})()),k.push((()=>{const H={id:"gateway",label:"Verbindung (Gateway)",icon:Kc,critical:!0},te=n?n.gateway_reachable:p("mc2-gateway");if(!f||te===void 0)return{...H,status:"loading",detail:"Wird geprüft …"};const ye=m("mc2-gateway")?"mc2-gateway":"mission-control-2";return te?{...H,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...H,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:ye,label:"Gateway neu starten"}}})()),k.push((()=>{const H={id:"steward",label:"Wächter (Steward)",icon:Gc,critical:!1};return f?m("mc2-steward")?p("mc2-steward")?{...H,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...H,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...H,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...H,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const H={id:"agent",label:"Lucys Agent (Hermes)",icon:Cc,critical:!0},te=p("hermes-gateway");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...H,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),k.push((()=>{const H={id:"voice",label:"Lucys Stimme",icon:M1,critical:!1},te=p("voice-service");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Lucy kann hören und sprechen."}:{...H,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const S=((X=c==null?void 0:c.ram)==null?void 0:X.total)??0,b=((Z=c==null?void 0:c.ram)==null?void 0:Z.used)??0,_=((ae=c==null?void 0:c.ram)==null?void 0:ae.percent)??(S>0?Math.min(100,b/S*100):0),R=1024**3,L=S?_>=93?{status:"full",usedGb:b/R,totalGb:S/R,pct:_,text:"Speicher fast voll — Lucy könnte langsamer werden."}:_>=85?{status:"warn",usedGb:b/R,totalGb:S/R,pct:_,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:b/R,totalGb:S/R,pct:_,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},z=k.some(H=>H.status==="loading"),M=k.filter(H=>H.critical&&H.status==="down"),A=k.filter(H=>H.status==="warn"||!H.critical&&H.status==="down"),F=L.status==="full";return{verdict:z&&!M.length?"loading":M.length?"problem":A.length||F?"warn":"gut",checks:k,memory:L,problems:M,warns:A,unreachable:h}}function nk({type:n,title:r,message:s,defaultValue:l,autoValue:a,autoLabel:c,onConfirm:h,onCancel:f}){const p=W.useRef(null);return g.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":r,children:g.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:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:r}),g.jsx("button",{onClick:f||(()=>h()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(qc,{className:"h-4 w-4","aria-hidden":"true"})})]}),g.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:s}),n==="prompt"&&g.jsxs("div",{className:"flex gap-2",children:[g.jsx("input",{ref:p,type:"text",defaultValue:l,"aria-label":r,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:m=>{var w;m.key==="Enter"&&h((w=p.current)==null?void 0:w.value)}}),a!==void 0&&g.jsx("button",{type:"button",onClick:()=>{p.current&&(p.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:c||"Auto"})]}),g.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(n==="confirm"||n==="prompt")&&g.jsx("button",{onClick:f,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"}),g.jsx("button",{onClick:()=>{var w;const m=n==="prompt"?(w=p.current)==null?void 0:w.value:void 0;h(m)},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:n==="confirm"?"Ja, fortfahren":n==="prompt"?"Übernehmen":"OK"})]})]})})}function rk(){const[n,r]=W.useState(null),s=W.useCallback(()=>r(null),[]),l=W.useCallback((f,p,m)=>{r({type:"alert",title:f,message:p,onConfirm:()=>{r(null),m==null||m()}})},[]),a=W.useCallback((f,p,m,w)=>{r({type:"confirm",title:f,message:p,onConfirm:()=>{r(null),m()},onCancel:()=>{r(null),w==null||w()}})},[]),c=W.useCallback((f,p,m,w,y,x)=>{r({type:"prompt",title:f,message:p,defaultValue:m,autoValue:x==null?void 0:x.autoValue,autoLabel:x==null?void 0:x.autoLabel,onConfirm:k=>{r(null),w(k)},onCancel:()=>{r(null),y==null||y()}})},[]),h=n?g.jsx(nk,{...n}):null;return{showAlert:l,showConfirm:a,showPrompt:c,close:s,dialogElement:h}}const sk={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},ik={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function Ai({icon:n,title:r,value:s,unit:l,tone:a="muted",hint:c,onClick:h}){return g.jsxs("button",{onClick:h,className:Me("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",ik[a]),children:[g.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[g.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:g.jsx(n,{className:"h-5 w-5"})}),g.jsx("span",{className:Me("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",sk[a]),title:c})]}),g.jsxs("div",{className:"flex items-baseline gap-1.5",children:[g.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:s}),l&&g.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l})]}),g.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[g.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:r}),g.jsx(Hi,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),c&&g.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:c})]})}function ok(){const{data:n,error:r}=uo(),s=mg(),l=hg();return{sys:W.useMemo(()=>{var c,h;return!n||!s?n:{...n,cpu:{...n.cpu,percent:s.cpu??n.cpu.percent},ram:{...n.ram,percent:s.ram??n.ram.percent,used:s.ram_used??n.ram.used,total:s.ram_total??n.ram.total},gpu:n.gpu?{...n.gpu,busy_percent:s.gpu??n.gpu.busy_percent}:n.gpu,disk:n.disk?{...n.disk,percent:s.disk??n.disk.percent}:n.disk,temp:{cpu:s.temp_cpu??((c=n.temp)==null?void 0:c.cpu),gpu:s.temp_gpu??((h=n.temp)==null?void 0:h.gpu)},uptime_s:s.uptime_s??n.uptime_s}},[n,s]),hist:l,error:r}}const lk=W.lazy(()=>Lt(()=>import("./LiveAreaChartImpl-DDkrCKJU.js"),__vite__mapDeps([11,12,10])));function kg(n){return g.jsx(W.Suspense,{fallback:g.jsx(ak,{height:n.height??176}),children:g.jsx(lk,{...n})})}function ak({height:n}){return g.jsx("div",{style:{height:n},className:"flex w-full items-end","aria-hidden":"true",children:g.jsx("div",{className:"h-px w-full bg-border/40"})})}const Sg={"1h":60,"24h":1440},Qp={live:"Live","1h":"1 h","24h":"24 h"};function bg({value:n,onChange:r}){return g.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(Qp).map(s=>g.jsx("button",{onClick:()=>r(s),className:Me("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",n===s?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Qp[s]},s))})}const uk=[{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 ck(){var w,y,x,k;const{sys:n,hist:r}=ok(),[s,l]=W.useState("live"),a=vg(s==="live"?60:Sg[s],s!=="live"),c=W.useMemo(()=>{var S;return s==="live"?r:(((S=a.data)==null?void 0:S.points)??[]).map(b=>({t:b.t*1e3,cpu:b.cpu,ram:b.ram,gpu:b.gpu,disk:b.disk}))},[s,r,a.data]),h=!!(n!=null&&n.gpu&&n.gpu.busy_percent!=null&&n.gpu.gtt_used!=null&&n.gpu.gtt_total!=null),f=uk.filter(S=>S.key!=="gpu"||h),p={cpu:(w=n==null?void 0:n.cpu)==null?void 0:w.percent,ram:(y=n==null?void 0:n.ram)==null?void 0:y.percent,gpu:h?n.gpu.busy_percent:null,disk:(x=n==null?void 0:n.disk)==null?void 0:x.percent},m={cpu:(k=n==null?void 0:n.cpu)!=null&&k.cores?`${n.cpu.cores} Cores`:"",ram:n?`${an(n.ram.used)}/${an(n.ram.total)} GB`:"",gpu:h?`${an(n.gpu.gtt_used)}/${an(n.gpu.gtt_total)} GB`:"",disk:n!=null&&n.disk?`${an(n.disk.used)}/${an(n.disk.total)} GB`:""};return g.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[g.jsx(k1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),s==="live"&&g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),g.jsx("div",{className:"ml-auto",children:g.jsx(bg,{value:s,onChange:l})})]}),n?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:f.map(S=>g.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:S.color}}),g.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:S.label}),g.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(p[S.key]??0),"%"]}),m[S.key]&&g.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:m[S.key]})]},S.key))}),s!=="live"&&c.length===0&&g.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(s==="live"||c.length>0)&&g.jsx(kg,{data:c,series:f,unit:"%",yMode:"percent",height:176,showTime:!0})]}):g.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(n==null?void 0:n.temp)&&(n.temp.cpu||n.temp.gpu)&&g.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[n.temp.cpu!=null&&g.jsxs("span",{children:["CPU Temp: ",n.temp.cpu," °C"]}),n.temp.gpu!=null&&g.jsxs("span",{children:["GPU Temp: ",n.temp.gpu," °C"]})]})]})}const Vs=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],Wi=n=>n==null?"–":`${(n/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function dk(n){const r=Math.max(0,Date.now()/1e3-n);return r<60?`vor ${Math.round(r)} s`:r<3600?`vor ${Math.round(r/60)} min`:`vor ${Math.round(r/3600)} h`}function Nc(n){return Vs.reduce((r,s)=>r+(n[s.key]??0),0)}function fk(n){let r=null;for(const s of Vs){const l=n[s.key];l!=null&&(r==null||l>r.ms)&&(r={label:s.label,color:s.color,ms:l})}return r}function hk({t:n,scale:r}){const s=Vs.map(l=>`${l.label} ${Wi(n[l.key])}`).join(" · ");return g.jsxs("div",{className:"flex items-center gap-2.5",children:[g.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:dk(n.ts)}),g.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:s,children:[g.jsx("div",{className:"absolute inset-0 flex",children:Vs.map(l=>{const a=n[l.key];return!a||a<=0?null:g.jsx("div",{style:{width:`${a/r*100}%`,background:l.color},className:"h-full first:rounded-l-sm"},l.key)})}),n.error&&g.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),g.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:n.error?"–":Wi(Nc(n))})]})}function pk(){const{data:n}=Uw(12),r=n??[],s=Math.max(1,...r.map(c=>Nc(c))),l=r[0],a=l?fk(l):null;return g.jsxs("div",{className:"mc-card p-5",children:[g.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(b1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),l?g.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[g.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${l.error?"text-rose-400":"text-foreground"}`,children:l.error?"Fehler":Wi(Nc(l))}),g.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!l.error&&a&&g.jsxs(g.Fragment,{children:[" · Täter: ",g.jsx("span",{style:{color:a.color},className:"font-semibold",children:a.label})," ",Wi(a.ms)]})]})]}):g.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),l&&!l.error&&g.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:Vs.filter(c=>l[c.key]!=null).map(c=>`${c.label} ${Wi(l[c.key])}`).join(" · ")})]}),g.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Vs.map(c=>g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:c.color}}),g.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:c.label})]},c.key))})]}),r.length>0?g.jsx("div",{className:"space-y-1.5",children:r.map(c=>g.jsx(hk,{t:c,scale:s},c.id))}):g.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),g.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Gedächtnis-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const Kp=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function mk(){const{data:n}=Jc(),r=pg(),[s,l]=W.useState("live"),a=vg(s==="live"?60:Sg[s],s!=="live"),c=W.useMemo(()=>{var w;if(s==="live")return r;const p=((w=a.data)==null?void 0:w.points)??[],m=[];for(let y=1;yg.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:p.color}}),g.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:p.label}),g.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((h==null?void 0:h[p.key])??0)})]},p.key))})]})]}),s!=="live"&&c.length===0?g.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):n?g.jsx(kg,{data:c,series:Kp,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):g.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),g.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 ed(){const n=lo();return r=>n({to:".",search:s=>({...s,system:r})})}function gk({onNavigate:n}){var te,ye,he,Y;const r=ed(),{data:s}=wg(),{data:l}=xg(),{data:a}=Vw(),{data:c}=$w(),{data:h}=Hw(),{data:f}=Ow(),{data:p}=Aw(),m=tk(),{showAlert:w,dialogElement:y}=rk(),x=Dc(),[k,S]=W.useState({});async function b(J,ee){S(P=>({...P,[J]:!0}));try{if(ee.kind==="loadModel")await Pe(`/api/models/${encodeURIComponent(ee.model)}/load`,{method:"POST"});else{const P=await Pe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:ee.service})});P.ok||w("Reparatur nicht ganz geklappt",(P.err||"Unbekannter Fehler")+(ee.needsSudo?` + */const Gc=ke("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),to=[{id:"dashboard",pfad:"/cockpit",label:"Cockpit",hint:"Deine Box auf einen Blick",icon:P1,group:"Operativ"},{id:"ideen",pfad:"/ideen",label:"Ideen",hint:"Schreib hin, was entstehen soll",icon:R1,group:"Operativ"},{id:"auftraege",pfad:"/auftraege",label:"Auftragsbuch",hint:"Vorschläge der Box — annehmen oder ablehnen",icon:Wc,group:"Operativ"},{id:"skills",pfad:"/skills",label:"Skills & Jobs",hint:"Autonome Skills manuell auslösen",icon:Cc,group:"Operativ"},{id:"chronik",pfad:"/chronik",label:"Chronik",hint:"Was die Box von allein getan hat + Zeitmaschine",icon:E1,group:"Operativ"},{id:"wissen",pfad:"/wissen",label:"Wissen",hint:"Lucys Wissens-Vault (Traum-Notizen)",icon:N1,group:"Wissen"},{id:"connect",pfad:"/verbinden",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:Kc,group:"Werkzeuge"},{id:"konsole",pfad:"/konsole",label:"Konsole",hint:"Direkte Box-Shell (SSH-artig)",icon:z1,group:"Werkzeuge"},{id:"guide",pfad:"/anleitung",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:eg,group:"Werkzeuge"},{id:"models",pfad:"/modelle",label:"Modelle",hint:"Speicher, laden & Rollen",icon:Jm,group:"Wartung"},{id:"agent",pfad:"/agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Cc,group:"Wartung"}];function ng(n){return[...to].sort((r,s)=>s.pfad.length-r.pfad.length).find(r=>n===r.pfad||n.startsWith(r.pfad+"/"))}const Up=n=>{let r;const s=new Set,l=(g,w)=>{const y=typeof g=="function"?g(r):g;if(!Object.is(y,r)){const x=r;r=w??(typeof y!="object"||y===null)?y:Object.assign({},r,y),s.forEach(k=>k(r,x))}},a=()=>r,f={setState:l,getState:a,getInitialState:()=>p,subscribe:g=>(s.add(g),()=>s.delete(g))},p=r=n(l,a,f);return f},O1=(n=>n?Up(n):Up),A1=n=>n;function U1(n,r=A1){const s=qt.useSyncExternalStore(n.subscribe,qt.useCallback(()=>r(n.getState()),[n,r]),qt.useCallback(()=>r(n.getInitialState()),[n,r]));return qt.useDebugValue(s),s}const B1=n=>{const r=O1(n),s=l=>U1(r,l);return Object.assign(s,r),s},$1=(n=>B1);function V1(n,r){let s;try{s=n()}catch{return}return{getItem:a=>{var c;const h=p=>p===null?null:JSON.parse(p,void 0),f=(c=s.getItem(a))!=null?c:null;return f instanceof Promise?f.then(h):h(f)},setItem:(a,c)=>s.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>s.removeItem(a)}}const Ec=n=>r=>{try{const s=n(r);return s instanceof Promise?s:{then(l){return Ec(l)(s)},catch(l){return this}}}catch(s){return{then(l){return this},catch(l){return Ec(l)(s)}}}},H1=(n,r)=>(s,l,a)=>{let c={storage:V1(()=>window.localStorage),partialize:_=>_,version:0,merge:(_,R)=>({...R,..._}),...r},h=!1,f=0;const p=new Set,g=new Set;let w=c.storage;if(!w)return n((..._)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),s(..._)},l,a);const y=()=>{const _=c.partialize({...l()});return w.setItem(c.name,{state:_,version:c.version})},x=a.setState;a.setState=(_,R)=>(x(_,R),y());const k=n((..._)=>(s(..._),y()),l,a);a.getInitialState=()=>k;let S;const b=()=>{var _,R;if(!w)return;const L=++f;h=!1,p.forEach(M=>{var A;return M((A=l())!=null?A:k)});const z=((R=c.onRehydrateStorage)==null?void 0:R.call(c,(_=l())!=null?_:k))||void 0;return Ec(w.getItem.bind(w))(c.name).then(M=>{if(M)if(typeof M.version=="number"&&M.version!==c.version){if(c.migrate){const A=c.migrate(M.state,M.version);return A instanceof Promise?A.then(F=>[!0,F]):[!0,A]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,M.state];return[!1,void 0]}).then(M=>{var A;if(L!==f)return;const[F,q]=M;if(S=c.merge(q,(A=l())!=null?A:k),s(S,!0),F)return y()}).then(()=>{L===f&&(z==null||z(l(),void 0),S=l(),h=!0,g.forEach(M=>M(S)))}).catch(M=>{L===f&&(z==null||z(void 0,M))})};return a.persist={setOptions:_=>{c={...c,..._},_.storage&&(w=_.storage)},clearStorage:()=>{++f,w==null||w.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>b(),hasHydrated:()=>h,onHydrate:_=>(p.add(_),()=>{p.delete(_)}),onFinishHydration:_=>(g.add(_),()=>{g.delete(_)})},c.skipHydration||b(),S||k},W1=H1;let Q1=0;const Rt=$1()(W1(n=>({ui:{schieneEingeklappt:!1,paletteOffen:!1,expertenmodus:!1},strom:{lage:"getrennt",letztesEreignis:null},meldungen:[],schieneUmschalten:()=>n(r=>({ui:{...r.ui,schieneEingeklappt:!r.ui.schieneEingeklappt}})),palette:r=>n(s=>({ui:{...s.ui,paletteOffen:r}})),expertenmodus:r=>n(s=>({ui:{...s.ui,expertenmodus:r}})),stromLage:r=>n(s=>({strom:{...s.strom,lage:r}})),stromEreignis:()=>n(r=>({strom:{...r.strom,letztesEreignis:Date.now()}})),melden:(r,s)=>n(l=>({meldungen:[...l.meldungen,{id:`m${++Q1}`,art:r,text:s,seit:Date.now()}].slice(-6)})),meldungWeg:r=>n(s=>({meldungen:s.meldungen.filter(l=>l.id!==r)}))}),{name:"mc_ui",partialize:n=>({ui:{schieneEingeklappt:n.ui.schieneEingeklappt,expertenmodus:n.ui.expertenmodus}}),merge:(n,r)=>{const s=n;return{...r,ui:{...r.ui,...(s==null?void 0:s.ui)??{}}}}})),K1=()=>Rt(n=>n.ui.expertenmodus),q1=()=>Rt(n=>n.ui.schieneEingeklappt),G1=()=>Rt(n=>n.ui.paletteOffen),Z1=()=>Rt(n=>n.strom.lage),Y1=()=>Rt(n=>n.meldungen),Bp=(n,r)=>Rt.getState().melden(n,r),Ju=n=>Rt.getState().stromLage(n),X1=()=>Rt.getState().stromEreignis();function rg(n){var r,s,l="";if(typeof n=="string"||typeof n=="number")l+=n;else if(typeof n=="object")if(Array.isArray(n)){var a=n.length;for(r=0;r{const r=nw(n),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=n;return{getClassGroupId:h=>{const f=h.split(Zc);return f[0]===""&&f.length!==1&&f.shift(),sg(f,r)||tw(h)},getConflictingClassGroupIds:(h,f)=>{const p=s[h]||[];return f&&l[h]?[...p,...l[h]]:p}}},sg=(n,r)=>{var h;if(n.length===0)return r.classGroupId;const s=n[0],l=r.nextPart.get(s),a=l?sg(n.slice(1),l):void 0;if(a)return a;if(r.validators.length===0)return;const c=n.join(Zc);return(h=r.validators.find(({validator:f})=>f(c)))==null?void 0:h.classGroupId},$p=/^\[(.+)\]$/,tw=n=>{if($p.test(n)){const r=$p.exec(n)[1],s=r==null?void 0:r.substring(0,r.indexOf(":"));if(s)return"arbitrary.."+s}},nw=n=>{const{theme:r,prefix:s}=n,l={nextPart:new Map,validators:[]};return sw(Object.entries(n.classGroups),s).forEach(([c,h])=>{jc(h,l,c,r)}),l},jc=(n,r,s,l)=>{n.forEach(a=>{if(typeof a=="string"){const c=a===""?r:Vp(r,a);c.classGroupId=s;return}if(typeof a=="function"){if(rw(a)){jc(a(l),r,s,l);return}r.validators.push({validator:a,classGroupId:s});return}Object.entries(a).forEach(([c,h])=>{jc(h,Vp(r,c),s,l)})})},Vp=(n,r)=>{let s=n;return r.split(Zc).forEach(l=>{s.nextPart.has(l)||s.nextPart.set(l,{nextPart:new Map,validators:[]}),s=s.nextPart.get(l)}),s},rw=n=>n.isThemeGetter,sw=(n,r)=>r?n.map(([s,l])=>{const a=l.map(c=>typeof c=="string"?r+c:typeof c=="object"?Object.fromEntries(Object.entries(c).map(([h,f])=>[r+h,f])):c);return[s,a]}):n,iw=n=>{if(n<1)return{get:()=>{},set:()=>{}};let r=0,s=new Map,l=new Map;const a=(c,h)=>{s.set(c,h),r++,r>n&&(r=0,l=s,s=new Map)};return{get(c){let h=s.get(c);if(h!==void 0)return h;if((h=l.get(c))!==void 0)return a(c,h),h},set(c,h){s.has(c)?s.set(c,h):a(c,h)}}},ig="!",ow=n=>{const{separator:r,experimentalParseClassName:s}=n,l=r.length===1,a=r[0],c=r.length,h=f=>{const p=[];let g=0,w=0,y;for(let _=0;_w?y-w:void 0;return{modifiers:p,hasImportantModifier:k,baseClassName:S,maybePostfixModifierPosition:b}};return s?f=>s({className:f,parseClassName:h}):h},lw=n=>{if(n.length<=1)return n;const r=[];let s=[];return n.forEach(l=>{l[0]==="["?(r.push(...s.sort(),l),s=[]):s.push(l)}),r.push(...s.sort()),r},aw=n=>({cache:iw(n.cacheSize),parseClassName:ow(n),...ew(n)}),uw=/\s+/,cw=(n,r)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:a}=r,c=[],h=n.trim().split(uw);let f="";for(let p=h.length-1;p>=0;p-=1){const g=h[p],{modifiers:w,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:k}=s(g);let S=!!k,b=l(S?x.substring(0,k):x);if(!b){if(!S){f=g+(f.length>0?" "+f:f);continue}if(b=l(x),!b){f=g+(f.length>0?" "+f:f);continue}S=!1}const _=lw(w).join(":"),R=y?_+ig:_,L=R+b;if(c.includes(L))continue;c.push(L);const z=a(b,S);for(let M=0;M0?" "+f:f)}return f};function dw(){let n=0,r,s,l="";for(;n{if(typeof n=="string")return n;let r,s="";for(let l=0;ly(w),n());return s=aw(g),l=s.cache.get,a=s.cache.set,c=f,f(p)}function f(p){const g=l(p);if(g)return g;const w=cw(p,s);return a(p,w),w}return function(){return c(dw.apply(null,arguments))}}const Oe=n=>{const r=s=>s[n]||[];return r.isThemeGetter=!0,r},lg=/^\[(?:([a-z-]+):)?(.+)\]$/i,hw=/^\d+\/\d+$/,pw=new Set(["px","full","screen"]),mw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,gw=/\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$/,yw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,vw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wn=n=>Es(n)||pw.has(n)||hw.test(n),qn=n=>Qs(n,"length",jw),Es=n=>!!n&&!Number.isNaN(Number(n)),ec=n=>Qs(n,"number",Es),Oi=n=>!!n&&Number.isInteger(Number(n)),ww=n=>n.endsWith("%")&&Es(n.slice(0,-1)),me=n=>lg.test(n),Gn=n=>mw.test(n),kw=new Set(["length","size","percentage"]),Sw=n=>Qs(n,kw,ag),bw=n=>Qs(n,"position",ag),_w=new Set(["image","url"]),Cw=n=>Qs(n,_w,Nw),Ew=n=>Qs(n,"",Pw),Ai=()=>!0,Qs=(n,r,s)=>{const l=lg.exec(n);return l?l[1]?typeof r=="string"?l[1]===r:r.has(l[1]):s(l[2]):!1},jw=n=>gw.test(n)&&!yw.test(n),ag=()=>!1,Pw=n=>vw.test(n),Nw=n=>xw.test(n),Rw=()=>{const n=Oe("colors"),r=Oe("spacing"),s=Oe("blur"),l=Oe("brightness"),a=Oe("borderColor"),c=Oe("borderRadius"),h=Oe("borderSpacing"),f=Oe("borderWidth"),p=Oe("contrast"),g=Oe("grayscale"),w=Oe("hueRotate"),y=Oe("invert"),x=Oe("gap"),k=Oe("gradientColorStops"),S=Oe("gradientColorStopPositions"),b=Oe("inset"),_=Oe("margin"),R=Oe("opacity"),L=Oe("padding"),z=Oe("saturate"),M=Oe("scale"),A=Oe("sepia"),F=Oe("skew"),q=Oe("space"),V=Oe("translate"),O=()=>["auto","contain","none"],Q=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto",me,r],Z=()=>[me,r],ae=()=>["",wn,qn],H=()=>["auto",Es,me],te=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ye=()=>["solid","dashed","dotted","double","none"],he=()=>["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"],J=()=>["","0",me],ee=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>[Es,me];return{cacheSize:500,separator:":",theme:{colors:[Ai],spacing:[wn,qn],blur:["none","",Gn,me],brightness:P(),borderColor:[n],borderRadius:["none","","full",Gn,me],borderSpacing:Z(),borderWidth:ae(),contrast:P(),grayscale:J(),hueRotate:P(),invert:J(),gap:Z(),gradientColorStops:[n],gradientColorStopPositions:[ww,qn],inset:X(),margin:X(),opacity:P(),padding:Z(),saturate:P(),scale:P(),sepia:J(),skew:P(),space:Z(),translate:Z()},classGroups:{aspect:[{aspect:["auto","square","video",me]}],container:["container"],columns:[{columns:[Gn]}],"break-after":[{"break-after":ee()}],"break-before":[{"break-before":ee()}],"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:[...te(),me]}],overflow:[{overflow:Q()}],"overflow-x":[{"overflow-x":Q()}],"overflow-y":[{"overflow-y":Q()}],overscroll:[{overscroll:O()}],"overscroll-x":[{"overscroll-x":O()}],"overscroll-y":[{"overscroll-y":O()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Oi,me]}],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",me]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",Oi,me]}],"grid-cols":[{"grid-cols":[Ai]}],"col-start-end":[{col:["auto",{span:["full",Oi,me]},me]}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":[Ai]}],"row-start-end":[{row:["auto",{span:[Oi,me]},me]}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",me]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",me]}],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:[L]}],px:[{px:[L]}],py:[{py:[L]}],ps:[{ps:[L]}],pe:[{pe:[L]}],pt:[{pt:[L]}],pr:[{pr:[L]}],pb:[{pb:[L]}],pl:[{pl:[L]}],m:[{m:[_]}],mx:[{mx:[_]}],my:[{my:[_]}],ms:[{ms:[_]}],me:[{me:[_]}],mt:[{mt:[_]}],mr:[{mr:[_]}],mb:[{mb:[_]}],ml:[{ml:[_]}],"space-x":[{"space-x":[q]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[q]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",me,r]}],"min-w":[{"min-w":[me,r,"min","max","fit"]}],"max-w":[{"max-w":[me,r,"none","full","min","max","fit","prose",{screen:[Gn]},Gn]}],h:[{h:[me,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[me,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[me,r,"auto","min","max","fit"]}],"font-size":[{text:["base",Gn,qn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",ec]}],"font-family":[{font:[Ai]}],"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",me]}],"line-clamp":[{"line-clamp":["none",Es,ec]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",wn,me]}],"list-image":[{"list-image":["none",me]}],"list-style-type":[{list:["none","disc","decimal",me]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[R]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[R]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ye(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",wn,qn]}],"underline-offset":[{"underline-offset":["auto",wn,me]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",me]}],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",me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[R]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...te(),bw]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Sw]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Cw]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[S]}],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[k]}],"gradient-via":[{via:[k]}],"gradient-to":[{to:[k]}],rounded:[{rounded:[c]}],"rounded-s":[{"rounded-s":[c]}],"rounded-e":[{"rounded-e":[c]}],"rounded-t":[{"rounded-t":[c]}],"rounded-r":[{"rounded-r":[c]}],"rounded-b":[{"rounded-b":[c]}],"rounded-l":[{"rounded-l":[c]}],"rounded-ss":[{"rounded-ss":[c]}],"rounded-se":[{"rounded-se":[c]}],"rounded-ee":[{"rounded-ee":[c]}],"rounded-es":[{"rounded-es":[c]}],"rounded-tl":[{"rounded-tl":[c]}],"rounded-tr":[{"rounded-tr":[c]}],"rounded-br":[{"rounded-br":[c]}],"rounded-bl":[{"rounded-bl":[c]}],"border-w":[{border:[f]}],"border-w-x":[{"border-x":[f]}],"border-w-y":[{"border-y":[f]}],"border-w-s":[{"border-s":[f]}],"border-w-e":[{"border-e":[f]}],"border-w-t":[{"border-t":[f]}],"border-w-r":[{"border-r":[f]}],"border-w-b":[{"border-b":[f]}],"border-w-l":[{"border-l":[f]}],"border-opacity":[{"border-opacity":[R]}],"border-style":[{border:[...ye(),"hidden"]}],"divide-x":[{"divide-x":[f]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[f]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[R]}],"divide-style":[{divide:ye()}],"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:["",...ye()]}],"outline-offset":[{"outline-offset":[wn,me]}],"outline-w":[{outline:[wn,qn]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:ae()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[R]}],"ring-offset-w":[{"ring-offset":[wn,qn]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",Gn,Ew]}],"shadow-color":[{shadow:[Ai]}],opacity:[{opacity:[R]}],"mix-blend":[{"mix-blend":[...he(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":he()}],filter:[{filter:["","none"]}],blur:[{blur:[s]}],brightness:[{brightness:[l]}],contrast:[{contrast:[p]}],"drop-shadow":[{"drop-shadow":["","none",Gn,me]}],grayscale:[{grayscale:[g]}],"hue-rotate":[{"hue-rotate":[w]}],invert:[{invert:[y]}],saturate:[{saturate:[z]}],sepia:[{sepia:[A]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[s]}],"backdrop-brightness":[{"backdrop-brightness":[l]}],"backdrop-contrast":[{"backdrop-contrast":[p]}],"backdrop-grayscale":[{"backdrop-grayscale":[g]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[R]}],"backdrop-saturate":[{"backdrop-saturate":[z]}],"backdrop-sepia":[{"backdrop-sepia":[A]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[h]}],"border-spacing-x":[{"border-spacing-x":[h]}],"border-spacing-y":[{"border-spacing-y":[h]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",me]}],duration:[{duration:P()}],ease:[{ease:["linear","in","out","in-out",me]}],delay:[{delay:P()}],animate:[{animate:["none","spin","ping","pulse","bounce",me]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[M]}],"scale-x":[{"scale-x":[M]}],"scale-y":[{"scale-y":[M]}],rotate:[{rotate:[Oi,me]}],"translate-x":[{"translate-x":[V]}],"translate-y":[{"translate-y":[V]}],"skew-x":[{"skew-x":[F]}],"skew-y":[{"skew-y":[F]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",me]}],accent:[{accent:["auto",n]}],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",me]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Z()}],"scroll-mx":[{"scroll-mx":Z()}],"scroll-my":[{"scroll-my":Z()}],"scroll-ms":[{"scroll-ms":Z()}],"scroll-me":[{"scroll-me":Z()}],"scroll-mt":[{"scroll-mt":Z()}],"scroll-mr":[{"scroll-mr":Z()}],"scroll-mb":[{"scroll-mb":Z()}],"scroll-ml":[{"scroll-ml":Z()}],"scroll-p":[{"scroll-p":Z()}],"scroll-px":[{"scroll-px":Z()}],"scroll-py":[{"scroll-py":Z()}],"scroll-ps":[{"scroll-ps":Z()}],"scroll-pe":[{"scroll-pe":Z()}],"scroll-pt":[{"scroll-pt":Z()}],"scroll-pr":[{"scroll-pr":Z()}],"scroll-pb":[{"scroll-pb":Z()}],"scroll-pl":[{"scroll-pl":Z()}],"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",me]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[wn,qn,ec]}],stroke:[{stroke:[n,"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"]}}},Lw=fw(Rw);function Me(...n){return Lw(J1(n))}function Jk(n){return n?n.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}function Mw(){const n=K1(),r=Rt(s=>s.expertenmodus);return m.jsxs("div",{className:"flex items-center rounded-md border border-border/40 bg-background/40 p-0.5",role:"group","aria-label":"Ansichtsmodus",title:"Einfach zeigt nur das Wichtigste. Experte zeigt alle technischen Details.",children:[m.jsxs("button",{onClick:()=>r(!1),"aria-pressed":!n,className:Me("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"text-muted-foreground hover:text-foreground":"bg-primary/15 text-primary shadow-sm"),children:[m.jsx(D1,{className:"h-3.5 w-3.5"})," Einfach"]}),m.jsxs("button",{onClick:()=>r(!0),"aria-pressed":n,className:Me("flex items-center gap-1 rounded px-2 py-1 text-xs font-semibold transition-all cursor-pointer",n?"bg-primary/15 text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),children:[m.jsx(I1,{className:"h-3.5 w-3.5"})," Experte"]})]})}let js=[],Ps=[];const Pc=new Set,ug=()=>Pc.forEach(n=>n());function Yc(n){return Pc.add(n),()=>{Pc.delete(n)}}function cg(n){js=[...js,n].slice(-120),ug()}function dg(n){Ps=[...Ps,n].slice(-120),ug()}let fg=null;const hg=()=>W.useSyncExternalStore(Yc,()=>js),pg=()=>W.useSyncExternalStore(Yc,()=>Ps),mg=()=>W.useSyncExternalStore(Yc,()=>fg);let Ui=null;function Tw(n){const r=Date.now();if(fg=n,cg({t:r,cpu:n.cpu??0,ram:n.ram??0,gpu:n.gpu,disk:n.disk}),Ui){const s=Math.max((r-Ui.t)/1e3,.001);dg({t:r,prompt:Math.max(0,(n.tok_p-Ui.p)/s),completion:Math.max(0,(n.tok_c-Ui.c)/s)})}Ui={p:n.tok_p,c:n.tok_c,t:r}}function Iw(){const{data:n,dataUpdatedAt:r}=co(),{data:s,dataUpdatedAt:l}=Jc(),a=W.useRef(null);W.useEffect(()=>{var h,f,p,g;if(!n)return;const c=Date.now();js.length&&c-js[js.length-1].t<1e3||cg({t:c,cpu:((h=n.cpu)==null?void 0:h.percent)??0,ram:((f=n.ram)==null?void 0:f.percent)??0,gpu:((p=n.gpu)==null?void 0:p.busy_percent)??null,disk:((g=n.disk)==null?void 0:g.percent)??null})},[r]),W.useEffect(()=>{if(!s)return;const c=Date.now(),h=s.prompt_tokens,f=s.completion_tokens;if(a.current){const p=Math.max((c-a.current.t)/1e3,.001);(!Ps.length||c-Ps[Ps.length-1].t>=1e3)&&dg({t:c,prompt:Math.max(0,(h-a.current.p)/p),completion:Math.max(0,(f-a.current.c)/p)})}a.current={p:h,c:f,t:c}},[l])}let Vi=!1;const gg=()=>Vi;function Dw(){const n=Dc();W.useEffect(()=>{const r=new EventSource("/api/stream");let s=!1;return r.onopen=()=>{Vi=!0,Ju("live"),s&&Bp("erfolg","Verbindung zur Zentrale ist wieder da."),s=!0,n.invalidateQueries()},r.onerror=()=>{Vi&&(Vi=!1,Ju("nachlauf"),Bp("warnung","Verbindung zur Zentrale verloren — die Anzeigen laufen im Nachlauf."),n.invalidateQueries())},r.addEventListener("invalidate",l=>{var a;try{const c=((a=JSON.parse(l.data))==null?void 0:a.keys)??[];for(const h of c)n.invalidateQueries({queryKey:[h]});X1()}catch{}}),r.addEventListener("metrik",l=>{try{Tw(JSON.parse(l.data))}catch{}}),()=>{Vi=!1,Ju("getrennt"),r.close()}},[n])}class zw extends Error{constructor(s,l,a){super(a||`${s} ${l}`);wl(this,"status");wl(this,"detail");this.name="ApiError",this.status=s,this.detail=a}}async function Fw(n){try{const r=await n.text();if(!r)return null;try{const s=JSON.parse(r),l=(s==null?void 0:s.detail)??(s==null?void 0:s.err)??(s==null?void 0:s.message);return typeof l=="string"&&l.trim()?l.trim():Array.isArray(l)&&l.length&&l.map(a=>a==null?void 0:a.msg).filter(Boolean).join("; ")||null}catch{return r.slice(0,200).split(` +`)[0].trim()||null}}catch{return null}}async function Pe(n,r){const s=await fetch(n,{...r,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers}});if(!s.ok)throw new zw(s.status,s.statusText,await Fw(s));return s.json()}const eS=(n,r,s=!1,l=!0)=>Pe("/api/groups",{method:"PUT",body:JSON.stringify({group:n,members:r,swap:s,persist:l})}),tS=n=>Pe("/api/routing/policy",{method:"PUT",body:JSON.stringify(n)}),Te={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],groups:["groups"],routing:["routing"],routingPolicy:["routing-policy"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],agentAktivitaet:["agent-aktivitaet"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:n=>["drafts",n??""],connect:n=>["connect",n??""],connectHealth:["connect-health"],memoryGraph:["memory-graph"],voiceTrace:["voice-trace"],auftragsbuch:["auftragsbuch"],ideen:["ideen"],chronik:["chronik"],wissen:["wissen"],zeitmaschine:["zeitmaschine"],reminders:["reminders"]},ct={graph:3e3,schnell:8e3,normal:1e4,gemuetlich:3e4,traege:6e4},Ks=n=>()=>gg()?n*5:n,yg=n=>()=>gg()?6e4:n,Ow=(n=ct.schnell)=>De({queryKey:Te.auftragsbuch,queryFn:()=>Pe("/api/auftragsbuch"),refetchInterval:Ks(n)}),Aw=(n=ct.gemuetlich)=>De({queryKey:Te.ideen,queryFn:()=>Pe("/api/ideen"),refetchInterval:Ks(n)}),nS=(n,r=!1)=>De({queryKey:["ideen-log",n],queryFn:()=>Pe(`/api/ideen/${n}/log`),enabled:r,refetchInterval:4e3,staleTime:0}),rS=(n=150,r=ct.gemuetlich)=>De({queryKey:[...Te.chronik,n],queryFn:()=>Pe(`/api/chronik?limit=${n}`),refetchInterval:Ks(r),select:s=>s.items??[]}),sS=()=>De({queryKey:Te.wissen,queryFn:()=>Pe("/api/wissen")}),iS=(n=ct.traege,r=!0)=>De({queryKey:Te.zeitmaschine,queryFn:()=>Pe("/api/zeitmaschine"),refetchInterval:n,enabled:r}),Uw=(n=12,r=ct.schnell)=>De({queryKey:Te.voiceTrace,queryFn:()=>Pe(`/api/voice/trace?limit=${n}`),refetchInterval:r,select:s=>s.turns??[]}),oS=(n=!0)=>De({queryKey:Te.memoryGraph,queryFn:()=>Pe("/api/wissen/graph"),enabled:n,staleTime:60*1e3}),Xc=()=>De({queryKey:Te.health,queryFn:()=>Pe("/api/health"),refetchInterval:ct.normal}),co=(n=ct.graph)=>De({queryKey:Te.systemStatus,queryFn:()=>Pe("/api/system/status"),refetchInterval:yg(n)}),vg=(n,r=!0)=>De({queryKey:["metrics-history",n],queryFn:()=>Pe(`/api/system/history?minutes=${n}`),enabled:r,refetchInterval:6e4}),xg=(n=ct.normal)=>De({queryKey:Te.services,queryFn:()=>Pe("/api/system/services"),refetchInterval:n}),wg=(n=ct.schnell)=>De({queryKey:Te.models,queryFn:()=>Pe("/api/models"),refetchInterval:Ks(n)}),lS=(n=ct.normal)=>De({queryKey:Te.groups,queryFn:()=>Pe("/api/groups"),refetchInterval:n}),Bw=(n=ct.normal)=>De({queryKey:Te.routing,queryFn:()=>Pe("/api/routing"),refetchInterval:n}),aS=()=>De({queryKey:Te.routingPolicy,queryFn:()=>Pe("/api/routing/policy")}),uS=(n=3e3,r=!0)=>De({queryKey:Te.jobs,queryFn:()=>Pe("/api/jobs"),refetchInterval:Ks(n),enabled:r,select:s=>s.jobs??[]}),Jc=(n=ct.graph)=>De({queryKey:Te.tokenStats,queryFn:()=>Pe("/api/system/token-stats"),refetchInterval:yg(n)}),$w=(n=ct.normal)=>De({queryKey:Te.agentStatus,queryFn:()=>Pe("/api/agent/status"),refetchInterval:n}),cS=(n=ct.gemuetlich)=>De({queryKey:Te.agentAktivitaet,queryFn:()=>Pe("/api/agent/aktivitaet?limit=80"),refetchInterval:Ks(n)}),dS=(n=ct.traege)=>De({queryKey:Te.hermesBrain,queryFn:()=>Pe("/api/agent/brain"),refetchInterval:n}),Vw=(n=ct.traege)=>De({queryKey:Te.updates,queryFn:()=>Pe("/api/maintenance/updates"),refetchInterval:n}),fS=()=>De({queryKey:Te.discover,queryFn:()=>Pe("/api/discover")}),hS=n=>De({queryKey:Te.drafts(n),queryFn:()=>Pe(`/api/models/drafts?target=${encodeURIComponent(n??"")}`),enabled:!!n}),pS=n=>De({queryKey:Te.connect(n),queryFn:()=>Pe(n?`/api/connect?${n}`:"/api/connect")}),Hw=()=>De({queryKey:Te.connectHealth,queryFn:()=>Pe("/api/connect/health"),refetchInterval:15e3});function mS(n,...r){for(const s of r)n.invalidateQueries({queryKey:s})}function an(n){return(n/1024**3).toFixed(1)}function gS(n){return n?n>1024**3?`${(n/1024**3).toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`:""}function yS(n){if(!n)return"—";const r=n/1024**3;return r>=1?`${r.toFixed(1)} GB`:`${(n/1024**2).toFixed(0)} MB`}function vS(n){if(!n)return"";const r=Math.floor(n/60);return r>0?`${r} min`:`${n} s`}function xS(n){return n?`${Math.round(n/1024)}k`:"—"}function wS(n){return n?new Date(n*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"}):"—"}function Ww(n){if(n==null||n<0)return null;const r=Math.floor(n/86400),s=Math.floor(n%86400/3600),l=Math.floor(n%3600/60);return r>0?`${r} T ${s} Std`:s>0?`${s} Std ${l} min`:`${l} min`}function Hp({werte:n,farbe:r,breite:s=56,hoehe:l=14}){if(n.length<2)return m.jsx("div",{style:{width:s,height:l},"aria-hidden":"true"});const a=Math.max(...n,1),c=s/(n.length-1),h=n.map((f,p)=>`${p===0?"M":"L"}${(p*c).toFixed(1)},${(l-f/a*l).toFixed(1)}`).join(" ");return m.jsx("svg",{width:s,height:l,viewBox:`0 0 ${s} ${l}`,"aria-hidden":"true",className:"shrink-0",children:m.jsx("path",{d:h,fill:"none",stroke:r,strokeWidth:"1.25",strokeLinejoin:"round",strokeLinecap:"round"})})}function ws({children:n,titel:r,className:s}){return m.jsx("div",{title:r,className:Me("flex shrink-0 items-center gap-1.5 border-r border-border/30 px-3",s),children:n})}function Qw(){var q,V,O,Q,X,Z,ae,H,te,ye;const{data:n,isError:r}=Xc(),{data:s}=co(),{data:l}=Bw(),{data:a}=Jc(),c=hg(),h=pg(),f=Z1(),p=!r&&!!(n!=null&&n.engine_reachable),g=p&&(n!=null&&n.brain?n.brain.ready:!0),w=((q=n==null?void 0:n.brain)==null?void 0:q.role)??((O=(V=l==null?void 0:l.lanes)==null?void 0:V[0])==null?void 0:O.name)??null,y=mg(),x=(y==null?void 0:y.cpu)??((Q=s==null?void 0:s.cpu)==null?void 0:Q.percent)??0,k=(y==null?void 0:y.gpu)??((X=s==null?void 0:s.gpu)==null?void 0:X.busy_percent)??null,S=(y==null?void 0:y.ram)??((Z=s==null?void 0:s.ram)==null?void 0:Z.percent)??0,b=(y==null?void 0:y.ram_used)??((ae=s==null?void 0:s.ram)==null?void 0:ae.used),_=(y==null?void 0:y.ram_total)??((H=s==null?void 0:s.ram)==null?void 0:H.total),R=Math.max((y==null?void 0:y.temp_cpu)??((te=s==null?void 0:s.temp)==null?void 0:te.cpu)??0,(y==null?void 0:y.temp_gpu)??((ye=s==null?void 0:s.temp)==null?void 0:ye.gpu)??0),L=h.length?h[h.length-1].completion:0,z=Ww((y==null?void 0:y.uptime_s)??(s==null?void 0:s.uptime_s)),M=r?"getrennt":f==="live"?"live":"nachlauf",F={live:{punkt:"bg-emerald-500",text:"Live",titel:"Ereignisstrom steht — Änderungen erscheinen sofort."},nachlauf:{punkt:"bg-amber-500",text:"Nachlauf",titel:"Kein Ereignisstrom — die Zahlen stimmen, sie kommen im Takt statt sofort."},getrennt:{punkt:"bg-red-500",text:"Getrennt",titel:"Die Zentrale antwortet nicht — die Zahlen sind veraltet."}}[M];return m.jsxs("footer",{className:"flex h-11 shrink-0 items-stretch overflow-x-auto border-t border-border/40 bg-card/40 font-mono text-[11px] backdrop-blur-sm scrollbar-thin","aria-label":"Zustand der Box",children:[m.jsxs(Kl,{to:"/agent",className:"flex shrink-0 items-center gap-2.5 border-r border-border/30 px-3 transition-colors hover:bg-accent/50",children:[m.jsxs("span",{className:"flex items-center gap-1.5",title:p?"Motor (Engine) läuft":"Motor (Engine) läuft nicht",children:[m.jsx("span",{className:Me("h-2 w-2 rounded-full",p?"bg-emerald-500":"bg-red-500"),"aria-hidden":"true"}),m.jsx("span",{className:p?"text-muted-foreground":"font-semibold text-red-400",children:"Motor"})]}),m.jsxs("span",{className:"flex items-center gap-1.5",title:g?"Lucys Hirn ist bereit":"Lucys Hirn ist nicht bereit",children:[m.jsx("span",{className:Me("h-2 w-2 rounded-full",g?"bg-emerald-500":"bg-amber-500"),"aria-hidden":"true"}),m.jsx("span",{className:g?"text-muted-foreground":"font-semibold text-amber-400",children:"Hirn"})]})]}),m.jsxs(ws,{titel:"Aktive Rolle und aktueller Ausgabe-Durchsatz",children:[m.jsx("span",{className:"font-semibold text-primary",children:w??"—"}),m.jsx("span",{className:"tabular-nums text-muted-foreground",children:L>0?`${L.toFixed(0)} t/s`:"leerlauf"}),m.jsx(Hp,{werte:h.map(he=>he.completion),farbe:"hsl(172 72% 50%)"})]}),m.jsxs(ws,{titel:b!=null&&_!=null?`Geteilter Speicher (Unified Memory): ${an(b)} von ${an(_)} GB belegt`:"Speicher",children:[m.jsx("span",{className:"text-muted-foreground",children:"Speicher"}),m.jsx("div",{className:"h-2 w-24 overflow-hidden rounded-sm border border-border/50 bg-background/60","aria-hidden":"true",children:m.jsx("div",{className:Me("h-full transition-[width] duration-500",S>90?"bg-red-500":S>75?"bg-amber-500":"bg-primary"),style:{width:`${Math.min(100,S)}%`}})}),m.jsx("span",{className:"tabular-nums text-foreground",children:b!=null&&_!=null?`${an(b)}/${an(_)} GB`:"—"})]}),m.jsxs(ws,{titel:"Auslastung von Prozessor und Grafikeinheit",children:[m.jsx("span",{className:"text-muted-foreground",children:"CPU"}),m.jsxs("span",{className:"tabular-nums text-foreground",children:[Math.round(x)," %"]}),m.jsx(Hp,{werte:c.map(he=>he.cpu),farbe:"hsl(199 89% 58%)"}),k!=null&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"ml-1 text-muted-foreground",children:"GPU"}),m.jsxs("span",{className:"tabular-nums text-foreground",children:[Math.round(k)," %"]})]})]}),R>0&&m.jsxs(ws,{titel:"Höchste gemessene Temperatur (Prozessor oder Grafikeinheit)",children:[m.jsx("span",{className:"text-muted-foreground",children:"Temp"}),m.jsxs("span",{className:Me("tabular-nums",R>=85?"font-semibold text-amber-400":"text-foreground"),children:[Math.round(R)," °C"]})]}),z&&m.jsxs(ws,{titel:"Betriebszeit seit dem letzten Neustart der Box",children:[m.jsx("span",{className:"text-muted-foreground",children:"Läuft seit"}),m.jsx("span",{className:"tabular-nums text-foreground",children:z})]}),a&&m.jsx(ws,{titel:"Seit Beginn verarbeitete Token und die damit gesparten Cloud-Kosten",children:m.jsxs("span",{className:"tabular-nums text-muted-foreground",children:[a.total_tokens.toLocaleString("de-DE")," Token · ",a.saved_eur.toFixed(0)," € gespart"]})}),m.jsxs("div",{className:"ml-auto flex shrink-0 items-center gap-1.5 px-3",title:F.titel,children:[m.jsx("span",{className:Me("h-2 w-2 rounded-full",F.punkt,M==="live"&&"animate-pulse"),"aria-hidden":"true"}),m.jsx("span",{className:"text-muted-foreground",children:F.text})]})]})}const Kw=6e3,qw={info:{rand:"border-sky-500/40",farbe:"text-sky-300",Icon:j1},erfolg:{rand:"border-emerald-500/40",farbe:"text-emerald-300",Icon:v1},warnung:{rand:"border-amber-500/40",farbe:"text-amber-300",Icon:$l},fehler:{rand:"border-red-500/40",farbe:"text-red-300",Icon:x1}};function Gw(){const n=Y1(),r=Rt(s=>s.meldungWeg);return W.useEffect(()=>{const s=n.filter(l=>l.art!=="fehler").map(l=>window.setTimeout(()=>r(l.id),Math.max(1e3,Kw-(Date.now()-l.seit))));return()=>s.forEach(window.clearTimeout)},[n,r]),m.jsx("div",{className:"pointer-events-none fixed bottom-4 right-4 z-[70] flex w-full max-w-sm flex-col gap-2",role:"status","aria-live":"polite","aria-atomic":"false",children:n.map(s=>{const{rand:l,farbe:a,Icon:c}=qw[s.art];return m.jsxs("div",{className:Me("pointer-events-auto flex items-start gap-2.5 rounded-lg border bg-card/95 px-3.5 py-2.5 shadow-xl backdrop-blur",l),"aria-live":s.art==="fehler"?"assertive":"polite",children:[m.jsx(c,{className:Me("mt-0.5 h-4 w-4 shrink-0",a),"aria-hidden":"true"}),m.jsx("p",{className:"flex-1 text-xs leading-relaxed text-foreground",children:s.text}),m.jsx("button",{onClick:()=>r(s.id),"aria-label":"Meldung schließen",className:"shrink-0 cursor-pointer rounded p-0.5 text-muted-foreground transition-colors hover:text-foreground",children:m.jsx(Gc,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]},s.id)})})}const Zw=W.lazy(()=>Lt(()=>import("./SystemDrawer-BFlT9oNB.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])).then(n=>({default:n.SystemDrawer}))),Yw=W.lazy(()=>Lt(()=>import("./CommandPalette-L89cO5ZN.js"),__vite__mapDeps([10,11,8,1,3,2])).then(n=>({default:n.CommandPalette})));function Xw(){return m.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:m.jsx(Qc,{className:"h-5 w-5 animate-spin","aria-label":"Lädt …"})})}const Jw=/Mac|iPhone|iPad/.test(navigator.platform);function ek(){Iw(),Dw();const n=uo(),r=Op({select:b=>b.location.pathname}),s=Op({select:b=>b.location.search.system}),l=q1(),a=Rt(b=>b.schieneUmschalten),c=G1(),h=Rt(b=>b.palette),[f,p]=W.useState(!1),[g,w]=W.useState(!1);W.useEffect(()=>{c&&w(!0)},[c]),W.useEffect(()=>{const b=_=>{(_.metaKey||_.ctrlKey)&&_.key.toLowerCase()==="k"&&(_.preventDefault(),h(!Rt.getState().ui.paletteOffen))};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[h]);const y=W.useCallback(b=>{n({to:".",search:_=>({..._,system:b}),replace:!0})},[n]),{data:x,isError:k}=Xc();W.useEffect(()=>{document.documentElement.classList.add("dark")},[]),W.useEffect(()=>{p(!1)},[r]);const S=ng(r);return m.jsxs("div",{className:"flex h-full relative",children:[m.jsx("div",{className:"fixed inset-0 -z-50 pointer-events-none",style:{backgroundColor:"hsl(224,30%,6%)",backgroundImage:["radial-gradient(45% 40% at 12% 8%, hsl(172 72% 50% / 0.10), transparent 70%)","radial-gradient(50% 45% at 88% 92%, hsl(270 70% 60% / 0.10), transparent 70%)","radial-gradient(40% 35% at 75% 30%, hsl(239 70% 62% / 0.07), transparent 70%)"].join(", ")}}),m.jsx(Gw,{}),m.jsxs(W.Suspense,{fallback:null,children:[g&&m.jsx(Yw,{}),s&&m.jsx(Zw,{open:!0,onClose:()=>y(void 0),defaultTab:s==="logs"?"logs":"maintenance"})]}),m.jsx("aside",{className:Me("hidden md:flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",l?"w-16":"w-60"),children:m.jsx(Wp,{collapsed:l,onToggleCollapse:a,pfad:r,health:x,backendDown:k})}),m.jsxs("div",{className:Me("md:hidden fixed inset-0 z-50 transition-opacity duration-200",f?"opacity-100":"pointer-events-none opacity-0"),"aria-hidden":!f,children:[m.jsx("div",{className:"absolute inset-0 bg-black/60",onClick:()=>p(!1)}),m.jsx("aside",{className:Me("absolute inset-y-0 left-0 flex w-72 max-w-[85vw] flex-col border-r border-border/40 bg-[hsl(224,28%,8%)] transition-transform duration-300 ease-in-out",f?"translate-x-0":"-translate-x-full"),children:m.jsx(Wp,{collapsed:!1,onClose:()=>p(!1),pfad:r,health:x,backendDown:k})})]}),m.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[m.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-border/40 px-4 md:px-6 bg-card/20 backdrop-blur-sm",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[m.jsx("button",{onClick:()=>p(!0),className:"md:hidden p-1.5 -ml-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation öffnen",children:m.jsx(L1,{className:"h-5 w-5","aria-hidden":"true"})}),m.jsx("div",{className:"truncate text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:S==null?void 0:S.hint})]}),m.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[m.jsx(Mw,{}),m.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"hidden sm: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"}),m.jsxs("button",{onClick:()=>h(!0),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:[m.jsx(w1,{className:"h-3.5 w-3.5"}),m.jsx("span",{className:"hidden sm:inline",children:"Suchen"}),m.jsx("kbd",{className:"hidden sm:inline rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:Jw?"⌘K":"Strg+K"})]})]})]}),m.jsx("main",{className:"flex-1 overflow-y-auto scrollbar-thin",children:m.jsx("div",{className:"mx-auto w-full max-w-[1600px] p-4 md:p-6",children:m.jsx(W.Suspense,{fallback:m.jsx(Xw,{}),children:m.jsx(Zm,{})})})}),m.jsx(Qw,{})]})]})}function Wp({collapsed:n,onToggleCollapse:r,onClose:s,pfad:l,health:a,backendDown:c}){var p,g,w,y,x;const h=ng(l),{data:f}=co();return m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:Me("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[m.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[m.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&m.jsxs("div",{className:"leading-tight",children:[m.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),m.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),r&&m.jsx("button",{onClick:r,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":n?"Seitenleiste ausklappen":"Seitenleiste einklappen",title:n?"Maximieren":"Minimieren",children:n?m.jsx(Qi,{className:"h-4 w-4","aria-hidden":"true"}):m.jsx(y1,{className:"h-4 w-4","aria-hidden":"true"})}),s&&m.jsx("button",{onClick:s,className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer","aria-label":"Navigation schließen",children:m.jsx(Gc,{className:"h-4 w-4","aria-hidden":"true"})})]}),m.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:(()=>{let k=null;return to.map(S=>{const b=S.group!==k;k=S.group;const _=(h==null?void 0:h.id)===S.id;return m.jsxs("div",{className:"space-y-1",children:[b&&(n?k!==to[0].group&&m.jsx("div",{className:"my-3 border-t border-border/30"}):m.jsx("div",{className:"mt-5 mb-1.5 px-3 text-[10px] font-bold uppercase tracking-widest text-muted-foreground/40 first:mt-0 select-none",children:S.group})),m.jsxs(Kl,{to:S.pfad,onClick:s,"aria-current":_?"page":void 0,className:Me("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",_?n?"nav-active-collapsed":"nav-active":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?S.label:void 0,"aria-label":n?S.label:void 0,children:[m.jsx(S.icon,{className:"h-4.5 w-4.5 shrink-0","aria-hidden":"true"}),!n&&m.jsx("span",{className:"truncate",children:S.label})]})]},S.id)})})()}),m.jsx("div",{className:Me("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?m.jsx("div",{className:"flex justify-center",children:m.jsx("span",{className:Me("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",c||!a?"bg-red-500":a.engine_reachable?a.brain&&!a.brain.ready?"bg-amber-500 animate-pulse":"bg-emerald-500 animate-pulse":"bg-amber-500"),title:c?"Zentrale antwortet nicht — Anzeigen evtl. veraltet":a?a.engine_reachable?a.brain&&!a.brain.ready?`Hirn offline (${a.brain.model??"fast"})`:"Engine + Hirn online":"Engine offline":"Backend offline"})}):m.jsxs("div",{className:"space-y-2 text-left",children:[c?m.jsxs("span",{className:"flex items-center gap-2 text-red-400",children:[m.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500 animate-pulse"}),m.jsx("span",{className:"truncate",children:"Zentrale antwortet nicht"})]}):a?m.jsxs(m.Fragment,{children:[m.jsxs("span",{className:"flex items-center gap-2",children:[m.jsx("span",{className:Me("h-2 w-2 rounded-full animate-pulse",a.engine_reachable?"bg-emerald-500":"bg-amber-500")}),m.jsxs("span",{className:"truncate",children:["Engine ",a.engine_reachable?"online":"offline"]})]}),a.brain&&!a.brain.ready&&m.jsxs("span",{className:"flex items-center gap-2 text-amber-400",title:`Agent-Hirn '${a.brain.model??"fast"}' lädt nicht/abgestürzt`,children:[m.jsx("span",{className:"h-2 w-2 rounded-full bg-amber-500 animate-pulse"}),m.jsxs("span",{className:"truncate",children:["Hirn offline",a.brain.model?` (${a.brain.model})`:""]})]})]}):m.jsxs("span",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",m.jsx("span",{className:"truncate",children:"Backend offline"})]}),(f==null?void 0:f.versions)&&m.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[m.jsxs("div",{className:"truncate",title:f.versions.mc2?`${f.versions.mc2.branch}-${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""} (${f.versions.mc2.date})`:"nicht gefunden",children:[m.jsx("strong",{children:"MC2:"})," ",f.versions.mc2?`${f.versions.mc2.hash}${f.versions.mc2.dirty?"*":""}`:"—"]}),m.jsxs("div",{className:"truncate",title:((p=f.versions.engine)==null?void 0:p.type)==="git"?`${f.versions.engine.branch}-${f.versions.engine.hash}${f.versions.engine.dirty?"*":""} (${f.versions.engine.date})`:((g=f.versions.engine)==null?void 0:g.version_text)||"unbekannt",children:[m.jsx("strong",{children:"Engine:"})," ",((w=f.versions.engine)==null?void 0:w.type)==="git"?`${f.versions.engine.hash}${f.versions.engine.dirty?"*":""}`:((x=(y=f.versions.engine)==null?void 0:y.version_text)==null?void 0:x.split(" ").pop())||"—"]}),m.jsxs("div",{className:"truncate",title:f.versions.hermes_agent?`${f.versions.hermes_agent.branch}-${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""} (${f.versions.hermes_agent.date})`:"nicht gefunden",children:[m.jsx("strong",{children:"Hermes Agent:"})," ",f.versions.hermes_agent?`${f.versions.hermes_agent.hash}${f.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]})}function qs({titel:n,text:r,fehler:s,onErneut:l}){const a=s instanceof Error?s.stack||s.message:s?String(s):null;return m.jsx("div",{className:"flex min-h-[50vh] items-center justify-center p-6",children:m.jsxs("div",{className:"mc-card max-w-lg space-y-4 p-6",children:[m.jsxs("div",{className:"flex items-center gap-2.5",children:[m.jsx($l,{className:"h-5 w-5 shrink-0 text-amber-400","aria-hidden":"true"}),m.jsx("h1",{className:"font-space text-lg font-bold tracking-tight",children:n})]}),m.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:r}),m.jsxs("div",{className:"flex flex-wrap gap-2 pt-1",children:[l&&m.jsxs("button",{onClick:l,className:"flex h-9 cursor-pointer items-center gap-1.5 rounded-lg bg-primary px-4 text-xs font-semibold text-primary-foreground transition-colors hover:bg-primary/90",children:[m.jsx(T1,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Erneut versuchen"]}),m.jsx("a",{href:"/cockpit",className:"flex h-9 items-center rounded-lg border border-border/60 bg-background/20 px-4 text-xs font-semibold text-muted-foreground transition-colors hover:bg-accent",children:"Zum Cockpit"})]}),a&&m.jsxs("details",{className:"pt-1",children:[m.jsx("summary",{className:"cursor-pointer text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70 hover:text-foreground",children:"Technische Einzelheiten"}),m.jsx("pre",{className:"scrollbar-thin mt-2 max-h-52 overflow-auto rounded-lg border border-border/40 bg-background/40 p-3 font-mono text-[10px] leading-relaxed text-muted-foreground",children:a})]})]})})}function tk(){var V,O,Q,X,Z,ae;const{data:n,isError:r}=Xc(),{data:s,isError:l}=xg(),{data:a}=wg(),{data:c}=co(),h=r||l,f=!!n&&!!s,p=H=>{var te;return(te=s==null?void 0:s.services.find(ye=>ye.unit===H))==null?void 0:te.ok},g=H=>!!(s!=null&&s.services.some(te=>te.unit===H)),w=n==null?void 0:n.engine_reachable,y=(V=n==null?void 0:n.brain)==null?void 0:V.ready,x=((O=n==null?void 0:n.brain)==null?void 0:O.model)||((Q=a==null?void 0:a.models.find(H=>H.role==="hermes"))==null?void 0:Q.name)||"",k=[];h&&k.push({id:"mc2",label:"Steuerpult (MC2)",icon:tg,critical:!0,status:"down",detail:"Die Zentrale antwortet nicht — alle Anzeigen hier können veraltet sein. Läuft die Box? Deploy aktiv?"}),k.push((()=>{const H={id:"brain",label:"Lucys Hirn",icon:m1,critical:!0};return f?w===!1?{...H,status:"down",detail:"Die Motor-Maschine (Engine) läuft nicht — Lucy kann gerade gar nicht denken.",repair:{kind:"restart",service:"llama-swap",label:"Motor neu starten",needsSudo:!0}}:y===!1?{...H,status:"down",detail:"Lucys Hirn ist gerade eingeschlafen — einmal aufwecken.",repair:x?{kind:"loadModel",model:x,label:"Hirn aufwecken"}:void 0}:{...H,status:"ok",detail:"Wach und ansprechbar."}:{...H,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const H={id:"vision",label:"Lucys Augen",icon:S1,critical:!1};if(!f||!a)return{...H,status:"loading",detail:"Wird geprüft …"};const te=a.models.find(he=>he.role==="vision");return te?(a.running??[]).includes(te.name)?{...H,status:"ok",detail:"Sieht gerade zu (geladen, solange Lucy sie nutzt)."}:{...H,status:"ok",detail:"Augen ruhen — sie laden von selbst, sobald Lucy startet oder ein Bild kommt.",repair:{kind:"loadModel",model:te.name,label:"Augen wecken"}}:{...H,status:"warn",detail:"Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen."}})()),k.push((()=>{const H={id:"memory",label:"Lucys Gedächtnis",icon:p1,critical:!0},te=p("hermes-gateway");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Hermes-Natives Gedächtnis aktiv (SQLite & Embeddings)."}:{...H,status:"down",detail:"Lucy kann sich gerade nichts merken — das Gateway antwortet nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Gateway neu starten"}}})()),k.push((()=>{const H={id:"gateway",label:"Verbindung (Gateway)",icon:Kc,critical:!0},te=n?n.gateway_reachable:p("mc2-gateway");if(!f||te===void 0)return{...H,status:"loading",detail:"Wird geprüft …"};const ye=g("mc2-gateway")?"mc2-gateway":"mission-control-2";return te?{...H,status:"ok",detail:"Apps und IDEs können Lucy erreichen."}:{...H,status:"down",detail:"Der Modell-Gateway antwortet nicht — Lucy und die IDEs erreichen kein Modell.",repair:{kind:"restart",service:ye,label:"Gateway neu starten"}}})()),k.push((()=>{const H={id:"steward",label:"Wächter (Steward)",icon:qc,critical:!1};return f?g("mc2-steward")?p("mc2-steward")?{...H,status:"ok",detail:"Wacht über Warm-Set, Dienste und Gedächtnis."}:{...H,status:"warn",detail:"Der Wächter schläft — niemand meldet gerade Ausfälle oder wärmt Modelle nach.",repair:{kind:"restart",service:"mc2-steward",label:"Wächter neu starten"}}:{...H,status:"ok",detail:"Auf dieser Installation nicht eingerichtet."}:{...H,status:"loading",detail:"Wird geprüft …"}})()),k.push((()=>{const H={id:"agent",label:"Lucys Agent (Hermes)",icon:Cc,critical:!0},te=p("hermes-gateway");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Lucy ist bereit zu reden und zu handeln."}:{...H,status:"down",detail:"Lucys Agent ist offline — sie reagiert gerade nicht.",repair:{kind:"restart",service:"hermes-gateway",label:"Agent neu starten"}}})()),k.push((()=>{const H={id:"voice",label:"Lucys Stimme",icon:M1,critical:!1},te=p("voice-service");return!f||te===void 0?{...H,status:"loading",detail:"Wird geprüft …"}:te?{...H,status:"ok",detail:"Lucy kann hören und sprechen."}:{...H,status:"warn",detail:"Sprechen ist gerade aus — Tippen geht weiter normal.",repair:{kind:"restart",service:"voice-service",label:"Stimme neu starten"}}})());const S=((X=c==null?void 0:c.ram)==null?void 0:X.total)??0,b=((Z=c==null?void 0:c.ram)==null?void 0:Z.used)??0,_=((ae=c==null?void 0:c.ram)==null?void 0:ae.percent)??(S>0?Math.min(100,b/S*100):0),R=1024**3,L=S?_>=93?{status:"full",usedGb:b/R,totalGb:S/R,pct:_,text:"Speicher fast voll — Lucy könnte langsamer werden."}:_>=85?{status:"warn",usedGb:b/R,totalGb:S/R,pct:_,text:"Speicher gut gefüllt — noch okay."}:{status:"ok",usedGb:b/R,totalGb:S/R,pct:_,text:"Genug Speicher frei."}:{status:"unknown",usedGb:0,totalGb:0,pct:0,text:"Speicher-Auslastung unbekannt."},z=k.some(H=>H.status==="loading"),M=k.filter(H=>H.critical&&H.status==="down"),A=k.filter(H=>H.status==="warn"||!H.critical&&H.status==="down"),F=L.status==="full";return{verdict:z&&!M.length?"loading":M.length?"problem":A.length||F?"warn":"gut",checks:k,memory:L,problems:M,warns:A,unreachable:h}}function nk({type:n,title:r,message:s,defaultValue:l,autoValue:a,autoLabel:c,onConfirm:h,onCancel:f}){const p=W.useRef(null);return m.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":r,children:m.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:[m.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[m.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:r}),m.jsx("button",{onClick:f||(()=>h()),"aria-label":"Schließen",className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:m.jsx(Gc,{className:"h-4 w-4","aria-hidden":"true"})})]}),m.jsx("p",{className:"max-h-72 overflow-y-auto whitespace-pre-line text-xs text-muted-foreground leading-relaxed scrollbar-thin",children:s}),n==="prompt"&&m.jsxs("div",{className:"flex gap-2",children:[m.jsx("input",{ref:p,type:"text",defaultValue:l,"aria-label":r,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:g=>{var w;g.key==="Enter"&&h((w=p.current)==null?void 0:w.value)}}),a!==void 0&&m.jsx("button",{type:"button",onClick:()=>{p.current&&(p.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:c||"Auto"})]}),m.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(n==="confirm"||n==="prompt")&&m.jsx("button",{onClick:f,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"}),m.jsx("button",{onClick:()=>{var w;const g=n==="prompt"?(w=p.current)==null?void 0:w.value:void 0;h(g)},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:n==="confirm"?"Ja, fortfahren":n==="prompt"?"Übernehmen":"OK"})]})]})})}function rk(){const[n,r]=W.useState(null),s=W.useCallback(()=>r(null),[]),l=W.useCallback((f,p,g)=>{r({type:"alert",title:f,message:p,onConfirm:()=>{r(null),g==null||g()}})},[]),a=W.useCallback((f,p,g,w)=>{r({type:"confirm",title:f,message:p,onConfirm:()=>{r(null),g()},onCancel:()=>{r(null),w==null||w()}})},[]),c=W.useCallback((f,p,g,w,y,x)=>{r({type:"prompt",title:f,message:p,defaultValue:g,autoValue:x==null?void 0:x.autoValue,autoLabel:x==null?void 0:x.autoLabel,onConfirm:k=>{r(null),w(k)},onCancel:()=>{r(null),y==null||y()}})},[]),h=n?m.jsx(nk,{...n}):null;return{showAlert:l,showConfirm:a,showPrompt:c,close:s,dialogElement:h}}const sk={ok:"bg-emerald-500",warn:"bg-amber-500",alert:"bg-red-500",muted:"bg-muted-foreground/40",loading:"bg-muted-foreground/40 animate-pulse"},ik={ok:"hover:border-emerald-500/40",warn:"hover:border-amber-500/50",alert:"hover:border-red-500/50",muted:"hover:border-primary/40",loading:"hover:border-border/60"};function Bi({icon:n,title:r,value:s,unit:l,tone:a="muted",hint:c,onClick:h}){return m.jsxs("button",{onClick:h,className:Me("group relative flex flex-col items-start mc-card p-5 text-left cursor-pointer",ik[a]),children:[m.jsxs("div",{className:"mb-4 flex w-full items-center justify-between",children:[m.jsx("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl border border-border/40 bg-background/30 text-foreground/80 transition-colors group-hover:text-primary",children:m.jsx(n,{className:"h-5 w-5"})}),m.jsx("span",{className:Me("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",sk[a]),title:c})]}),m.jsxs("div",{className:"flex items-baseline gap-1.5",children:[m.jsx("span",{className:"text-2xl font-bold tracking-tight text-foreground font-space tabular-nums",children:s}),l&&m.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:l})]}),m.jsxs("div",{className:"mt-1 flex w-full items-center justify-between",children:[m.jsx("span",{className:"text-sm font-semibold text-foreground/90",children:r}),m.jsx(Qi,{className:"h-4 w-4 text-muted-foreground/40 transition-all group-hover:translate-x-0.5 group-hover:text-primary"})]}),c&&m.jsx("span",{className:"mt-0.5 text-[11px] text-muted-foreground",children:c})]})}function ok(){const{data:n,error:r}=co(),s=mg(),l=hg();return{sys:W.useMemo(()=>{var c,h;return!n||!s?n:{...n,cpu:{...n.cpu,percent:s.cpu??n.cpu.percent},ram:{...n.ram,percent:s.ram??n.ram.percent,used:s.ram_used??n.ram.used,total:s.ram_total??n.ram.total},gpu:n.gpu?{...n.gpu,busy_percent:s.gpu??n.gpu.busy_percent}:n.gpu,disk:n.disk?{...n.disk,percent:s.disk??n.disk.percent}:n.disk,temp:{cpu:s.temp_cpu??((c=n.temp)==null?void 0:c.cpu),gpu:s.temp_gpu??((h=n.temp)==null?void 0:h.gpu)},uptime_s:s.uptime_s??n.uptime_s}},[n,s]),hist:l,error:r}}const lk=W.lazy(()=>Lt(()=>import("./LiveAreaChartImpl-Bzha3ivD.js"),__vite__mapDeps([12,13,11])));function kg(n){return m.jsx(W.Suspense,{fallback:m.jsx(ak,{height:n.height??176}),children:m.jsx(lk,{...n})})}function ak({height:n}){return m.jsx("div",{style:{height:n},className:"flex w-full items-end","aria-hidden":"true",children:m.jsx("div",{className:"h-px w-full bg-border/40"})})}const Sg={"1h":60,"24h":1440},Qp={live:"Live","1h":"1 h","24h":"24 h"};function bg({value:n,onChange:r}){return m.jsx("div",{className:"flex rounded-lg border border-border/40 bg-background/30 p-0.5",children:Object.keys(Qp).map(s=>m.jsx("button",{onClick:()=>r(s),className:Me("rounded-md px-2 py-0.5 text-[9px] font-bold uppercase tracking-wide transition-all cursor-pointer",n===s?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:Qp[s]},s))})}const uk=[{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 ck(){var w,y,x,k;const{sys:n,hist:r}=ok(),[s,l]=W.useState("live"),a=vg(s==="live"?60:Sg[s],s!=="live"),c=W.useMemo(()=>{var S;return s==="live"?r:(((S=a.data)==null?void 0:S.points)??[]).map(b=>({t:b.t*1e3,cpu:b.cpu,ram:b.ram,gpu:b.gpu,disk:b.disk}))},[s,r,a.data]),h=!!(n!=null&&n.gpu&&n.gpu.busy_percent!=null&&n.gpu.gtt_used!=null&&n.gpu.gtt_total!=null),f=uk.filter(S=>S.key!=="gpu"||h),p={cpu:(w=n==null?void 0:n.cpu)==null?void 0:w.percent,ram:(y=n==null?void 0:n.ram)==null?void 0:y.percent,gpu:h?n.gpu.busy_percent:null,disk:(x=n==null?void 0:n.disk)==null?void 0:x.percent},g={cpu:(k=n==null?void 0:n.cpu)!=null&&k.cores?`${n.cpu.cores} Cores`:"",ram:n?`${an(n.ram.used)}/${an(n.ram.total)} GB`:"",gpu:h?`${an(n.gpu.gtt_used)}/${an(n.gpu.gtt_total)} GB`:"",disk:n!=null&&n.disk?`${an(n.disk.used)}/${an(n.disk.total)} GB`:""};return m.jsxs("div",{className:"flex flex-col justify-between mc-card p-5",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[m.jsx(k1,{className:"h-4.5 w-4.5 text-primary"}),m.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),s==="live"&&m.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[m.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]}),m.jsx("div",{className:"ml-auto",children:m.jsx(bg,{value:s,onChange:l})})]}),n?m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:f.map(S=>m.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[m.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:S.color}}),m.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:S.label}),m.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(p[S.key]??0),"%"]}),g[S.key]&&m.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:g[S.key]})]},S.key))}),s!=="live"&&c.length===0&&m.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}),(s==="live"||c.length>0)&&m.jsx(kg,{data:c,series:f,unit:"%",yMode:"percent",height:176,showTime:!0})]}):m.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(n==null?void 0:n.temp)&&(n.temp.cpu||n.temp.gpu)&&m.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[n.temp.cpu!=null&&m.jsxs("span",{children:["CPU Temp: ",n.temp.cpu," °C"]}),n.temp.gpu!=null&&m.jsxs("span",{children:["GPU Temp: ",n.temp.gpu," °C"]})]})]})}const Hs=[{key:"stt_ms",label:"STT",color:"#f59e0b"},{key:"vision_ms",label:"Sehen",color:"#a78bfa"},{key:"hirn_ms",label:"Hirn",color:"#2dd4bf"},{key:"gen_ms",label:"Antwort",color:"#60a5fa"}],Ki=n=>n==null?"–":`${(n/1e3).toLocaleString("de-DE",{minimumFractionDigits:1,maximumFractionDigits:1})} s`;function dk(n){const r=Math.max(0,Date.now()/1e3-n);return r<60?`vor ${Math.round(r)} s`:r<3600?`vor ${Math.round(r/60)} min`:`vor ${Math.round(r/3600)} h`}function Nc(n){return Hs.reduce((r,s)=>r+(n[s.key]??0),0)}function fk(n){let r=null;for(const s of Hs){const l=n[s.key];l!=null&&(r==null||l>r.ms)&&(r={label:s.label,color:s.color,ms:l})}return r}function hk({t:n,scale:r}){const s=Hs.map(l=>`${l.label} ${Ki(n[l.key])}`).join(" · ");return m.jsxs("div",{className:"flex items-center gap-2.5",children:[m.jsx("span",{className:"w-14 shrink-0 text-right font-mono text-[10px] text-muted-foreground/60",children:dk(n.ts)}),m.jsxs("div",{className:"relative h-4 flex-1 overflow-hidden rounded-sm bg-muted/25",title:s,children:[m.jsx("div",{className:"absolute inset-0 flex",children:Hs.map(l=>{const a=n[l.key];return!a||a<=0?null:m.jsx("div",{style:{width:`${a/r*100}%`,background:l.color},className:"h-full first:rounded-l-sm"},l.key)})}),n.error&&m.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-rose-500/15 text-[10px] font-semibold text-rose-300",children:"Fehler"})]}),m.jsx("span",{className:"w-12 shrink-0 text-right font-mono text-[11px] font-semibold tabular-nums text-foreground",children:n.error?"–":Ki(Nc(n))})]})}function pk(){const{data:n}=Uw(12),r=n??[],s=Math.max(1,...r.map(c=>Nc(c))),l=r[0],a=l?fk(l):null;return m.jsxs("div",{className:"mc-card p-5",children:[m.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(b1,{className:"h-4.5 w-4.5 text-primary"}),m.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Latenz je Turn"}),m.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[m.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),l?m.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[m.jsx("span",{className:`font-space text-3xl font-bold tracking-tight tabular-nums ${l.error?"text-rose-400":"text-foreground"}`,children:l.error?"Fehler":Ki(Nc(l))}),m.jsxs("span",{className:"text-xs text-muted-foreground",children:["letzter Turn",!l.error&&a&&m.jsxs(m.Fragment,{children:[" · Täter: ",m.jsx("span",{style:{color:a.color},className:"font-semibold",children:a.label})," ",Ki(a.ms)]})]})]}):m.jsx("div",{className:"mt-2 text-xs text-muted-foreground",children:"Noch kein Voice-Turn aufgezeichnet."}),l&&!l.error&&m.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground/70",children:Hs.filter(c=>l[c.key]!=null).map(c=>`${c.label} ${Ki(l[c.key])}`).join(" · ")})]}),m.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1 pt-1",children:Hs.map(c=>m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:c.color}}),m.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:c.label})]},c.key))})]}),r.length>0?m.jsx("div",{className:"space-y-1.5",children:r.map(c=>m.jsx(hk,{t:c,scale:s},c.id))}):m.jsx("div",{className:"flex h-[120px] items-center justify-center px-6 text-center text-xs text-muted-foreground",children:"Sprich einmal mit Lucy — dann erscheint hier der Zeit-Wasserfall pro Turn, damit man den einen Hänger sofort sieht."}),m.jsx("div",{className:"mt-3 border-t border-border/30 pt-2 text-[10px] leading-relaxed text-muted-foreground/70",children:'„Hirn" = Zeit bis zum ersten Wort (Agent + Gedächtnis-Suche + Modell); Tool-Runden stecken in „Antwort". Reine Telegram-Turns laufen an MC2 vorbei und erscheinen hier nicht.'})]})}const Kp=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function mk(){const{data:n}=Jc(),r=pg(),[s,l]=W.useState("live"),a=vg(s==="live"?60:Sg[s],s!=="live"),c=W.useMemo(()=>{var w;if(s==="live")return r;const p=((w=a.data)==null?void 0:w.points)??[],g=[];for(let y=1;ym.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:p.color}}),m.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:p.label}),m.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((h==null?void 0:h[p.key])??0)})]},p.key))})]})]}),s!=="live"&&c.length===0?m.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:a.isLoading?"Verlauf wird geladen …":"Noch kein Verlauf — der Sammler baut die Historie gerade erst auf."}):n?m.jsx(kg,{data:c,series:Kp,unit:" tok/s",yMode:"auto",height:150,showTime:!0}):m.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),m.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 ed(){const n=uo();return r=>n({to:".",search:s=>({...s,system:r})})}function gk({onNavigate:n}){var te,ye,he,Y;const r=ed(),{data:s}=wg(),{data:l}=xg(),{data:a}=Vw(),{data:c}=$w(),{data:h}=Hw(),{data:f}=Ow(),{data:p}=Aw(),g=tk(),{showAlert:w,dialogElement:y}=rk(),x=Dc(),[k,S]=W.useState({});async function b(J,ee){S(P=>({...P,[J]:!0}));try{if(ee.kind==="loadModel")await Pe(`/api/models/${encodeURIComponent(ee.model)}/load`,{method:"POST"});else{const P=await Pe("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:ee.service})});P.ok||w("Reparatur nicht ganz geklappt",(P.err||"Unbekannter Fehler")+(ee.needsSudo?` -Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}x.invalidateQueries({queryKey:Te.health}),x.invalidateQueries({queryKey:Te.services}),x.invalidateQueries({queryKey:Te.models})}catch(P){w("Reparatur fehlgeschlagen",String((P==null?void 0:P.message)||P))}finally{S(P=>({...P,[J]:!1}))}}const _=((te=s==null?void 0:s.running)==null?void 0:te.length)??0,R=(l==null?void 0:l.services.filter(J=>J.ok).length)??0,L=(l==null?void 0:l.services.length)??0,z=L-R,M=(a?(a.os>0?1:0)+(a.engine>0?1:0)+(a.swap>0?1:0)+(a.models>0?1:0):0)+(((ye=a==null?void 0:a.components)==null?void 0:ye.filter(J=>J.update===!0).length)??0),A=f!=null&&f.available?f.open_count:0,F=p!=null&&p.available?p.items.filter(J=>J.status==="blocked").length:0,G=h?[h.gateway,h.memory,h.desktop_gateway]:[],V=G.filter(J=>J==null?void 0:J.ok).length,O=h?h.gateway.ok?h.memory.ok?h.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",Q=(he=s==null?void 0:s.models)==null?void 0:he.find(J=>J.role==="hermes"),X=Q!=null&&Q.name?(Y=Q.name.split("/").pop())==null?void 0:Y.replace(/\.gguf$/i,""):"",Z=l==null?void 0:l.services.filter(J=>!J.ok).map(J=>J.name).join(", "),ae=a?[a.os>0&&"OS",a.engine>0&&"Engine",a.swap>0&&"Swap",a.models>0&&"Modelle"].filter(Boolean):[],H=ae.length>0?ae.join(" + "):"";return g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{children:[g.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:"Cockpit"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),g.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[g.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[g.jsx(yk,{verdict:m.verdict,memory:m.memory,warns:m.warns,problems:m.problems}),g.jsxs("section",{children:[g.jsx(tc,{children:"Leistung"}),g.jsx("div",{className:"grid gap-4 md:grid-cols-1",children:g.jsx(ck,{})}),g.jsx("div",{className:"mt-4",children:g.jsx(pk,{})}),g.jsx("div",{className:"mt-4",children:g.jsx(mk,{})})]}),g.jsxs("section",{children:[g.jsx(tc,{children:"Bereiche"}),g.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[g.jsx(Ai,{icon:Wc,title:"Auftragsbuch",value:f!=null&&f.available?A:"—",unit:A===1?"Vorschlag":"Vorschläge",tone:f?F>0||A>0?"warn":"ok":"loading",hint:F>0?`${F} Karte${F===1?"":"n"} wartet auf deine Antwort`:A>0?`${A} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>n("auftraege")}),g.jsx(Ai,{icon:Jm,title:"Modelle",value:_,unit:"warm",tone:_>0?"ok":"muted",hint:X?`Hirn: ${X}`:"Kein Hermes-Modell geladen",onClick:()=>n("models")}),g.jsx(Ai,{icon:tg,title:"Dienste",value:l?`${R}/${L}`:"…",unit:"laufen",tone:l?z>0?"warn":"ok":"loading",hint:Z?`Ausfall: ${Z}`:"Alle Dienste online",onClick:()=>r("wartung")}),g.jsx(Ai,{icon:Gc,title:"Updates",value:a?M>0?M:"0":"…",unit:M>0?"bereit":"aktuell",tone:a?M>0?"warn":"ok":"loading",hint:M>0?`Verfügbar: ${H}`:"Alles auf dem neuesten Stand",onClick:()=>r("wartung")}),g.jsx(Ai,{icon:Kc,title:"Verbinden",value:h?`${V}/${G.length}`:"…",unit:"Leitungen",tone:h?V===G.length?"ok":"warn":"loading",hint:O?`Gestört: ${O}`:"Hermes Desktop & IDEs bereit",onClick:()=>n("connect")})]})]})]}),g.jsxs("div",{className:"space-y-6",children:[g.jsx(vk,{problems:m.problems,pendingCount:M,openAuftraege:A,blockedIdeen:F,busy:k,onRepair:b,onNavigate:n}),g.jsxs("section",{children:[g.jsx(tc,{children:"Werkzeuge & Diagnose"}),g.jsx(xk,{agent:c,svcErrors:z,onNavigate:n})]})]})]}),y]})}function tc({children:n}){return g.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:n})}function yk({verdict:n,memory:r,warns:s,problems:l}){const a=s.length?`${s[0].label}: ${s[0].detail}${s.length>1?` (+${s.length-1} weitere)`:""}`:r.status==="full"?r.text:"Nichts Schlimmes — nur ein Hinweis.",c=l.length?`${l[0].label}: ${l[0].detail}${l.length>1?` (+${l.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",h={loading:{ring:"border-border/60 bg-card/45",icon:Qc,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:C1,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:$l,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:a},problem:{ring:"border-red-500/50 bg-red-500/5",icon:$l,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:c}}[n],f=h.icon,p={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[r.status],m={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[r.status];return g.jsxs("div",{className:Me("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",h.ring),children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:g.jsx(f,{className:Me("h-6 w-6",h.iconCls)})}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:h.title}),g.jsx("p",{className:"text-xs text-muted-foreground",children:h.sub})]})]}),g.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[g.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[g.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[g.jsx(_1,{className:"h-3.5 w-3.5"})," Speicher"]}),g.jsx("span",{className:Me("font-mono font-bold",p),children:r.status==="unknown"?"—":`${r.usedGb.toFixed(1)} / ${r.totalGb.toFixed(1)} GB`})]}),g.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:g.jsx("div",{className:Me("h-full rounded-full transition-all duration-500",m),style:{width:`${r.pct}%`}})})]})]})}function vk({problems:n,pendingCount:r,openAuftraege:s,blockedIdeen:l,busy:a,onRepair:c,onNavigate:h}){const f=ed(),p=r>0,m=s>0,w=l>0,y=n.length===0&&!p&&!m&&!w;return g.jsx("div",{className:"h-full flex flex-col justify-between",children:y?g.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[g.jsx(g1,{className:"h-5 w-5 shrink-0 text-emerald-400"}),g.jsxs("div",{children:[g.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),g.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):g.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[n.map(x=>g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[g.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[g.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:g.jsx(x.icon,{className:"h-4.5 w-4.5"})}),g.jsxs("div",{className:"min-w-0 flex-1",children:[g.jsx("p",{className:"text-sm font-bold text-foreground",children:x.label}),g.jsx("p",{className:"truncate text-xs text-muted-foreground",children:x.detail})]})]}),x.repair&&g.jsxs("button",{onClick:()=>x.repair&&c(x.id,x.repair),disabled:!!a[x.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[a[x.id]?g.jsx(Qc,{className:"h-3.5 w-3.5 animate-spin"}):g.jsx(F1,{className:"h-3.5 w-3.5"}),x.repair.label]})]},x.id)),w&&g.jsxs("button",{onClick:()=>h("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:g.jsx(eg,{className:"h-4.5 w-4.5"})}),g.jsxs("div",{children:[g.jsxs("p",{className:"text-sm font-bold text-foreground",children:[l," Karte",l===1?"":"n"," braucht deine Antwort"]}),g.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),g.jsx(Hi,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),m&&g.jsxs("button",{onClick:()=>h("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:g.jsx(Wc,{className:"h-4.5 w-4.5"})}),g.jsxs("div",{children:[g.jsxs("p",{className:"text-sm font-bold text-foreground",children:[s," Vorschl",s===1?"ag":"äge"," im Auftragsbuch"]}),g.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),g.jsx(Hi,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),p&&g.jsxs("button",{onClick:()=>f("wartung"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:g.jsx(Gc,{className:"h-4.5 w-4.5"})}),g.jsxs("div",{children:[g.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Update",r===1?"":"s"," bereit"]}),g.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),g.jsx(Hi,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function xk({agent:n,svcErrors:r,onNavigate:s}){const l=ed(),a=[{label:"Hermes Agent",status:n?n.gateway_reachable?"Bereit":"Offline":"…",tone:n?n.gateway_reachable?"ok":"alert":"loading",action:()=>s("agent")},{label:"Konsole (Box-Shell)",status:n?n.box_console_reachable?"Bereit":"Offline":"…",tone:n?n.box_console_reachable?"ok":"warn":"loading",action:()=>s("konsole")},{label:"Systemlogs & Diagnose",status:r>0?`${r} Fehler`:"Keine Fehler",tone:r>0?"alert":"ok",action:()=>l("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>s("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>s("chronik")}];return g.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:g.jsx("div",{className:"divide-y divide-border/20",children:a.map((c,h)=>{const f={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[c.tone];return g.jsxs("button",{onClick:c.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[g.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:c.label}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("span",{className:Me("text-[10px] font-semibold font-mono",c.tone==="ok"?"text-emerald-400":c.tone==="warn"?"text-amber-400":c.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:c.status}),g.jsx("span",{className:Me("h-1.5 w-1.5 rounded-full",f)})]})]},h)})})})}const wk=W.lazy(()=>Lt(()=>import("./ModelsView-Dn4Ryn0Z.js"),__vite__mapDeps([13,14,15,16,3,8,17,18])).then(n=>({default:n.ModelsView}))),kk=W.lazy(()=>Lt(()=>import("./ConnectView-BdqWBHRP.js"),__vite__mapDeps([19,5,17])).then(n=>({default:n.ConnectView}))),Sk=W.lazy(()=>Lt(()=>import("./AgentView-CW6l1s2v.js"),__vite__mapDeps([20,21,6,7,4])).then(n=>({default:n.AgentView}))),bk=W.lazy(()=>Lt(()=>import("./KonsoleView-CsAZfGsS.js"),__vite__mapDeps([22,7,1])).then(n=>({default:n.KonsoleView}))),_k=W.lazy(()=>Lt(()=>import("./GuideView-Coe5WKp_.js"),__vite__mapDeps([23,16,18,4])).then(n=>({default:n.GuideView}))),Ck=W.lazy(()=>Lt(()=>import("./AuftragsbuchView-CwIgN4P-.js"),__vite__mapDeps([24,21,1,5,6,17,25])).then(n=>({default:n.AuftragsbuchView}))),Ek=W.lazy(()=>Lt(()=>import("./IdeenAnsicht-Crw42hu2.js"),__vite__mapDeps([26,21,15,25,1,2,18,17,6])).then(n=>({default:n.IdeenView}))),jk=W.lazy(()=>Lt(()=>import("./SkillsView-BPwq8_ZP.js"),__vite__mapDeps([27,14])).then(n=>({default:n.SkillsView}))),Pk=W.lazy(()=>Lt(()=>import("./ChronikView-DfFt5COR.js"),[]).then(n=>({default:n.ChronikView}))),Nk=W.lazy(()=>Lt(()=>import("./WissenView-Cm8edL44.js"),__vite__mapDeps([28,12,1,3,2])).then(n=>({default:n.WissenView}))),Rk=n=>{const r=n.system;return r==="wartung"||r==="logs"?{system:r}:{}},Qs=qx({component:ek,validateSearch:Rk,notFoundComponent:()=>g.jsx(co,{titel:"Diese Seite gibt es nicht",text:"Der Link zeigt auf eine Ansicht, die Mission Control nicht kennt. Vielleicht stammt er aus einer älteren Fassung."})}),Lk=ao({getParentRoute:()=>Qs,path:"/",beforeLoad:()=>{throw jm({to:"/cockpit"})}});function dr(n,r){return ao({getParentRoute:()=>Qs,path:n,component:r,errorComponent:({error:s,reset:l})=>g.jsx(co,{titel:"Diese Ansicht ist abgestürzt",text:"Der Rest von Mission Control läuft weiter. Erneut versuchen — oder in eine andere Ansicht wechseln.",fehler:s,onErneut:l})})}function Mk(){const n=lo();return g.jsx(gk,{onNavigate:r=>{const s=Ji.find(l=>l.id===r);s&&n({to:s.pfad})}})}const Tk=dr("/cockpit",()=>g.jsx(Mk,{})),Ik=dr("/auftraege",()=>g.jsx(Ck,{})),Dk=dr("/skills",()=>g.jsx(jk,{})),zk=dr("/chronik",()=>g.jsx(Pk,{})),Fk=dr("/verbinden",()=>g.jsx(kk,{})),Ok=dr("/konsole",()=>g.jsx(bk,{})),Ak=dr("/anleitung",()=>g.jsx(_k,{})),Uk=dr("/agent",()=>g.jsx(Sk,{})),Bk=ao({getParentRoute:()=>Qs,path:"/ideen",validateSearch:n=>typeof n.offen=="string"&&n.offen?{offen:n.offen}:{},component:()=>g.jsx(Ek,{}),errorComponent:({error:n,reset:r})=>g.jsx(co,{titel:"Die Ideen-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),$k=ao({getParentRoute:()=>Qs,path:"/wissen",validateSearch:n=>typeof n.datei=="string"&&n.datei?{datei:n.datei}:{},component:()=>g.jsx(Nk,{}),errorComponent:({error:n,reset:r})=>g.jsx(co,{titel:"Die Wissens-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),Vk=ao({getParentRoute:()=>Qs,path:"/modelle",validateSearch:n=>{const r=n.reiter;return r==="werkbank"||r==="routing"||r==="discover"?{reiter:r}:{}},component:()=>g.jsx(wk,{}),errorComponent:({error:n,reset:r})=>g.jsx(co,{titel:"Der Modell-Manager ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),Hk=Qs.addChildren([Lk,Tk,Bk,Ik,Dk,zk,$k,Fk,Ok,Ak,Vk,Uk]),Wk=s1({routeTree:Hk,scrollRestoration:!0,defaultPreload:!1});class Qk extends Gt.Component{constructor(){super(...arguments);wl(this,"state",{error:null})}static getDerivedStateFromError(s){return{error:s}}componentDidCatch(s,l){console.error("Unbehandelter UI-Fehler:",s,l.componentStack)}render(){return this.state.error?g.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:g.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[g.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),g.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),g.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const Kk=Object.fromEntries(Ji.map(n=>[n.id,n.pfad]));function Gk(){const n=window.location.hash.replace(/^#\/?/,"");if(!n)return;const r=Kk[n];r&&window.history.replaceState(null,"",r+window.location.search)}const nc="mc_neuladen_wegen_version";function qk(){window.addEventListener("vite:preloadError",n=>{sessionStorage.getItem(nc)||(n.preventDefault(),sessionStorage.setItem(nc,"1"),window.location.reload())}),window.addEventListener("load",()=>{window.setTimeout(()=>sessionStorage.removeItem(nc),5e3)})}Gk();qk();const Zk=new sv({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});M0.createRoot(document.getElementById("root")).render(g.jsx(Gt.StrictMode,{children:g.jsx(Qk,{children:g.jsx(iv,{client:Zk,children:g.jsx(l1,{router:Wk})})})}));export{R1 as $,Wm as A,m1 as B,g1 as C,pS as D,S1 as E,Hw as F,Hi as G,_1 as H,j1 as I,v1 as J,x1 as K,Qc as L,cS as M,h1 as N,$w as O,Jk as P,Cc as Q,T1 as R,z1 as S,$l as T,Bp as U,mS as V,F1 as W,qc as X,tg as Y,Jm as Z,Kc as _,aS as a,b1 as a0,D1 as a1,Ow as a2,Aw as a3,wS as a4,Wc as a5,nS as a6,eg as a7,oo as a8,sc as a9,Qi as aa,tv as ab,st as ac,kt as ad,am as ae,De as af,uS as ag,vS as ah,rS as ai,E1 as aj,Gc as ak,C1 as al,iS as am,Gt as an,sm as ao,sS as ap,oS as aq,N1 as ar,xg as as,Xk as at,Ji as au,J1 as av,zx as aw,io as ax,N0 as ay,Me as b,ke as c,tS as d,p1 as e,wg as f,lS as g,uo as h,dS as i,g as j,rk as k,yS as l,hS as m,Pe as n,an as o,K1 as p,Te as q,W as r,eS as s,k1 as t,Dc as u,xS as v,fS as w,Vw as x,gS as y,lo as z}; +Tipp: Dafür wird evtl. das Box-Passwort gebraucht (oben rechts hinterlegen).`:""))}x.invalidateQueries({queryKey:Te.health}),x.invalidateQueries({queryKey:Te.services}),x.invalidateQueries({queryKey:Te.models})}catch(P){w("Reparatur fehlgeschlagen",String((P==null?void 0:P.message)||P))}finally{S(P=>({...P,[J]:!1}))}}const _=((te=s==null?void 0:s.running)==null?void 0:te.length)??0,R=(l==null?void 0:l.services.filter(J=>J.ok).length)??0,L=(l==null?void 0:l.services.length)??0,z=L-R,M=(a?(a.os>0?1:0)+(a.engine>0?1:0)+(a.swap>0?1:0)+(a.models>0?1:0):0)+(((ye=a==null?void 0:a.components)==null?void 0:ye.filter(J=>J.update===!0).length)??0),A=f!=null&&f.available?f.open_count:0,F=p!=null&&p.available?p.items.filter(J=>J.status==="blocked").length:0,q=h?[h.gateway,h.memory,h.desktop_gateway]:[],V=q.filter(J=>J==null?void 0:J.ok).length,O=h?h.gateway.ok?h.memory.ok?h.desktop_gateway.ok?"":"Desktop-Gateway":"Gedächtnis-Leitung":"Modell-Leitung":"",Q=(he=s==null?void 0:s.models)==null?void 0:he.find(J=>J.role==="hermes"),X=Q!=null&&Q.name?(Y=Q.name.split("/").pop())==null?void 0:Y.replace(/\.gguf$/i,""):"",Z=l==null?void 0:l.services.filter(J=>!J.ok).map(J=>J.name).join(", "),ae=a?[a.os>0&&"OS",a.engine>0&&"Engine",a.swap>0&&"Swap",a.models>0&&"Modelle"].filter(Boolean):[],H=ae.length>0?ae.join(" + "):"";return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.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:"Cockpit"}),m.jsx("p",{className:"text-sm text-muted-foreground",children:"Deine Box auf einen Blick — Details hinter jeder Kachel."})]}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 items-start",children:[m.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[m.jsx(yk,{verdict:g.verdict,memory:g.memory,warns:g.warns,problems:g.problems}),m.jsxs("section",{children:[m.jsx(tc,{children:"Leistung"}),m.jsx("div",{className:"grid gap-4 md:grid-cols-1",children:m.jsx(ck,{})}),m.jsx("div",{className:"mt-4",children:m.jsx(pk,{})}),m.jsx("div",{className:"mt-4",children:m.jsx(mk,{})})]}),m.jsxs("section",{children:[m.jsx(tc,{children:"Bereiche"}),m.jsxs("div",{className:"grid gap-4 grid-cols-2 md:grid-cols-3",children:[m.jsx(Bi,{icon:Wc,title:"Auftragsbuch",value:f!=null&&f.available?A:"—",unit:A===1?"Vorschlag":"Vorschläge",tone:f?F>0||A>0?"warn":"ok":"loading",hint:F>0?`${F} Karte${F===1?"":"n"} wartet auf deine Antwort`:A>0?`${A} offene Patches`:"Keine ausstehenden Vorschläge",onClick:()=>n("auftraege")}),m.jsx(Bi,{icon:Jm,title:"Modelle",value:_,unit:"warm",tone:_>0?"ok":"muted",hint:X?`Hirn: ${X}`:"Kein Hermes-Modell geladen",onClick:()=>n("models")}),m.jsx(Bi,{icon:tg,title:"Dienste",value:l?`${R}/${L}`:"…",unit:"laufen",tone:l?z>0?"warn":"ok":"loading",hint:Z?`Ausfall: ${Z}`:"Alle Dienste online",onClick:()=>r("wartung")}),m.jsx(Bi,{icon:qc,title:"Updates",value:a?M>0?M:"0":"…",unit:M>0?"bereit":"aktuell",tone:a?M>0?"warn":"ok":"loading",hint:M>0?`Verfügbar: ${H}`:"Alles auf dem neuesten Stand",onClick:()=>r("wartung")}),m.jsx(Bi,{icon:Kc,title:"Verbinden",value:h?`${V}/${q.length}`:"…",unit:"Leitungen",tone:h?V===q.length?"ok":"warn":"loading",hint:O?`Gestört: ${O}`:"Hermes Desktop & IDEs bereit",onClick:()=>n("connect")})]})]})]}),m.jsxs("div",{className:"space-y-6",children:[m.jsx(vk,{problems:g.problems,pendingCount:M,openAuftraege:A,blockedIdeen:F,busy:k,onRepair:b,onNavigate:n}),m.jsxs("section",{children:[m.jsx(tc,{children:"Werkzeuge & Diagnose"}),m.jsx(xk,{agent:c,svcErrors:z,onNavigate:n})]})]})]}),y]})}function tc({children:n}){return m.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:n})}function yk({verdict:n,memory:r,warns:s,problems:l}){const a=s.length?`${s[0].label}: ${s[0].detail}${s.length>1?` (+${s.length-1} weitere)`:""}`:r.status==="full"?r.text:"Nichts Schlimmes — nur ein Hinweis.",c=l.length?`${l[0].label}: ${l[0].detail}${l.length>1?` (+${l.length-1} weitere)`:""}`:"Ein wichtiger Dienst hakt.",h={loading:{ring:"border-border/60 bg-card/45",icon:Qc,iconCls:"text-muted-foreground animate-spin",title:"Box wird geprüft …",sub:"Einen Moment."},gut:{ring:"border-emerald-500/40 bg-emerald-500/5",icon:C1,iconCls:"text-emerald-400",title:"Box gesund",sub:"Alle wichtigen Dienste laufen."},warn:{ring:"border-amber-500/40 bg-amber-500/5",icon:$l,iconCls:"text-amber-400",title:"Kleinigkeit an der Box",sub:a},problem:{ring:"border-red-500/50 bg-red-500/5",icon:$l,iconCls:"text-red-400",title:"Box braucht Hilfe",sub:c}}[n],f=h.icon,p={ok:"text-emerald-400",warn:"text-amber-400",full:"text-red-400",unknown:"text-muted-foreground"}[r.status],g={ok:"bg-emerald-500",warn:"bg-amber-500",full:"bg-red-500",unknown:"bg-muted-foreground/40"}[r.status];return m.jsxs("div",{className:Me("flex flex-col gap-4 rounded-2xl border p-5 shadow-lg shadow-black/15 backdrop-blur-md transition-colors sm:flex-row sm:items-center sm:justify-between h-full",h.ring),children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border border-border/40 bg-background/30",children:m.jsx(f,{className:Me("h-6 w-6",h.iconCls)})}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("h2",{className:"text-base font-bold tracking-tight text-foreground",children:h.title}),m.jsx("p",{className:"text-xs text-muted-foreground",children:h.sub})]})]}),m.jsxs("div",{className:"w-full max-w-[16rem] rounded-xl border border-border/30 bg-background/20 p-3",children:[m.jsxs("div",{className:"mb-1.5 flex items-center justify-between text-[11px]",children:[m.jsxs("span",{className:"flex items-center gap-1.5 font-semibold uppercase tracking-wider text-muted-foreground",children:[m.jsx(_1,{className:"h-3.5 w-3.5"})," Speicher"]}),m.jsx("span",{className:Me("font-mono font-bold",p),children:r.status==="unknown"?"—":`${r.usedGb.toFixed(1)} / ${r.totalGb.toFixed(1)} GB`})]}),m.jsx("div",{className:"h-2 w-full overflow-hidden rounded-full border border-border/30 bg-background/50",children:m.jsx("div",{className:Me("h-full rounded-full transition-all duration-500",g),style:{width:`${r.pct}%`}})})]})]})}function vk({problems:n,pendingCount:r,openAuftraege:s,blockedIdeen:l,busy:a,onRepair:c,onNavigate:h}){const f=ed(),p=r>0,g=s>0,w=l>0,y=n.length===0&&!p&&!g&&!w;return m.jsx("div",{className:"h-full flex flex-col justify-between",children:y?m.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/5 p-4 h-full",children:[m.jsx(g1,{className:"h-5 w-5 shrink-0 text-emerald-400"}),m.jsxs("div",{children:[m.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Nichts zu tun"}),m.jsx("p",{className:"text-xs text-muted-foreground",children:"Alles läuft. Du musst gerade nichts abnicken."})]})]}):m.jsxs("div",{className:"space-y-2 h-full flex flex-col justify-center",children:[n.map(x=>m.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-2xl border border-red-500/25 bg-red-500/5 p-4",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-3 w-full",children:[m.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:m.jsx(x.icon,{className:"h-4.5 w-4.5"})}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("p",{className:"text-sm font-bold text-foreground",children:x.label}),m.jsx("p",{className:"truncate text-xs text-muted-foreground",children:x.detail})]})]}),x.repair&&m.jsxs("button",{onClick:()=>x.repair&&c(x.id,x.repair),disabled:!!a[x.id],className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-red-500/40 bg-red-500/10 px-3 text-[11px] font-bold uppercase tracking-wide text-red-300 transition-all hover:bg-red-500/20 cursor-pointer disabled:opacity-60 w-full sm:w-auto justify-center",children:[a[x.id]?m.jsx(Qc,{className:"h-3.5 w-3.5 animate-spin"}):m.jsx(F1,{className:"h-3.5 w-3.5"}),x.repair.label]})]},x.id)),w&&m.jsxs("button",{onClick:()=>h("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-red-500/30 bg-red-500/5 p-4 text-left transition-all hover:bg-red-500/10 cursor-pointer",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-red-500/30 bg-background/30 text-red-300",children:m.jsx(eg,{className:"h-4.5 w-4.5"})}),m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm font-bold text-foreground",children:[l," Karte",l===1?"":"n"," braucht deine Antwort"]}),m.jsx("p",{className:"text-xs text-muted-foreground",children:"Die Box hängt an einer Frage und wartet auf dich."})]})]}),m.jsx(Qi,{className:"h-4 w-4 shrink-0 text-red-300/70"})]}),g&&m.jsxs("button",{onClick:()=>h("auftraege"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-primary/30 bg-primary/5 p-4 text-left transition-all hover:bg-primary/10 cursor-pointer",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/30 bg-background/30 text-primary",children:m.jsx(Wc,{className:"h-4.5 w-4.5"})}),m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm font-bold text-foreground",children:[s," Vorschl",s===1?"ag":"äge"," im Auftragsbuch"]}),m.jsx("p",{className:"text-xs text-muted-foreground",children:"Annehmen oder ablehnen."})]})]}),m.jsx(Qi,{className:"h-4 w-4 shrink-0 text-primary/70"})]}),p&&m.jsxs("button",{onClick:()=>f("wartung"),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-amber-500/30 bg-amber-500/5 p-4 text-left transition-all hover:bg-amber-500/10 cursor-pointer",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-amber-500/30 bg-background/30 text-amber-300",children:m.jsx(qc,{className:"h-4.5 w-4.5"})}),m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm font-bold text-foreground",children:[r," Update",r===1?"":"s"," bereit"]}),m.jsx("p",{className:"text-xs text-muted-foreground",children:"Ansehen und entscheiden."})]})]}),m.jsx(Qi,{className:"h-4 w-4 shrink-0 text-amber-300/70"})]})]})})}function xk({agent:n,svcErrors:r,onNavigate:s}){const l=ed(),a=[{label:"Hermes Agent",status:n?n.gateway_reachable?"Bereit":"Offline":"…",tone:n?n.gateway_reachable?"ok":"alert":"loading",action:()=>s("agent")},{label:"Konsole (Box-Shell)",status:n?n.box_console_reachable?"Bereit":"Offline":"…",tone:n?n.box_console_reachable?"ok":"warn":"loading",action:()=>s("konsole")},{label:"Systemlogs & Diagnose",status:r>0?`${r} Fehler`:"Keine Fehler",tone:r>0?"alert":"ok",action:()=>l("logs")},{label:"Wissens-Vault",status:"Öffnen",tone:"muted",action:()=>s("wissen")},{label:"Chronik & Zeitmaschine",status:"Öffnen",tone:"muted",action:()=>s("chronik")}];return m.jsx("div",{className:"rounded-2xl border border-border/60 bg-card/30 p-4 space-y-3 shadow-sm",children:m.jsx("div",{className:"divide-y divide-border/20",children:a.map((c,h)=>{const f={loading:"bg-muted-foreground/45 animate-pulse",ok:"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]",warn:"bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.4)]",alert:"bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.4)]",muted:"bg-muted-foreground/30"}[c.tone];return m.jsxs("button",{onClick:c.action,className:"w-full py-2.5 px-1.5 flex items-center justify-between text-left hover:bg-card/45 rounded-lg transition-all group cursor-pointer text-xs",children:[m.jsx("span",{className:"text-muted-foreground group-hover:text-foreground transition-colors font-medium",children:c.label}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:Me("text-[10px] font-semibold font-mono",c.tone==="ok"?"text-emerald-400":c.tone==="warn"?"text-amber-400":c.tone==="alert"?"text-red-400":"text-muted-foreground/60"),children:c.status}),m.jsx("span",{className:Me("h-1.5 w-1.5 rounded-full",f)})]})]},h)})})})}const wk=W.lazy(()=>Lt(()=>import("./ModelsView-DMJ2Z3kM.js"),__vite__mapDeps([14,15,16,17,3,9,18,19])).then(n=>({default:n.ModelsView}))),kk=W.lazy(()=>Lt(()=>import("./ConnectView-U6cUckmd.js"),__vite__mapDeps([20,5,18])).then(n=>({default:n.ConnectView}))),Sk=W.lazy(()=>Lt(()=>import("./AgentView-DgKqlZTR.js"),__vite__mapDeps([21,22,6,7,4])).then(n=>({default:n.AgentView}))),bk=W.lazy(()=>Lt(()=>import("./KonsoleView-CLFb1i3h.js"),__vite__mapDeps([23,7,1])).then(n=>({default:n.KonsoleView}))),_k=W.lazy(()=>Lt(()=>import("./GuideView-BIajrEL5.js"),__vite__mapDeps([24,17,19,4])).then(n=>({default:n.GuideView}))),Ck=W.lazy(()=>Lt(()=>import("./AuftragsbuchView-WPZv57nm.js"),__vite__mapDeps([25,22,1,5,6,18,26])).then(n=>({default:n.AuftragsbuchView}))),Ek=W.lazy(()=>Lt(()=>import("./IdeenAnsicht-C0oq2uu1.js"),__vite__mapDeps([27,22,16,26,1,2,19,18,6])).then(n=>({default:n.IdeenView}))),jk=W.lazy(()=>Lt(()=>import("./SkillsView-bgnrIBeZ.js"),__vite__mapDeps([28,15])).then(n=>({default:n.SkillsView}))),Pk=W.lazy(()=>Lt(()=>import("./ChronikView-BpNpbHag.js"),__vite__mapDeps([29,3])).then(n=>({default:n.ChronikView}))),Nk=W.lazy(()=>Lt(()=>import("./WissenView-CNMl8olT.js"),__vite__mapDeps([30,13,1,3,2])).then(n=>({default:n.WissenView}))),Rk=n=>{const r=n.system;return r==="wartung"||r==="logs"?{system:r}:{}},Wr=Gx({component:ek,validateSearch:Rk,notFoundComponent:()=>m.jsx(qs,{titel:"Diese Seite gibt es nicht",text:"Der Link zeigt auf eine Ansicht, die Mission Control nicht kennt. Vielleicht stammt er aus einer älteren Fassung."})}),Lk=Ws({getParentRoute:()=>Wr,path:"/",beforeLoad:()=>{throw jm({to:"/cockpit"})}});function Qr(n,r){return Ws({getParentRoute:()=>Wr,path:n,component:r,errorComponent:({error:s,reset:l})=>m.jsx(qs,{titel:"Diese Ansicht ist abgestürzt",text:"Der Rest von Mission Control läuft weiter. Erneut versuchen — oder in eine andere Ansicht wechseln.",fehler:s,onErneut:l})})}function Mk(){const n=uo();return m.jsx(gk,{onNavigate:r=>{const s=to.find(l=>l.id===r);s&&n({to:s.pfad})}})}const Tk=Qr("/cockpit",()=>m.jsx(Mk,{})),Ik=Qr("/auftraege",()=>m.jsx(Ck,{})),Dk=Qr("/skills",()=>m.jsx(jk,{})),zk=Ws({getParentRoute:()=>Wr,path:"/chronik",validateSearch:n=>typeof n.q=="string"&&n.q?{q:n.q}:{},component:()=>m.jsx(Pk,{}),errorComponent:({error:n,reset:r})=>m.jsx(qs,{titel:"Die Chronik ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),Fk=Qr("/verbinden",()=>m.jsx(kk,{})),Ok=Qr("/konsole",()=>m.jsx(bk,{})),Ak=Qr("/anleitung",()=>m.jsx(_k,{})),Uk=Qr("/agent",()=>m.jsx(Sk,{})),Bk=Ws({getParentRoute:()=>Wr,path:"/ideen",validateSearch:n=>typeof n.offen=="string"&&n.offen?{offen:n.offen}:{},component:()=>m.jsx(Ek,{}),errorComponent:({error:n,reset:r})=>m.jsx(qs,{titel:"Die Ideen-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),$k=Ws({getParentRoute:()=>Wr,path:"/wissen",validateSearch:n=>({...typeof n.datei=="string"&&n.datei?{datei:n.datei}:{},...typeof n.suche=="string"&&n.suche?{suche:n.suche}:{}}),component:()=>m.jsx(Nk,{}),errorComponent:({error:n,reset:r})=>m.jsx(qs,{titel:"Die Wissens-Ansicht ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),Vk=Ws({getParentRoute:()=>Wr,path:"/modelle",validateSearch:n=>{const r=n.reiter;return r==="werkbank"||r==="routing"||r==="discover"?{reiter:r}:{}},component:()=>m.jsx(wk,{}),errorComponent:({error:n,reset:r})=>m.jsx(qs,{titel:"Der Modell-Manager ist abgestürzt",text:"Der Rest läuft weiter.",fehler:n,onErneut:r})}),Hk=Wr.addChildren([Lk,Tk,Bk,Ik,Dk,zk,$k,Fk,Ok,Ak,Vk,Uk]),Wk=s1({routeTree:Hk,scrollRestoration:!0,defaultPreload:!1});class Qk extends qt.Component{constructor(){super(...arguments);wl(this,"state",{error:null})}static getDerivedStateFromError(s){return{error:s}}componentDidCatch(s,l){console.error("Unbehandelter UI-Fehler:",s,l.componentStack)}render(){return this.state.error?m.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-950 text-neutral-200 p-8",children:m.jsxs("div",{className:"max-w-lg space-y-4 text-center",children:[m.jsx("div",{className:"text-2xl",children:"Da ist etwas schiefgelaufen."}),m.jsx("div",{className:"text-sm text-neutral-400 break-all",children:this.state.error.message}),m.jsx("button",{className:"px-4 py-2 rounded-lg bg-neutral-800 hover:bg-neutral-700 border border-neutral-700",onClick:()=>window.location.reload(),children:"Neu laden"})]})}):this.props.children}}const Kk=Object.fromEntries(to.map(n=>[n.id,n.pfad]));function qk(){const n=window.location.hash.replace(/^#\/?/,"");if(!n)return;const r=Kk[n];r&&window.history.replaceState(null,"",r+window.location.search)}const nc="mc_neuladen_wegen_version";function Gk(){window.addEventListener("vite:preloadError",n=>{sessionStorage.getItem(nc)||(n.preventDefault(),sessionStorage.setItem(nc,"1"),window.location.reload())}),window.addEventListener("load",()=>{window.setTimeout(()=>sessionStorage.removeItem(nc),5e3)})}qk();Gk();const Zk=new sv({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});M0.createRoot(document.getElementById("root")).render(m.jsx(qt.StrictMode,{children:m.jsx(Qk,{children:m.jsx(iv,{client:Zk,children:m.jsx(l1,{router:Wk})})})}));export{R1 as $,Wm as A,m1 as B,g1 as C,pS as D,S1 as E,Hw as F,Qi as G,_1 as H,j1 as I,v1 as J,x1 as K,Qc as L,cS as M,h1 as N,$w as O,Jk as P,Cc as Q,T1 as R,z1 as S,$l as T,Bp as U,mS as V,F1 as W,Gc as X,tg as Y,Jm as Z,Kc as _,aS as a,b1 as a0,D1 as a1,Ow as a2,Aw as a3,wS as a4,Wc as a5,nS as a6,eg as a7,ao as a8,sc as a9,N0 as aA,qi as aa,tv as ab,st as ac,kt as ad,am as ae,De as af,uS as ag,vS as ah,rS as ai,E1 as aj,qc as ak,C1 as al,iS as am,qt as an,sm as ao,sS as ap,oS as aq,N1 as ar,xg as as,Xk as at,to as au,G1 as av,Rt as aw,J1 as ax,zx as ay,lo as az,Me as b,ke as c,tS as d,p1 as e,wg as f,lS as g,co as h,dS as i,m as j,rk as k,yS as l,hS as m,Pe as n,an as o,K1 as p,Te as q,W as r,eS as s,k1 as t,Dc as u,xS as v,fS as w,Vw as x,gS as y,uo as z}; diff --git a/frontend/dist/assets/index-CLtv5X6m.js b/frontend/dist/assets/index-CLtv5X6m.js deleted file mode 100644 index 96b86e2..0000000 --- a/frontend/dist/assets/index-CLtv5X6m.js +++ /dev/null @@ -1 +0,0 @@ -import{ay as r}from"./index-DvtGY8-b.js";var o=r();export{o as r}; diff --git a/frontend/dist/assets/index-mvq7yy8w.css b/frontend/dist/assets/index-mvq7yy8w.css new file mode 100644 index 0000000..0fdacd1 --- /dev/null +++ b/frontend/dist/assets/index-mvq7yy8w.css @@ -0,0 +1 @@ +/*! 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}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--color-red-200:oklch(88.5% .062 18.334);--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-red-600:oklch(57.7% .245 27.325);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--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-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--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-emerald-600:oklch(59.6% .145 163.225);--color-teal-300:oklch(85.5% .138 181.071);--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-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--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-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--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-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--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-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--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}.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-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-\[23px\]{left:-23px}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.-z-50{z-index:-50}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.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}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.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-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-6{-webkit-line-clamp:6;-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{height:var(--spacing)}.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-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-44{height:calc(var(--spacing) * 44)}.h-64{height:calc(var(--spacing) * 64)}.h-\[70vh\]{height:70vh}.h-\[120px\]{height:120px}.h-\[150px\]{height:150px}.h-\[480px\]{height:480px}.h-full{height:100%}.h-px{height:1px}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-56{max-height:calc(var(--spacing) * 56)}.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-96{max-height:calc(var(--spacing) * 96)}.max-h-\[26rem\]{max-height:26rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[16rem\]{min-height:16rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[58vh\]{min-height:58vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.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-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-\[1600px\]{max-width:1600px}.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-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[680px\]{min-width:680px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;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-default{cursor:default}.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}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.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-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-2{column-gap:calc(var(--spacing) * 2)}.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-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}: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}:where(.divide-border\/20>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 20%,transparent)}}:where(.divide-border\/30>:not(:last-child)){border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/30>:not(:last-child)){border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.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}.overscroll-contain{overscroll-behavior:contain}.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-sm{border-radius:calc(var(--radius) - 4px)}.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-2{border-style:var(--tw-border-style);border-width:2px}.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-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.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-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500) 50%,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\/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\/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\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,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-fuchsia-500\/25{border-color:#e12afb40}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/25{border-color:color-mix(in oklab,var(--color-fuchsia-500) 25%,transparent)}}.border-fuchsia-500\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab,red,red)){.border-fuchsia-500\/30{border-color:color-mix(in oklab,var(--color-fuchsia-500) 30%,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\/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-lime-500\/25{border-color:#80cd0040}@supports (color:color-mix(in lab,red,red)){.border-lime-500\/25{border-color:color-mix(in oklab,var(--color-lime-500) 25%,transparent)}}.border-neutral-700{border-color:var(--color-neutral-700)}.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-pink-500\/40{border-color:#f6339a66}@supports (color:color-mix(in lab,red,red)){.border-pink-500\/40{border-color:color-mix(in oklab,var(--color-pink-500) 40%,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\/25{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,hsl(var(--primary)) 25%,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\/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-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,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-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.border-red-500\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab,red,red)){.border-red-500\/60{border-color:color-mix(in oklab,var(--color-red-500) 60%,transparent)}}.border-sky-500\/25{border-color:#00a5ef40}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/25{border-color:color-mix(in oklab,var(--color-sky-500) 25%,transparent)}}.border-sky-500\/30{border-color:#00a5ef4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-sky-500) 30%,transparent)}}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-sky-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-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/40{border-color:color-mix(in oklab,var(--color-violet-500) 40%,transparent)}}.border-t-emerald-500\/70{border-top-color:#00bb7fb3}@supports (color:color-mix(in lab,red,red)){.border-t-emerald-500\/70{border-top-color:color-mix(in oklab,var(--color-emerald-500) 70%,transparent)}}.border-t-primary\/70{border-top-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-t-primary\/70{border-top-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-\[hsl\(224\,28\%\,8\%\)\]{background-color:#0f121a}.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-amber-500\/90{background-color:#f99c00e6}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/90{background-color:color-mix(in oklab,var(--color-amber-500) 90%,transparent)}}.bg-amber-500\/\[0\.06\]{background-color:#f99c000f}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-amber-500) 6%,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-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,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\/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-border,.bg-border\/40{background-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.bg-border\/40{background-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.bg-card,.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\/70{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,hsl(var(--card)) 70%,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\/95{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,hsl(var(--card)) 95%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.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-foreground\/10{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-fuchsia-500\/10{background-color:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/10{background-color:color-mix(in oklab,var(--color-fuchsia-500) 10%,transparent)}}.bg-fuchsia-500\/15{background-color:#e12afb26}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-500\/15{background-color:color-mix(in oklab,var(--color-fuchsia-500) 15%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.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-lime-500{background-color:var(--color-lime-500)}.bg-lime-500\/15{background-color:#80cd0026}@supports (color:color-mix(in lab,red,red)){.bg-lime-500\/15{background-color:color-mix(in oklab,var(--color-lime-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/45{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/45{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 45%,transparent)}}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.bg-muted\/25{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,hsl(var(--muted)) 25%,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-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-950{background-color:var(--color-neutral-950)}.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{background-color:var(--color-pink-500)}.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\/70{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/70{background-color:color-mix(in oklab,hsl(var(--primary)) 70%,transparent)}}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,hsl(var(--primary)) 6%,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-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-sky-500\/5{background-color:#00a5ef0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-sky-500) 5%,transparent)}}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-sky-500) 10%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.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{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,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{background-color:var(--color-violet-500)}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/5{background-color:color-mix(in oklab,var(--color-violet-500) 5%,transparent)}}.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-violet-500\/\[0\.04\]{background-color:#8d54ff0a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-violet-500) 4%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.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))}.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)}.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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.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{padding:0}.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)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.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-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.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}.text-right{text-align:right}.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-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.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-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/70{color:#ffd236b3}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/70{color:color-mix(in oklab,var(--color-amber-300) 70%,transparent)}}.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\/80{color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.text-cyan-300\/80{color:color-mix(in oklab,var(--color-cyan-300) 80%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/70{color:#5ee9b5b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/70{color:color-mix(in oklab,var(--color-emerald-300) 70%,transparent)}}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-300\/90{color:#5ee9b5e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/90{color:color-mix(in oklab,var(--color-emerald-300) 90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.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-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.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-fuchsia-300{color:var(--color-fuchsia-300)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-lime-400{color:var(--color-lime-400)}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.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-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-300{color:var(--color-orange-300)}.text-pink-300{color:var(--color-pink-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-200{color:var(--color-red-200)}.text-red-200\/90{color:#ffcacae6}@supports (color:color-mix(in lab,red,red)){.text-red-200\/90{color:color-mix(in oklab,var(--color-red-200) 90%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab,red,red)){.text-red-300\/70{color:color-mix(in oklab,var(--color-red-300) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.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-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-sky-200\/80{color:#b8e6fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-200\/80{color:color-mix(in oklab,var(--color-sky-200) 80%,transparent)}}.text-sky-300{color:var(--color-sky-300)}.text-sky-300\/80{color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/80{color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.text-sky-300\/90{color:#77d4ffe6}@supports (color:color-mix(in lab,red,red)){.text-sky-300\/90{color:color-mix(in oklab,var(--color-sky-300) 90%,transparent)}}.text-sky-400{color:var(--color-sky-400)}.text-slate-300{color:var(--color-slate-300)}.text-teal-300{color:var(--color-teal-300)}.text-teal-400{color:var(--color-teal-400)}.text-transparent{color:#0000}.text-violet-200\/90{color:#ddd6ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-200\/90{color:color-mix(in oklab,var(--color-violet-200) 90%,transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-300\/70{color:#c4b4ffb3}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/70{color:color-mix(in oklab,var(--color-violet-300) 70%,transparent)}}.text-violet-300\/80{color:#c4b4ffcc}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/80{color:color-mix(in oklab,var(--color-violet-300) 80%,transparent)}}.text-violet-300\/90{color:#c4b4ffe6}@supports (color:color-mix(in lab,red,red)){.text-violet-300\/90{color:color-mix(in oklab,var(--color-violet-300) 90%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.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}.decoration-primary\/40{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.decoration-primary\/40{-webkit-text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent);text-decoration-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.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-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-\[0_0_8px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#10b98166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(245\,158\,11\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#f59e0b66);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{--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)}.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)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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\/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-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)}}.ring-background\/60{--tw-ring-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.ring-background\/60{--tw-ring-color:color-mix(in oklab, hsl(var(--background)) 60%, 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)}}.ring-white\/70{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.ring-white\/70{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, 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,)}.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,)}.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-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-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}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.group-hover\:shadow-md:is(:where(.group):hover *){--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)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.first\:mt-0:first-child{margin-top:0}.first\:rounded-l-sm:first-child{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}@media(hover:hover){.hover\:border-amber-500\/50:hover{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/50:hover{border-color:color-mix(in oklab,var(--color-amber-500) 50%,transparent)}}.hover\:border-border:hover,.hover\:border-border\/60:hover{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/60:hover{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.hover\:border-emerald-500\/40:hover{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/40:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,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\:border-red-500\/50:hover{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.hover\:border-red-500\/50:hover{border-color:color-mix(in oklab,var(--color-red-500) 50%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.hover\:bg-amber-400:hover{background-color:var(--color-amber-400)}.hover\:bg-amber-500:hover{background-color:var(--color-amber-500)}.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\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,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\/45:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/45:hover{background-color:color-mix(in oklab,hsl(var(--card)) 45%,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-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover,.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\/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-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\:bg-red-500\/15:hover{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/15:hover{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-sky-500\/20:hover{background-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-500\/20:hover{background-color:color-mix(in oklab,var(--color-sky-500) 20%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.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\:text-violet-200:hover{color:var(--color-violet-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-primary:focus,.focus\:border-primary\/50:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.focus\:border-red-400\/50:focus{border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.focus\:border-red-400\/50:focus{border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.focus\:border-sky-400\/50:focus{border-color:#00bcfe80}@supports (color:color-mix(in lab,red,red)){.focus\:border-sky-400\/50:focus{border-color:color-mix(in oklab,var(--color-sky-400) 50%,transparent)}}.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\/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\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.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\:flex{display:flex}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:w-\[640px\]{width:640px}.sm\:w-auto{width:auto}.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\:justify-between{justify-content:space-between}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:w-40{width:calc(var(--spacing) * 40)}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-red-400{color:var(--color-red-400)}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2")}: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;color-scheme:dark}html,body,#root{height:100dvh;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}*{border-color:hsl(var(--border) / .85);outline-color:hsl(var(--primary) / .5)}:focus-visible{outline:2px solid hsl(var(--primary) / .7);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .25);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.mc-card{border:1px solid hsl(var(--border) / .95);background-color:hsl(var(--card) / .85);border-radius:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #00000073,inset 0 1px #ffffff0d}.mc-card:before{content:"";background:linear-gradient(90deg,hsl(var(--primary)),#6366f1,#a855f7);opacity:.75;height:3.5px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.mc-card:hover{background-color:hsl(var(--card) / .92);border-color:hsl(var(--primary) / .35);box-shadow:0 20px 40px -20px #000000a6,0 0 18px 2px hsl(var(--primary) / .05);transform:translateY(-3px)}.mc-card:hover:before{opacity:1}.mc-card-sm{border:1px solid hsl(var(--border) / .9);background-color:hsl(var(--card) / .88);border-radius:.75rem;transition:background-color .2s,border-color .2s}.mc-card-sm:hover{background-color:hsl(var(--card) / .95);border-color:hsl(var(--primary) / .3)}.nav-active{background:linear-gradient(90deg,hsl(var(--primary) / .18),#6366f11f);color:hsl(var(--primary));border-left:3.5px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;padding-left:calc(.75rem - 3.5px);box-shadow:inset 0 1px #ffffff05}.nav-active-collapsed{background:hsl(var(--primary) / .18);color:hsl(var(--primary));box-shadow:0 0 12px 1px hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3)}@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}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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}@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/assets/layers-DGDzGr16.js b/frontend/dist/assets/layers-y7VoVedk.js similarity index 91% rename from frontend/dist/assets/layers-DGDzGr16.js rename to frontend/dist/assets/layers-y7VoVedk.js index 502620d..1450fe8 100644 --- a/frontend/dist/assets/layers-DGDzGr16.js +++ b/frontend/dist/assets/layers-y7VoVedk.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-DvtGY8-b.js";/** +import{c as a}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/power-t1doBEG9.js b/frontend/dist/assets/power-cDUHwtRA.js similarity index 87% rename from frontend/dist/assets/power-t1doBEG9.js rename to frontend/dist/assets/power-cDUHwtRA.js index e28d8e7..a458a48 100644 --- a/frontend/dist/assets/power-t1doBEG9.js +++ b/frontend/dist/assets/power-cDUHwtRA.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-DvtGY8-b.js";/** +import{c as o}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/refresh-cw-CTp9Wnlo.js b/frontend/dist/assets/refresh-cw-COF4ZaAx.js similarity index 91% rename from frontend/dist/assets/refresh-cw-CTp9Wnlo.js rename to frontend/dist/assets/refresh-cw-COF4ZaAx.js index 5761a20..f0a2080 100644 --- a/frontend/dist/assets/refresh-cw-CTp9Wnlo.js +++ b/frontend/dist/assets/refresh-cw-COF4ZaAx.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-DvtGY8-b.js";/** +import{c as e}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/search-CES9eee3.js b/frontend/dist/assets/search-CMGuC7tW.js similarity index 88% rename from frontend/dist/assets/search-CES9eee3.js rename to frontend/dist/assets/search-CMGuC7tW.js index d907b65..29679a0 100644 --- a/frontend/dist/assets/search-CES9eee3.js +++ b/frontend/dist/assets/search-CMGuC7tW.js @@ -1,4 +1,4 @@ -import{c}from"./index-DvtGY8-b.js";/** +import{c}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/shield-DuTFhOFM.js b/frontend/dist/assets/shield-DhFhR3yI.js similarity index 90% rename from frontend/dist/assets/shield-DuTFhOFM.js rename to frontend/dist/assets/shield-DhFhR3yI.js index 34e293a..9e5f042 100644 --- a/frontend/dist/assets/shield-DuTFhOFM.js +++ b/frontend/dist/assets/shield-DhFhR3yI.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-DvtGY8-b.js";/** +import{c as a}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/zap-fipupct_.js b/frontend/dist/assets/zap-BmFVNuAf.js similarity index 96% rename from frontend/dist/assets/zap-fipupct_.js rename to frontend/dist/assets/zap-BmFVNuAf.js index a1e99a7..6c71723 100644 --- a/frontend/dist/assets/zap-fipupct_.js +++ b/frontend/dist/assets/zap-BmFVNuAf.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-DvtGY8-b.js";/** +import{c as a}from"./index-C3tzC6TG.js";/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 3f99b47..35476b6 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -7,8 +7,8 @@ Mission Control 2.0 - - + +
diff --git a/frontend/src/app/palette/register.test.ts b/frontend/src/app/palette/register.test.ts new file mode 100644 index 0000000..626cd6b --- /dev/null +++ b/frontend/src/app/palette/register.test.ts @@ -0,0 +1,104 @@ +import { describe, expect, it, vi } from "vitest" +import { befehle, suchtext, type BefehlsKontext } from "./register" +import { NAV } from "@/nav" + +function kontext(ueberschreiben: Partial = {}): BefehlsKontext { + return { + text: "", + navigate: vi.fn(), + schublade: vi.fn(), + melden: vi.fn(), + api: vi.fn(async () => ({}) as never), + ...ueberschreiben, + } +} + +describe("Befehls-Register", () => { + it("führt jedes Navigations-Ziel auf — genau einmal", () => { + const ziele = befehle("").filter((b) => b.gruppe === "gehe") + expect(ziele).toHaveLength(NAV.length) + expect(new Set(ziele.map((z) => z.id)).size).toBe(NAV.length) + }) + + it("zeigt Suche und „An Lucy“ erst, wenn etwas getippt ist", () => { + const leer = befehle("") + expect(leer.some((b) => b.gruppe === "finden")).toBe(false) + expect(leer.some((b) => b.gruppe === "lucy")).toBe(false) + + const getippt = befehle("Wissensgraph-Ansicht bauen") + expect(getippt.filter((b) => b.gruppe === "finden")).toHaveLength(2) + expect(getippt.filter((b) => b.gruppe === "lucy")).toHaveLength(1) + }) + + // Unter acht Zeichen ist es kein Auftrag, sondern ein Tippfehler auf dem Weg zu + // einem Sprungziel. Sonst böte die Palette bei „mod" an, daraus eine Idee zu machen. + it("bietet kurze Eingaben NICHT als Idee an", () => { + expect(befehle("mod").some((b) => b.gruppe === "lucy")).toBe(false) + expect(befehle("modelle").some((b) => b.gruppe === "lucy")).toBe(false) + expect(befehle("modellwechsel").some((b) => b.gruppe === "lucy")).toBe(true) + }) + + // ── Die Sicherheitsregel ────────────────────────────────────────────────── + // Die Palette ist schnell genug, dass „Strg+K, mot, Enter" einen Dienst neu startet, + // bevor man es zu Ende gedacht hat. Alles Eingreifende MUSS deshalb `rueckfrage` + // tragen — die Oberfläche hält dann an und sagt erst, was passieren wird. + it("verlangt für jeden eingreifenden Befehl eine Rückfrage", () => { + const eingreifend = /neu starten|löschen|loeschen|deploy|zurücksetzen|reboot|entfernen/i + for (const b of befehle("etwas getipptes")) { + if (eingreifend.test(b.label)) { + expect(b.rueckfrage, `„${b.label}" muss nachfragen`).toBeTruthy() + } + } + }) + + it("nennt in der Rückfrage die Folge, nicht nur die Aktion", () => { + const motor = befehle("").find((b) => b.id === "tun:engine-neustart")! + expect(motor.rueckfrage).toBeTruthy() + // Der Text muss sagen, was der Nutzer DANACH merkt. + expect(motor.rueckfrage).toMatch(/Modelle/) + expect(motor.rueckfrage).toMatch(/aufwärmen|abbrechen|abbrechen/i) + }) + + it("lässt harmlose Befehle ohne Rückfrage durch", () => { + const wartung = befehle("").find((b) => b.id === "tun:wartung")! + expect(wartung.rueckfrage).toBeUndefined() + }) + + // ── Verhalten einzelner Befehle ─────────────────────────────────────────── + it("öffnet die Schublade über die URL, nicht über ein Ereignis", () => { + const ctx = kontext() + befehle("").find((b) => b.id === "tun:logs")!.ausfuehren(ctx) + expect(ctx.schublade).toHaveBeenCalledWith("logs") + }) + + it("erfasst eine Idee zum Durchdenken — und startet keinen Bau", async () => { + const ctx = kontext({ text: "Wissensgraph-Ansicht bauen" }) + await befehle(ctx.text).find((b) => b.gruppe === "lucy")!.ausfuehren(ctx) + + expect(ctx.api).toHaveBeenCalledTimes(1) + const [pfad, init] = (ctx.api as ReturnType).mock.calls[0] + expect(pfad).toBe("/api/ideen") + const rumpf = JSON.parse((init as RequestInit).body as string) + // `art: "idee"` heisst durchdenken. `"projekt"` wuerde sofort ein Repo anlegen — + // das darf die Palette niemals aus einem Tastendruck heraus tun. + expect(rumpf.art).toBe("idee") + expect(rumpf.titel).toBe("Wissensgraph-Ansicht bauen") + }) + + it("kürzt einen überlangen Ideen-Titel und hebt den vollen Text in die Notiz", async () => { + const lang = "a".repeat(200) + const ctx = kontext({ text: lang }) + await befehle(lang).find((b) => b.gruppe === "lucy")!.ausfuehren(ctx) + const rumpf = JSON.parse( + ((ctx.api as ReturnType).mock.calls[0][1] as RequestInit).body as string, + ) + expect(rumpf.titel.length).toBeLessThanOrEqual(160) + expect(rumpf.notiz).toBe(lang) + }) + + it("packt Suchwörter in den Suchtext, damit cmdk sie findet", () => { + const wartung = befehle("").find((b) => b.id === "tun:wartung")! + expect(suchtext(wartung)).toMatch(/neustart/) // steht nur in den Stichworten + expect(suchtext(wartung)).toMatch(/System-Wartung/) + }) +}) diff --git a/frontend/src/app/palette/register.ts b/frontend/src/app/palette/register.ts new file mode 100644 index 0000000..fb30a2a --- /dev/null +++ b/frontend/src/app/palette/register.ts @@ -0,0 +1,194 @@ +import type { LucideIcon } from "lucide-react" +import { + Camera, CloudDownload, FileText, Lightbulb, RefreshCw, ScrollText, Search, Wrench, +} from "lucide-react" +import { NAV } from "@/nav" + +// Befehls-Register der Palette (v3-Umbau P6, Spezifikation §4.6). +// +// Bis hierher listete die Palette die elf Navigations-Einträge — sie war ein Sprungbrett. +// Jetzt ist sie das primäre Bedienwerkzeug: Man tippt, was man will, nicht wo es liegt. +// +// VIER KATEGORIEN, in der Reihenfolge, in der man sie braucht: +// Gehe zu Sprungziele (wie bisher) +// Tun Aktionen — Dienste, Modelle, Wartung +// Finden Suche in Chronik und Wissens-Vault +// An Lucy den getippten Text direkt als Idee erfassen +// +// SICHERHEITSREGEL (aus der Spezifikation, hier hart verdrahtet): Alles, was neu startet, +// löscht oder deployt, trägt `rueckfrage` und wird zweistufig bestätigt. Die Palette ist +// zu schnell für einen unbedachten Treffer — zwei Tastendrücke und ein Dienst wäre weg. + +export type BefehlsGruppe = "gehe" | "tun" | "finden" | "lucy" + +export interface Befehl { + id: string + gruppe: BefehlsGruppe + label: string + hinweis?: string + icon: LucideIcon + /** Zusätzliche Wörter für die Suche — was der Nutzer tippen könnte, aber nicht dasteht. */ + stichworte?: string + /** Gesetzt = zweistufige Rückfrage mit diesem Text, bevor irgendetwas passiert. */ + rueckfrage?: string + /** Was der Befehl tut. `text` ist die aktuelle Eingabe der Palette. */ + ausfuehren: (ctx: BefehlsKontext) => void | Promise +} + +export interface BefehlsKontext { + text: string + navigate: (pfad: string) => void + schublade: (tab: "wartung" | "logs") => void + melden: (art: "info" | "erfolg" | "warnung" | "fehler", text: string) => void + api: (pfad: string, init?: RequestInit) => Promise +} + +export const GRUPPEN_TITEL: Record = { + gehe: "Gehe zu", + tun: "Tun", + finden: "Finden", + lucy: "An Lucy", +} + +/** Sprungziele — direkt aus der Navigations-Tabelle, damit es nie zwei Listen gibt. */ +const ZIELE: Befehl[] = NAV.map((n) => ({ + id: `gehe:${n.id}`, + gruppe: "gehe" as const, + label: n.label, + hinweis: n.hint, + icon: n.icon, + ausfuehren: ({ navigate }) => navigate(n.pfad), +})) + +/** Aktionen. Bewusst wenige: nur was man wirklich aus dem Stand heraus tut. */ +const AKTIONEN: Befehl[] = [ + { + id: "tun:wartung", + gruppe: "tun", + label: "System-Wartung öffnen", + hinweis: "Dienste, Updates, Snapshot", + icon: Wrench, + stichworte: "pflege dienste neustart update", + ausfuehren: ({ schublade }) => schublade("wartung"), + }, + { + id: "tun:logs", + gruppe: "tun", + label: "System-Logs öffnen", + hinweis: "Diagnose je Dienst", + icon: ScrollText, + stichworte: "fehler journal diagnose", + ausfuehren: ({ schublade }) => schublade("logs"), + }, + { + id: "tun:updates", + gruppe: "tun", + label: "Nach Updates suchen", + hinweis: "apt + Engine + Agent prüfen", + icon: CloudDownload, + stichworte: "aktualisieren apt engine", + ausfuehren: async ({ api, melden }) => { + await api("/api/maintenance/check-updates", { method: "POST" }) + melden("info", "Update-Suche läuft — das Ergebnis erscheint in der Wartung.") + }, + }, + { + id: "tun:snapshot", + gruppe: "tun", + label: "Snapshot anlegen", + hinweis: "Sicherung vor riskanten Schritten", + icon: Camera, + stichworte: "backup sicherung zeitmaschine", + ausfuehren: async ({ api, melden }) => { + await api("/api/system/backup", { method: "POST" }) + melden("erfolg", "Snapshot angestoßen.") + }, + }, + { + id: "tun:engine-neustart", + gruppe: "tun", + label: "Motor neu starten", + hinweis: "llama-swap — alle Modelle fallen kurz weg", + icon: RefreshCw, + stichworte: "engine llama swap modell neu starten", + // Zweistufig: Ein Neustart wirft jedes geladene Modell aus dem Speicher, und ein + // grosses Modell braucht danach ueber 20 Sekunden zum Aufwaermen. + rueckfrage: + "Der Motor (llama-swap) wird neu gestartet. Alle geladenen Modelle fallen dabei aus " + + "dem Speicher und müssen neu aufwärmen — das dauert je nach Modell über 20 Sekunden. " + + "Laufende Antworten brechen ab.", + ausfuehren: async ({ api, melden }) => { + const r = await api<{ ok: boolean; err?: string }>("/api/maintenance/restart", { + method: "POST", + body: JSON.stringify({ service: "llama-swap" }), + }) + melden(r.ok ? "erfolg" : "fehler", + r.ok ? "Motor neu gestartet." : `Neustart fehlgeschlagen: ${r.err || "Unbekannter Fehler"}`) + }, + }, +] + +/** Suchen — führen in die jeweilige Ansicht, mit dem Suchwort in der URL. */ +const SUCHEN = (text: string): Befehl[] => { + const q = text.trim() + if (!q) return [] + return [ + { + id: "finden:chronik", + gruppe: "finden", + label: `„${q}“ in der Chronik`, + hinweis: "Was die Box getan hat", + icon: Search, + ausfuehren: ({ navigate }) => navigate(`/chronik?q=${encodeURIComponent(q)}`), + }, + { + id: "finden:wissen", + gruppe: "finden", + label: `„${q}“ im Wissens-Vault`, + hinweis: "Lucys Notizen", + icon: FileText, + ausfuehren: ({ navigate }) => navigate(`/wissen?suche=${encodeURIComponent(q)}`), + }, + ] +} + +/** An Lucy — den getippten Text als Idee erfassen. Erfasst nur, startet nichts. */ +const AN_LUCY = (text: string): Befehl[] => { + const q = text.trim() + if (q.length < 8) return [] // unter acht Zeichen ist es kein Auftrag, sondern ein Tippfehler + return [ + { + id: "lucy:idee", + gruppe: "lucy", + label: `Als Idee erfassen: „${q.length > 60 ? q.slice(0, 57) + "…" : q}“`, + hinweis: "Wird nur notiert — gebaut wird erst auf deinen Klick", + icon: Lightbulb, + ausfuehren: async ({ api, melden, navigate }) => { + // Rumpf exakt wie im Ideen-Verfasser (routers/ideen.py → IdeeIn). `art: "idee"` + // heisst durchdenken, nicht bauen — die Palette startet nie einen Bau. + await api("/api/ideen", { + method: "POST", + body: JSON.stringify({ + titel: q.length > 160 ? q.slice(0, 157) + "…" : q, + notiz: q.length > 160 ? q : "", + welt: "ide", + tiefe: "", + ziel: "", + art: "idee", + }), + }) + melden("erfolg", "Als Idee erfasst.") + navigate("/ideen") + }, + }, + ] +} + +/** Das vollständige Register für die aktuelle Eingabe. */ +export function befehle(text: string): Befehl[] { + return [...ZIELE, ...AKTIONEN, ...SUCHEN(text), ...AN_LUCY(text)] +} + +/** Suchtext eines Befehls — cmdk filtert darüber. */ +export const suchtext = (b: Befehl) => + [b.label, b.hinweis, b.stichworte, GRUPPEN_TITEL[b.gruppe]].filter(Boolean).join(" ") diff --git a/frontend/src/app/router.tsx b/frontend/src/app/router.tsx index 5ad88f3..9346fcc 100644 --- a/frontend/src/app/router.tsx +++ b/frontend/src/app/router.tsx @@ -101,7 +101,20 @@ function CockpitSeite() { const cockpitRoute = ansicht("/cockpit", () => ) const auftraegeRoute = ansicht("/auftraege", () => ) const skillsRoute = ansicht("/skills", () => ) -const chronikRoute = ansicht("/chronik", () => ) +/** Chronik: `?q=` filtert den Verlauf — Ziel der „Finden"-Einträge der Palette (P6). */ +export interface ChronikSuche { + q?: string +} +const chronikRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/chronik", + validateSearch: (roh: Record): ChronikSuche => + typeof roh.q === "string" && roh.q ? { q: roh.q } : {}, + component: () => , + errorComponent: ({ error, reset }) => ( + + ), +}) const verbindenRoute = ansicht("/verbinden", () => ) const konsoleRoute = ansicht("/konsole", () => ) const anleitungRoute = ansicht("/anleitung", () => ) @@ -124,15 +137,19 @@ const ideenRoute = createRoute({ ), }) -/** Wissen: `?datei=` macht jede Vault-Notiz verlinkbar. */ +/** Wissen: `?datei=` macht jede Notiz verlinkbar, `?suche=` trägt das Suchwort + * aus der Befehlspalette herein (P6). */ export interface WissenSuche { datei?: string + suche?: string } const wissenRoute = createRoute({ getParentRoute: () => rootRoute, path: "/wissen", - validateSearch: (roh: Record): WissenSuche => - typeof roh.datei === "string" && roh.datei ? { datei: roh.datei } : {}, + validateSearch: (roh: Record): WissenSuche => ({ + ...(typeof roh.datei === "string" && roh.datei ? { datei: roh.datei } : {}), + ...(typeof roh.suche === "string" && roh.suche ? { suche: roh.suche } : {}), + }), component: () => , errorComponent: ({ error, reset }) => ( diff --git a/frontend/src/components/CommandPalette.tsx b/frontend/src/components/CommandPalette.tsx index c8767c0..20fe9f8 100644 --- a/frontend/src/components/CommandPalette.tsx +++ b/frontend/src/components/CommandPalette.tsx @@ -1,72 +1,160 @@ -import { useEffect, useState } from "react" +import { useCallback, useMemo, useState } from "react" import { Command } from "cmdk" import { useNavigate } from "@tanstack/react-router" -import { NAV } from "@/nav" +import { AlertTriangle, CornerDownLeft } from "lucide-react" +import { useMC, usePaletteOffen } from "@/app/store" +import { api } from "@/lib/api" +import { cn } from "@/lib/utils" +import { + GRUPPEN_TITEL, befehle, suchtext, + type Befehl, type BefehlsGruppe, +} from "@/app/palette/register" + +// Befehlspalette 2.0 (v3-Umbau P6, Spezifikation §4.6). +// +// Vorher listete sie die elf Navigations-Einträge — ein Sprungbrett. Jetzt tippt man, +// WAS man will, nicht wo es liegt: springen, tun, finden, oder den Text direkt als Idee +// an Lucy geben. Das Register steht in app/palette/register.ts. +// +// Die Rückfrage ist keine Höflichkeit, sondern Absicht: Die Palette ist schnell genug, +// dass „Strg+K, mot, Enter" den Motor neu startet, bevor man es zu Ende gedacht hat. +// Befehle mit `rueckfrage` halten deshalb an und sagen erst, was passieren wird. + +const GRUPPEN_REIHE: BefehlsGruppe[] = ["gehe", "tun", "finden", "lucy"] export function CommandPalette() { - const [open, setOpen] = useState(false) + const offen = usePaletteOffen() + const palette = useMC((s) => s.palette) + const melden = useMC((s) => s.melden) const navigate = useNavigate() - useEffect(() => { - const onKey = (e: KeyboardEvent) => { - if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k") { - e.preventDefault() - setOpen((o) => !o) - } - } - document.addEventListener("keydown", onKey) - return () => document.removeEventListener("keydown", onKey) - }, []) + const [text, setText] = useState("") + const [nachfrage, setNachfrage] = useState(null) + const [laeuft, setLaeuft] = useState(false) - // Der „Suchen"-Knopf in der Kopfzeile (v3-Umbau P2, Befund B-09). - // Er baute vorher ein GEFÄLSCHTES Tastatur-Ereignis (`new KeyboardEvent("keydown", - // { metaKey: true })`) und feuerte es aufs Dokument, damit der Zuhörer oben anspringt. - // Jetzt ein eigener, ehrlicher Kanal. In P3 löst der Store auch den ab. - useEffect(() => { - const onOpen = () => setOpen(true) - window.addEventListener("mc-palette-open", onOpen) - return () => window.removeEventListener("mc-palette-open", onOpen) - }, []) + const schliessen = useCallback(() => { + palette(false) + setText("") + setNachfrage(null) + }, [palette]) + + const ausfuehren = useCallback(async (b: Befehl) => { + setLaeuft(true) + try { + await b.ausfuehren({ + text, + navigate: (pfad) => navigate({ to: pfad }), + schublade: (tab) => navigate({ to: ".", search: (a) => ({ ...a, system: tab }) }), + melden, + api, + }) + schliessen() + } catch (e) { + // Der echte Grund aus ApiError.detail (P1/B-14) — nicht „Fehler". + melden("fehler", e instanceof Error ? e.message : String(e)) + setNachfrage(null) + } finally { + setLaeuft(false) + } + }, [text, navigate, melden, schliessen]) + + const liste = useMemo(() => befehle(text), [text]) return ( (o ? palette(true) : schliessen())} label="Befehlspalette" - className="fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh] overscroll-contain" - onClick={() => setOpen(false)} + className="fixed inset-0 z-50 flex items-start justify-center overscroll-contain bg-black/50 p-4 pt-[12vh]" + onClick={schliessen} + shouldFilter={!nachfrage} >
e.stopPropagation()} > - - - - Nichts gefunden. - - - {NAV.map((item) => ( - { - navigate({ to: item.pfad }) - setOpen(false) - }} - 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" + {nachfrage ? ( + // ── Zweistufige Rückfrage ──────────────────────────────────────── +
+
+
+

{nachfrage.rueckfrage}

+
+ + +
+
+ ) : ( + <> + + + + Nichts gefunden. + + + {GRUPPEN_REIHE.map((gruppe) => { + const eintraege = liste.filter((b) => b.gruppe === gruppe) + if (!eintraege.length) return null + return ( + + {eintraege.map((b) => ( + (b.rueckfrage ? setNachfrage(b) : ausfuehren(b))} + 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" + > + + ))} + + ) + })} + + +
+ ↑↓ wählen + + esc schließt +
+ + )}
) diff --git a/frontend/src/views/ChronikView.tsx b/frontend/src/views/ChronikView.tsx index 086ed62..4f7977a 100644 --- a/frontend/src/views/ChronikView.tsx +++ b/frontend/src/views/ChronikView.tsx @@ -1,9 +1,7 @@ import { useMemo, useState } from "react" -import { - History, HeartPulse, ShieldAlert, Bell, Moon, Radar, Inbox, Loader2, - Archive, RotateCcw, AlarmClock, MessageCircle, Sparkles, type LucideIcon, -} from "lucide-react" +import { AlarmClock, Archive, Bell, HeartPulse, History, Inbox, Loader2, MessageCircle, Moon, Radar, RotateCcw, Search, ShieldAlert, Sparkles, type LucideIcon } from "lucide-react" import { api, type ChronikItem, type Snapshot } from "@/lib/api" +import { useNavigate, useSearch } from "@tanstack/react-router" import { useChronik, useZeitmaschine, useQueryClient, qk } from "@/lib/queries" import { useDialog } from "@/lib/useDialog" import { cn } from "@/lib/utils" @@ -30,9 +28,25 @@ function dayKey(ts: number): string { } export function ChronikView() { - const { data: items = [], isLoading } = useChronik() + const { data: alle = [], isLoading } = useChronik() const [limitPerDay, setLimitPerDay] = useState(true) + // v3-Umbau P6: Das Suchwort steht in der URL (/chronik?q=…). So landet der + // „Finden"-Eintrag der Befehlspalette hier — und ein Treffer ist teilbar. + const navigate = useNavigate() + const { q = "" } = useSearch({ from: "/chronik" }) + const suchen = (wert: string) => + navigate({ to: "/chronik", search: wert ? { q: wert } : {}, replace: true }) + + const items = useMemo(() => { + const ql = q.trim().toLowerCase() + if (!ql) return alle + return alle.filter((it) => + it.subject.toLowerCase().includes(ql) + || it.text.toLowerCase().includes(ql) + || it.source.toLowerCase().includes(ql)) + }, [alle, q]) + const grouped = useMemo(() => { const g: { day: string; items: ChronikItem[] }[] = [] for (const it of items) { @@ -58,9 +72,23 @@ export function ChronikView() {
-

- Verlauf -

+
+

+ Verlauf + {q && · {items.length} von {alle.length}} +

+
+
+
{isLoading && (
@@ -70,7 +98,9 @@ export function ChronikView() { {!isLoading && items.length === 0 && (
- Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier. + {q + ? <>Nichts zu „{q}" im Verlauf. + : "Noch keine Einträge. Sobald die Box etwas von allein tut oder meldet (Updates, Wächter, Träume), steht es hier."}
)} diff --git a/frontend/src/views/WissenView.tsx b/frontend/src/views/WissenView.tsx index fcbf697..ee75f52 100644 --- a/frontend/src/views/WissenView.tsx +++ b/frontend/src/views/WissenView.tsx @@ -1,4 +1,5 @@ import { useEffect, useMemo, useState } from "react" +import { useNavigate, useSearch } from "@tanstack/react-router" import { Library, FileText, Sparkles, Loader2, FolderOpen, Search } from "lucide-react" import { api, type WissenDatei, type WissenFile } from "@/lib/api" import { useWissen, useMemoryGraph } from "@/lib/queries" @@ -24,7 +25,14 @@ export function WissenView() { const [active, setActive] = useState(null) const [doc, setDoc] = useState(null) const [docLoading, setDocLoading] = useState(false) - const [q, setQ] = useState("") + // v3-Umbau P6: Das Suchfeld gab es schon, aber nur lokal. Jetzt steht das Wort in + // der URL (/wissen?suche=…) — so landet der „Finden"-Eintrag der Palette hier, und + // ein Suchergebnis ist teilbar. + const navigate = useNavigate() + const { suche = "" } = useSearch({ from: "/wissen" }) + const q = suche + const setQ = (wert: string) => + navigate({ to: "/wissen", search: (a) => ({ ...a, suche: wert || undefined }), replace: true }) const [showGraph, setShowGraph] = useState(false) const { data: graphData, isLoading: graphLoading } = useMemoryGraph(showGraph)