gentiq 0.7.30 → 0.7.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,27 +1,85 @@
1
- import { jsx as i, Fragment as J, jsxs as w } from "react/jsx-runtime";
1
+ import { jsx as i, Fragment as J, jsxs as _ } from "react/jsx-runtime";
2
2
  import * as Ce from "react";
3
- import { useState as B, useCallback as oe, useMemo as St, useEffect as Q, Children as cn, useRef as Ge, memo as de, createContext as pe, useContext as Fe } from "react";
3
+ import { createContext as de, useContext as Fe, useState as B, useEffect as Q, useCallback as oe, useMemo as St, Children as cn, useRef as Ge, memo as pe } from "react";
4
4
  import { useTranslation as M, initReactI18next as un } from "react-i18next";
5
- import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as De, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Et, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Nt, BrainIcon as wn, WrenchIcon as _n, ImagePlusIcon as xn, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Tt, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
6
- import { Slot as Ct } from "@radix-ui/react-slot";
7
- import { cva as Pe } from "class-variance-authority";
8
- import { StickToBottom as At, useStickToBottomContext as In } from "use-stick-to-bottom";
9
- import * as Me from "@radix-ui/react-collapsible";
5
+ import { Slot as Et } from "@radix-ui/react-slot";
6
+ import { cva as De } from "class-variance-authority";
7
+ import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as Pe, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Nt, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Tt, BrainIcon as wn, WrenchIcon as _n, ImagePlusIcon as xn, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Ct, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
10
8
  import * as K from "@radix-ui/react-tooltip";
11
- import { toast as Rn } from "sonner";
9
+ import { toast as In } from "sonner";
12
10
  import "@radix-ui/react-scroll-area";
11
+ import { useQuery as Rn } from "@tanstack/react-query";
13
12
  import { Streamdown as On } from "streamdown";
14
13
  import Ve from "katex";
15
14
  import { useControllableState as We } from "@radix-ui/react-use-controllable-state";
15
+ import * as Me from "@radix-ui/react-collapsible";
16
16
  import * as H from "@radix-ui/react-dialog";
17
17
  import { PrismLight as U } from "react-syntax-highlighter";
18
- import Ln from "i18next";
18
+ import { StickToBottom as At, useStickToBottomContext as Ln } from "use-stick-to-bottom";
19
+ import Fn from "i18next";
19
20
  import * as F from "@radix-ui/react-select";
20
21
  import * as re from "@radix-ui/react-dropdown-menu";
21
22
  import * as Ye from "@radix-ui/react-checkbox";
22
- import { clsx as Fn } from "clsx";
23
- import { twMerge as Dn } from "tailwind-merge";
24
- const Pn = {
23
+ import { clsx as Dn } from "clsx";
24
+ import { twMerge as Pn } from "tailwind-merge";
25
+ const Mn = {
26
+ theme: "system",
27
+ setTheme: () => null,
28
+ accent: void 0,
29
+ setAccent: () => null,
30
+ radius: void 0,
31
+ setRadius: () => null
32
+ }, It = de(Mn);
33
+ function xi({
34
+ children: e,
35
+ defaultTheme: t = "system",
36
+ storageKey: n = "chatbot-theme",
37
+ config: o,
38
+ ...r
39
+ }) {
40
+ const [a, l] = B(() => {
41
+ const u = window.localStorage.getItem(n);
42
+ return u === "system" || u === "light" || u === "dark" ? u : void 0;
43
+ }), [c, s] = B(
44
+ () => window.localStorage.getItem(n + "-accent") || void 0
45
+ ), [p, f] = B(
46
+ () => window.localStorage.getItem(n + "-radius") || "1.25rem"
47
+ ), { i18n: m } = M(["theme"]), g = a ?? o?.defaultTheme ?? t, b = c ?? o?.accent;
48
+ Q(() => {
49
+ const u = window.document.documentElement;
50
+ if (u.classList.remove("light", "dark"), g === "system") {
51
+ const w = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
52
+ u.classList.add(w);
53
+ return;
54
+ }
55
+ u.classList.add(g);
56
+ }, [g]), Q(() => {
57
+ const u = window.document.documentElement, w = m.language?.split("-")[0] || m.language;
58
+ let v = o?.typography?.fontFamily;
59
+ if (typeof v == "object" && v !== null && (v = v[m.language] || v[w] || v.en || Object.values(v)[0]), v) {
60
+ const C = v.includes(" ") && !v.startsWith("'") && !v.startsWith('"') ? `"${v}"` : v;
61
+ u.style.setProperty("--gentiq-font-family", C), u.style.fontFamily = C, window.document.body && (window.document.body.style.fontFamily = C);
62
+ }
63
+ const h = p || (typeof o?.radius == "number" ? `${o.radius}px` : o?.radius);
64
+ h !== void 0 && u.style.setProperty("--radius", h), b !== void 0 ? u.style.setProperty("--gentiq-primary", b) : u.style.removeProperty("--gentiq-primary"), window.document.documentElement.dir = m.dir();
65
+ }, [o, m, m.language, b, p]);
66
+ const y = {
67
+ theme: g,
68
+ setTheme: (u) => {
69
+ window.localStorage.setItem(n, u), l(u);
70
+ },
71
+ accent: b,
72
+ setAccent: (u) => {
73
+ u ? window.localStorage.setItem(n + "-accent", u) : window.localStorage.removeItem(n + "-accent"), s(u);
74
+ },
75
+ radius: p,
76
+ setRadius: (u) => {
77
+ u ? window.localStorage.setItem(n + "-radius", u) : window.localStorage.removeItem(n + "-radius"), f(u);
78
+ }
79
+ };
80
+ return /* @__PURE__ */ i(It.Provider, { ...r, value: y, children: e });
81
+ }
82
+ const Si = () => Fe(It), zn = {
25
83
  // Auth Errors
26
84
  UNAUTHORIZED: "unauthorized",
27
85
  INVALID_CREDENTIALS: "invalid_credentials",
@@ -61,8 +119,8 @@ class Xe extends Error {
61
119
  super(t.error.message), this.name = "GentiqError", this.code = t.error.code, this.status = n, this.details = t.error.details;
62
120
  }
63
121
  }
64
- function ki(e, t) {
65
- const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(Pn).includes(n) ? n : void 0);
122
+ function Ei(e, t) {
123
+ const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(zn).includes(n) ? n : void 0);
66
124
  if (typeof o != "string")
67
125
  return n || String(e);
68
126
  const r = `errors:${o}`, a = t(r);
@@ -77,7 +135,7 @@ let N = {
77
135
  cacheNamespace: "gentiq"
78
136
  }
79
137
  };
80
- const Mn = {
138
+ const Un = {
81
139
  getToken: () => localStorage.getItem("token"),
82
140
  setToken: (e) => localStorage.setItem("token", e),
83
141
  clearToken: () => {
@@ -88,7 +146,7 @@ const Mn = {
88
146
  return e ? { Authorization: `Bearer ${e}` } : {};
89
147
  }
90
148
  };
91
- let L = Mn;
149
+ let L = Un;
92
150
  const S = {
93
151
  init: (e) => {
94
152
  if (N = {
@@ -297,7 +355,7 @@ const S = {
297
355
  return S.handleResponse(e, "Failed to fetch app configuration");
298
356
  }
299
357
  };
300
- function zn(e, t) {
358
+ function $n(e, t) {
301
359
  const [n, o] = B(
302
360
  e.metadata?.feedback
303
361
  ), r = oe((l) => {
@@ -308,7 +366,7 @@ function zn(e, t) {
308
366
  const c = n === l ? void 0 : l;
309
367
  o(c);
310
368
  try {
311
- const s = e.parts.find((h) => h.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
369
+ const s = e.parts.find((f) => f.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
312
370
  await S.saveFeedback(t, p, c ?? null);
313
371
  } catch (s) {
314
372
  console.error("Error saving feedback:", s);
@@ -320,8 +378,8 @@ function zn(e, t) {
320
378
  copy: r
321
379
  };
322
380
  }
323
- const Un = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
324
- function $n() {
381
+ const Bn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
382
+ function Hn() {
325
383
  const { i18n: e } = M(["translation"]), { app: t } = W(), n = St(() => {
326
384
  const l = S.getConfig(), c = t || l.app;
327
385
  return {
@@ -331,7 +389,7 @@ function $n() {
331
389
  language: e.language || c?.language || "en",
332
390
  showToolDetails: c?.showToolDetails ?? !0
333
391
  };
334
- }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Un.has(o), a = t?.language;
392
+ }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Bn.has(o), a = t?.language;
335
393
  return Q(() => {
336
394
  if (typeof window > "u") return;
337
395
  const l = localStorage.getItem("gentiq-last-default-lang");
@@ -346,7 +404,7 @@ function $n() {
346
404
  error: null
347
405
  };
348
406
  }
349
- function Bn(e) {
407
+ function qn(e) {
350
408
  const {
351
409
  part: t,
352
410
  message: n,
@@ -357,9 +415,9 @@ function Bn(e) {
357
415
  conversationId: c,
358
416
  isFinished: s,
359
417
  renderMessagePart: p,
360
- chat: h,
361
- readonly: f
362
- } = e, { showToolDetails: b } = $n(), { TextPart: m, ReasoningPart: y, ToolPart: d, FilePart: v, toolComponents: _, threadActions: g } = W(), { feedback: R, handleFeedback: E, copy: I } = zn(n, c);
418
+ chat: f,
419
+ readonly: m
420
+ } = e, { showToolDetails: g } = Hn(), { TextPart: b, ReasoningPart: y, ToolPart: u, FilePart: w, toolComponents: v, threadActions: h } = W(), { feedback: C, handleFeedback: E, copy: R } = $n(n, c);
363
421
  if (p) {
364
422
  const O = p(t, n);
365
423
  if (O !== void 0)
@@ -370,7 +428,7 @@ function Bn(e) {
370
428
  (O) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(O.type)
371
429
  ), ne = t === z[z.length - 1];
372
430
  return t.type === "text" ? /* @__PURE__ */ i(
373
- m,
431
+ b,
374
432
  {
375
433
  part: t,
376
434
  message: n,
@@ -379,11 +437,11 @@ function Bn(e) {
379
437
  lastMessage: l,
380
438
  isLastVisiblePart: ne,
381
439
  regen: r,
382
- feedback: R,
440
+ feedback: C,
383
441
  handleFeedback: E,
384
- copyHost: I,
385
- feedbackEnabled: f ? !1 : g?.feedback ?? !1,
386
- retryEnabled: f ? !1 : g?.retry ?? !1
442
+ copyHost: R,
443
+ feedbackEnabled: m ? !1 : h?.feedback ?? !1,
444
+ retryEnabled: m ? !1 : h?.retry ?? !1
387
445
  }
388
446
  ) : t.type === "reasoning" ? /* @__PURE__ */ i(
389
447
  y,
@@ -395,16 +453,16 @@ function Bn(e) {
395
453
  lastMessage: l
396
454
  }
397
455
  ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ i(
398
- d,
456
+ u,
399
457
  {
400
458
  part: t,
401
459
  message: n,
402
- chat: h,
403
- toolComponents: _,
404
- showToolCalls: !!b
460
+ chat: f,
461
+ toolComponents: v,
462
+ showToolCalls: !!g
405
463
  }
406
464
  ) : t.type === "file" ? /* @__PURE__ */ i(
407
- v,
465
+ w,
408
466
  {
409
467
  part: t,
410
468
  message: n
@@ -412,9 +470,9 @@ function Bn(e) {
412
470
  ) : null;
413
471
  }
414
472
  function k(...e) {
415
- return Dn(Fn(e));
473
+ return Pn(Dn(e));
416
474
  }
417
- function vi(e, t) {
475
+ function Ni(e, t) {
418
476
  if (t === "/") return e;
419
477
  const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
420
478
  return n + o;
@@ -439,18 +497,18 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
439
497
  n
440
498
  ))
441
499
  }
442
- ), Hn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
500
+ ), jn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
443
501
  function ge(e, t = "ltr") {
444
502
  if (!e) return t;
445
503
  for (const n of e) {
446
- if (Hn.test(n))
504
+ if (jn.test(n))
447
505
  return "rtl";
448
506
  if (/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8]/.test(n))
449
507
  return "ltr";
450
508
  }
451
509
  return "ltr";
452
510
  }
453
- const qn = Pe(
511
+ const Gn = De(
454
512
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
455
513
  {
456
514
  variants: {
@@ -482,9 +540,9 @@ function ee({
482
540
  asChild: o = !1,
483
541
  ...r
484
542
  }) {
485
- return /* @__PURE__ */ i(o ? Ct : "button", { "data-slot": "button", className: k(qn({ variant: t, size: n, className: e })), ...r });
543
+ return /* @__PURE__ */ i(o ? Et : "button", { "data-slot": "button", className: k(Gn({ variant: t, size: n, className: e })), ...r });
486
544
  }
487
- const jn = ({ className: e, ...t }) => /* @__PURE__ */ i(
545
+ const Vn = ({ className: e, ...t }) => /* @__PURE__ */ i(
488
546
  At,
489
547
  {
490
548
  className: k("relative flex-1 overflow-hidden", e),
@@ -493,15 +551,15 @@ const jn = ({ className: e, ...t }) => /* @__PURE__ */ i(
493
551
  role: "log",
494
552
  ...t
495
553
  }
496
- ), Gn = ({ className: e, ...t }) => /* @__PURE__ */ i(
554
+ ), Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(
497
555
  At.Content,
498
556
  {
499
557
  className: k("p-4 pb-6 stick-to-bottom", e),
500
558
  scrollClassName: "custom-scrollbar",
501
559
  ...t
502
560
  }
503
- ), Vn = ({ className: e, ...t }) => {
504
- const { isAtBottom: n, scrollToBottom: o } = In(), r = oe(() => {
561
+ ), Yn = ({ className: e, ...t }) => {
562
+ const { isAtBottom: n, scrollToBottom: o } = Ln(), r = oe(() => {
505
563
  o();
506
564
  }, [o]);
507
565
  return n ? null : /* @__PURE__ */ i(
@@ -533,13 +591,13 @@ function Ue({ ...e }) {
533
591
  function $e({ ...e }) {
534
592
  return /* @__PURE__ */ i(Me.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
535
593
  }
536
- const Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 text-primary text-xs", e), ...t }), Yn = ({ className: e, count: t, children: n, ...o }) => {
594
+ const Xn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 text-primary text-xs", e), ...t }), Kn = ({ className: e, count: t, children: n, ...o }) => {
537
595
  const { t: r } = M(["chat"]);
538
- return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
596
+ return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ _(J, { children: [
539
597
  /* @__PURE__ */ i("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
540
598
  /* @__PURE__ */ i(ie, { className: "h-4 w-4" })
541
599
  ] }) });
542
- }, Xn = ({ className: e, ...t }) => /* @__PURE__ */ i(
600
+ }, Zn = ({ className: e, ...t }) => /* @__PURE__ */ i(
543
601
  $e,
544
602
  {
545
603
  className: k(
@@ -549,24 +607,24 @@ const Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
549
607
  ),
550
608
  ...t
551
609
  }
552
- ), Kn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
610
+ ), Jn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ _(J, { children: [
553
611
  /* @__PURE__ */ i(pn, { className: "h-4 w-4" }),
554
612
  /* @__PURE__ */ i("span", { className: "block font-medium", children: t })
555
- ] }) }), Zn = ({ latestProgress: e, parts: t }) => {
613
+ ] }) }), Qn = ({ latestProgress: e, parts: t }) => {
556
614
  const n = e.data[0].status, o = e.data[0].message, r = t.lastIndexOf(e);
557
615
  if (!!(t.slice(r + 1).some(
558
- (f) => f.type === "text" && (f.text || "").trim().length > 0 || f.type === "tool-invocation" || f.type === "tool-call"
616
+ (m) => m.type === "text" && (m.text || "").trim().length > 0 || m.type === "tool-invocation" || m.type === "tool-call"
559
617
  ) && n !== "running")) return null;
560
- const s = n === "running", p = n === "error", h = ge(o);
618
+ const s = n === "running", p = n === "error", f = ge(o);
561
619
  return /* @__PURE__ */ i("div", { className: k(
562
620
  "flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
563
- h === "rtl" ? "justify-end" : "justify-start"
564
- ), children: /* @__PURE__ */ w("div", { className: k("flex items-center gap-3 text-sm text-muted-foreground", h === "rtl" && "flex-row-reverse"), dir: h, children: [
565
- s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(De, { className: "size-4 text-green-500 shrink-0" }),
621
+ f === "rtl" ? "justify-end" : "justify-start"
622
+ ), children: /* @__PURE__ */ _("div", { className: k("flex items-center gap-3 text-sm text-muted-foreground", f === "rtl" && "flex-row-reverse"), dir: f, children: [
623
+ s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(Pe, { className: "size-4 text-green-500 shrink-0" }),
566
624
  /* @__PURE__ */ i("span", { className: k("font-medium", s && "animate-pulse"), children: o })
567
625
  ] }) });
568
626
  };
569
- function Jn({
627
+ function eo({
570
628
  messages: e,
571
629
  status: t,
572
630
  isLoadingHistory: n,
@@ -578,61 +636,61 @@ function Jn({
578
636
  className: s,
579
637
  readonly: p
580
638
  }) {
581
- const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = W(), y = e[e.length - 1], d = y?.role === "assistant" && (t === "ready" || y.parts.some((v) => v.type === "data-chat-finished"));
582
- return /* @__PURE__ */ w(jn, { className: k("min-h-0 flex-1", s), children: [
583
- /* @__PURE__ */ w(Gn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
584
- e.length === 0 && !n ? /* @__PURE__ */ i(m, { onSuggestionClick: l }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
585
- v.role === "assistant" && v.parts.filter((_) => _.type === "source-url").length > 0 && /* @__PURE__ */ w(Wn, { children: [
586
- /* @__PURE__ */ i(Yn, { count: v.parts.filter((_) => _.type === "source-url").length }),
587
- v.parts.filter((_) => _.type === "source-url").map((_, g) => /* @__PURE__ */ i(Xn, { children: /* @__PURE__ */ i(Kn, { href: _.url, title: _.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
639
+ const { i18n: f, t: m } = M(["chat", "translation"]), g = f.language === "fa", { WelcomeScreen: b } = W(), y = e[e.length - 1], u = y?.role === "assistant" && (t === "ready" || y.parts.some((w) => w.type === "data-chat-finished"));
640
+ return /* @__PURE__ */ _(Vn, { className: k("min-h-0 flex-1", s), children: [
641
+ /* @__PURE__ */ _(Wn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
642
+ e.length === 0 && !n ? /* @__PURE__ */ i(b, { onSuggestionClick: l }) : e.map((w) => /* @__PURE__ */ _("div", { children: [
643
+ w.role === "assistant" && w.parts.filter((v) => v.type === "source-url").length > 0 && /* @__PURE__ */ _(Xn, { children: [
644
+ /* @__PURE__ */ i(Kn, { count: w.parts.filter((v) => v.type === "source-url").length }),
645
+ w.parts.filter((v) => v.type === "source-url").map((v, h) => /* @__PURE__ */ i(Zn, { children: /* @__PURE__ */ i(Jn, { href: v.url, title: v.url }, `${w.id}-${h}`) }, `${w.id}-${h}`))
588
646
  ] }),
589
- v.parts.map((_, g) => /* @__PURE__ */ i(
590
- Bn,
647
+ w.parts.map((v, h) => /* @__PURE__ */ i(
648
+ qn,
591
649
  {
592
- part: _,
593
- message: v,
650
+ part: v,
651
+ message: w,
594
652
  status: t,
595
- index: g,
653
+ index: h,
596
654
  regen: a,
597
- lastMessage: v.id === e.at(-1)?.id,
655
+ lastMessage: w.id === e.at(-1)?.id,
598
656
  conversationId: r,
599
- isFinished: d,
657
+ isFinished: u,
600
658
  chat: c,
601
659
  readonly: p
602
660
  },
603
- `${v.id}-${g}`
661
+ `${w.id}-${h}`
604
662
  ))
605
- ] }, v.id)),
663
+ ] }, w.id)),
606
664
  (() => {
607
665
  if (!y || y.role !== "assistant") return null;
608
- const v = y.parts.filter((g) => g.type === "data-progress-update");
609
- if (v.length === 0) return null;
610
- const _ = v[v.length - 1];
611
- return _ ? /* @__PURE__ */ i(Zn, { latestProgress: _, parts: y.parts }) : null;
666
+ const w = y.parts.filter((h) => h.type === "data-progress-update");
667
+ if (w.length === 0) return null;
668
+ const v = w[w.length - 1];
669
+ return v ? /* @__PURE__ */ i(Qn, { latestProgress: v, parts: y.parts }) : null;
612
670
  })(),
613
671
  (n || t === "submitted") && /* @__PURE__ */ i("div", { className: "animate-in-bubble", children: /* @__PURE__ */ i(fe, {}) }),
614
672
  t === "streaming" && (() => {
615
- const v = e[e.length - 1];
616
- return !v || v.role === "user" ? /* @__PURE__ */ i(fe, {}) : v.parts?.some(
617
- (g) => g.type === "text" && g.text?.trim().length > 0 || g.type === "reasoning" || g.type === "tool-invocation" || g.type === "tool-call"
673
+ const w = e[e.length - 1];
674
+ return !w || w.role === "user" ? /* @__PURE__ */ i(fe, {}) : w.parts?.some(
675
+ (h) => h.type === "text" && h.text?.trim().length > 0 || h.type === "reasoning" || h.type === "tool-invocation" || h.type === "tool-call"
618
676
  ) ? null : /* @__PURE__ */ i(fe, {});
619
677
  })(),
620
- t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: k(
678
+ t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ _("div", { className: k(
621
679
  "flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
622
- b ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
623
- ), dir: b ? "rtl" : "ltr", children: [
680
+ g ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
681
+ ), dir: g ? "rtl" : "ltr", children: [
624
682
  /* @__PURE__ */ i("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
625
- /* @__PURE__ */ w("div", { className: k("text-sm text-destructive/90 leading-relaxed flex-1", b ? "text-right" : "text-left"), children: [
626
- /* @__PURE__ */ i("span", { className: "font-semibold", children: f("error") }),
683
+ /* @__PURE__ */ _("div", { className: k("text-sm text-destructive/90 leading-relaxed flex-1", g ? "text-right" : "text-left"), children: [
684
+ /* @__PURE__ */ i("span", { className: "font-semibold", children: m("error") }),
627
685
  " ",
628
686
  o.message
629
687
  ] })
630
688
  ] }) })
631
689
  ] }),
632
- /* @__PURE__ */ i(Vn, {})
690
+ /* @__PURE__ */ i(Yn, {})
633
691
  ] });
634
692
  }
635
- function Qn({ className: e, ...t }) {
693
+ function to({ className: e, ...t }) {
636
694
  return /* @__PURE__ */ i(
637
695
  "textarea",
638
696
  {
@@ -645,7 +703,7 @@ function Qn({ className: e, ...t }) {
645
703
  }
646
704
  );
647
705
  }
648
- const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
706
+ const no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
649
707
  "form",
650
708
  {
651
709
  className: k(
@@ -660,7 +718,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
660
718
  ),
661
719
  ...t
662
720
  }
663
- ) }), to = ({
721
+ ) }), oo = ({
664
722
  onChange: e,
665
723
  className: t,
666
724
  placeholder: n = "What would you like to know?",
@@ -676,7 +734,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
676
734
  }
677
735
  }, { i18n: a } = M(["chat"]), l = ge(o.value, a.dir());
678
736
  return /* @__PURE__ */ i(
679
- Qn,
737
+ to,
680
738
  {
681
739
  dir: l,
682
740
  className: k(
@@ -697,7 +755,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
697
755
  ...o
698
756
  }
699
757
  );
700
- }, no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), oo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex items-center gap-0.5", e), ...t }), ro = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
758
+ }, ro = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), ao = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex items-center gap-0.5", e), ...t }), io = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
701
759
  const r = n ?? cn.count(o.children) > 1 ? "default" : "icon";
702
760
  return /* @__PURE__ */ i(
703
761
  ee,
@@ -716,7 +774,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
716
774
  ...o
717
775
  }
718
776
  );
719
- }, ao = ({
777
+ }, lo = ({
720
778
  className: e,
721
779
  variant: t = "default",
722
780
  size: n = "icon",
@@ -750,22 +808,22 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
750
808
  }
751
809
  );
752
810
  };
753
- function It({ delayDuration: e = 400, ...t }) {
811
+ function Rt({ delayDuration: e = 400, ...t }) {
754
812
  return /* @__PURE__ */ i(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
755
813
  }
756
- function Rt({ ...e }) {
757
- return /* @__PURE__ */ i(It, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
758
- }
759
814
  function Ot({ ...e }) {
815
+ return /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
816
+ }
817
+ function Lt({ ...e }) {
760
818
  return /* @__PURE__ */ i(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
761
819
  }
762
- function Lt({
820
+ function Ft({
763
821
  className: e,
764
822
  sideOffset: t = 0,
765
823
  children: n,
766
824
  ...o
767
825
  }) {
768
- return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ w(
826
+ return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ _(
769
827
  K.Content,
770
828
  {
771
829
  "data-slot": "tooltip-content",
@@ -783,7 +841,7 @@ function Lt({
783
841
  ) });
784
842
  }
785
843
  const be = 768;
786
- function io() {
844
+ function so() {
787
845
  const [e, t] = Ce.useState(void 0);
788
846
  return Ce.useEffect(() => {
789
847
  const n = window.matchMedia(`(max-width: ${be - 1}px)`), o = () => {
@@ -794,7 +852,7 @@ function io() {
794
852
  };
795
853
  }, []), !!e;
796
854
  }
797
- function lo({
855
+ function co({
798
856
  onSend: e,
799
857
  status: t,
800
858
  isLastMessageFinished: n,
@@ -803,66 +861,66 @@ function lo({
803
861
  conversationId: a,
804
862
  className: l
805
863
  }) {
806
- const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = B(""), [f, b] = B([]), m = io(), y = Ge(null), d = Ge(null);
864
+ const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, f] = B(""), [m, g] = B([]), b = so(), y = Ge(null), u = Ge(null);
807
865
  Q(() => {
808
- !m && a === "/" && y.current && y.current.focus();
809
- }, [a, m]);
810
- const v = oe((E) => {
866
+ !b && a === "/" && y.current && y.current.focus();
867
+ }, [a, b]);
868
+ const w = oe((E) => {
811
869
  if (E.target.files) {
812
- const I = Array.from(E.target.files), $ = s?.attachments?.maxSize;
813
- if ($ && I.filter((ne) => ne.size > $).length > 0) {
814
- Rn.error(c("file_too_large", { size: $ }));
870
+ const R = Array.from(E.target.files), $ = s?.attachments?.maxSize;
871
+ if ($ && R.filter((ne) => ne.size > $).length > 0) {
872
+ In.error(c("file_too_large", { size: $ }));
815
873
  return;
816
874
  }
817
- b((z) => [...z, ...I]);
875
+ g((z) => [...z, ...R]);
818
876
  }
819
877
  E.target.value = "";
820
- }, [s, c]), _ = oe((E) => {
821
- b((I) => I.filter(($, z) => z !== E));
822
- }, []), g = t === "streaming" && !n, R = (E) => {
823
- if (E.preventDefault(), !g && (p.trim() || f.length > 0)) {
824
- const I = new DataTransfer();
825
- f.forEach(($) => I.items.add($)), e(p, I.files), h(""), b([]);
878
+ }, [s, c]), v = oe((E) => {
879
+ g((R) => R.filter(($, z) => z !== E));
880
+ }, []), h = t === "streaming" && !n, C = (E) => {
881
+ if (E.preventDefault(), !h && (p.trim() || m.length > 0)) {
882
+ const R = new DataTransfer();
883
+ m.forEach(($) => R.items.add($)), e(p, R.files), f(""), g([]);
826
884
  }
827
885
  };
828
- return /* @__PURE__ */ i("div", { className: k("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(eo, { onSubmit: R, children: [
886
+ return /* @__PURE__ */ i("div", { className: k("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ _(no, { onSubmit: C, children: [
829
887
  /* @__PURE__ */ i(
830
888
  "input",
831
889
  {
832
890
  type: "file",
833
- ref: d,
834
- onChange: v,
891
+ ref: u,
892
+ onChange: w,
835
893
  multiple: !0,
836
894
  accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
837
895
  className: "hidden"
838
896
  }
839
897
  ),
840
- /* @__PURE__ */ w("div", { className: "flex flex-col flex-1 gap-2", children: [
841
- f.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: f.map((E, I) => /* @__PURE__ */ w("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
842
- E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Et, { className: "size-3.5 text-muted-foreground shrink-0" }),
898
+ /* @__PURE__ */ _("div", { className: "flex flex-col flex-1 gap-2", children: [
899
+ m.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: m.map((E, R) => /* @__PURE__ */ _("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
900
+ E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Nt, { className: "size-3.5 text-muted-foreground shrink-0" }),
843
901
  /* @__PURE__ */ i("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
844
- /* @__PURE__ */ i("button", { type: "button", onClick: () => _(I), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
845
- ] }, `${E.name}-${I}`)) }),
902
+ /* @__PURE__ */ i("button", { type: "button", onClick: () => v(R), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
903
+ ] }, `${E.name}-${R}`)) }),
846
904
  /* @__PURE__ */ i(
847
- to,
905
+ oo,
848
906
  {
849
907
  ref: y,
850
- onChange: (E) => h(E.target.value),
908
+ onChange: (E) => f(E.target.value),
851
909
  value: p,
852
- autoFocus: !m,
910
+ autoFocus: !b,
853
911
  placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
854
912
  }
855
913
  )
856
914
  ] }),
857
- /* @__PURE__ */ w(no, { children: [
858
- /* @__PURE__ */ i(oo, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Rt, { children: [
859
- /* @__PURE__ */ i(Ot, { asChild: !0, children: /* @__PURE__ */ i(ro, { variant: "ghost", onClick: () => d.current?.click(), disabled: g, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
860
- /* @__PURE__ */ i(Lt, { children: c("attach_file") })
915
+ /* @__PURE__ */ _(ro, { children: [
916
+ /* @__PURE__ */ i(ao, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ _(Ot, { children: [
917
+ /* @__PURE__ */ i(Lt, { asChild: !0, children: /* @__PURE__ */ i(io, { variant: "ghost", onClick: () => u.current?.click(), disabled: h, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
918
+ /* @__PURE__ */ i(Ft, { children: c("attach_file") })
861
919
  ] }) }),
862
920
  /* @__PURE__ */ i(
863
- ao,
921
+ lo,
864
922
  {
865
- disabled: t !== "streaming" && !p && f.length === 0,
923
+ disabled: t !== "streaming" && !p && m.length === 0,
866
924
  status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
867
925
  onClick: t === "streaming" && !n ? o : void 0
868
926
  }
@@ -870,7 +928,7 @@ function lo({
870
928
  ] })
871
929
  ] }) }) });
872
930
  }
873
- const so = ({
931
+ const uo = ({
874
932
  suggestion: e,
875
933
  onClick: t,
876
934
  className: n,
@@ -894,37 +952,52 @@ const so = ({
894
952
  children: a ?? e
895
953
  }
896
954
  );
897
- }, co = ({ onSuggestionClick: e, icons: t }) => {
898
- const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], l = a.map((h) => {
899
- const f = typeof h == "string" ? h : h.text;
900
- return n(f);
901
- }).filter((h) => h !== null && h !== ""), c = o.dir() === "rtl", s = r?.greeting ? n(r.greeting) ?? r.greeting : n("welcome.title"), p = r?.subtitle ? n(r.subtitle) : null;
902
- return /* @__PURE__ */ w(
955
+ }, po = (e) => [e, "currentUser"];
956
+ function ho(e = {}) {
957
+ const { app: t } = W(), n = t?.cacheNamespace || "gentiq", o = Rn({
958
+ queryKey: po(n),
959
+ queryFn: () => S.getMe(),
960
+ enabled: e.enabled ?? !0
961
+ }), r = o.data ?? null, a = r?.name.trim() || null;
962
+ return {
963
+ ...o,
964
+ user: r,
965
+ firstName: a
966
+ };
967
+ }
968
+ const go = ({ onSuggestionClick: e, icons: t }) => {
969
+ const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = typeof r?.greeting == "function", { user: l, firstName: c, isLoading: s } = ho({
970
+ enabled: a
971
+ }), p = r?.prompts ?? [], f = p.map((u) => {
972
+ const w = typeof u == "string" ? u : u.text;
973
+ return n(w);
974
+ }).filter((u) => u !== null && u !== ""), m = o.dir() === "rtl", g = r?.greeting, b = typeof g == "function" ? g({ user: l, firstName: c, isLoading: s, t: n }) : g ? n(g) ?? g : n("welcome.title"), y = r?.subtitle ? n(r.subtitle) : null;
975
+ return /* @__PURE__ */ _(
903
976
  "div",
904
977
  {
905
- dir: c ? "rtl" : "ltr",
978
+ dir: m ? "rtl" : "ltr",
906
979
  className: "flex flex-col items-center justify-center min-h-[60vh] text-center px-6 animate-in fade-in duration-700 ease-out",
907
980
  children: [
908
- r?.icon && /* @__PURE__ */ w("div", { className: "mb-8 relative flex items-center justify-center", children: [
981
+ r?.icon && /* @__PURE__ */ _("div", { className: "mb-8 relative flex items-center justify-center", children: [
909
982
  /* @__PURE__ */ i("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
910
983
  /* @__PURE__ */ i("div", { className: "relative size-12 md:size-16 rounded-xl bg-gradient-to-br from-surface to-secondary flex items-center justify-center border border-border/10 dark:border-border/5 shadow-xl shadow-black/10", children: typeof r.icon == "function" ? /* @__PURE__ */ i(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
911
984
  ] }),
912
- (s || p) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
913
- s && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
914
- p && /* @__PURE__ */ i("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: p })
985
+ (b || y) && /* @__PURE__ */ _("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
986
+ b && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: b }),
987
+ y && /* @__PURE__ */ i("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: y })
915
988
  ] }),
916
- l.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: l.map((h, f) => {
917
- const b = a[f], m = typeof b != "string" ? b.icon : null, y = t && t[f % t.length] ? t[f % t.length] : bn, d = m || y;
989
+ f.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: f.map((u, w) => {
990
+ const v = p[w], h = typeof v != "string" ? v.icon : null, C = t && t[w % t.length] ? t[w % t.length] : bn, E = h || C;
918
991
  return /* @__PURE__ */ i(
919
992
  "div",
920
993
  {
921
994
  className: "animate-in fade-in slide-in-from-bottom-3 duration-700 fill-mode-both",
922
- style: { animationDelay: `${f * 80}ms` },
923
- children: /* @__PURE__ */ w(
924
- so,
995
+ style: { animationDelay: `${w * 80}ms` },
996
+ children: /* @__PURE__ */ _(
997
+ uo,
925
998
  {
926
- onClick: () => e(h),
927
- suggestion: h,
999
+ onClick: () => e(u),
1000
+ suggestion: u,
928
1001
  variant: "ghost",
929
1002
  className: k(
930
1003
  "h-full py-4 px-5 justify-start text-start items-center whitespace-normal w-full",
@@ -934,25 +1007,25 @@ const so = ({
934
1007
  "hover:-translate-y-0.5 transition-[background-color,border-color,transform] duration-300 ease-out-quint"
935
1008
  ),
936
1009
  children: [
937
- /* @__PURE__ */ w("div", { className: "flex items-center gap-3 w-full text-start", children: [
938
- /* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(d, { className: "size-4" }) }),
939
- /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: h.length > 60 ? h.substring(0, 60) + "..." : h }) })
1010
+ /* @__PURE__ */ _("div", { className: "flex items-center gap-3 w-full text-start", children: [
1011
+ /* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(E, { className: "size-4" }) }),
1012
+ /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: u.length > 60 ? u.substring(0, 60) + "..." : u }) })
940
1013
  ] }),
941
1014
  /* @__PURE__ */ i("div", { className: k(
942
1015
  "absolute bottom-0 left-0 w-full h-[1.5px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform duration-500",
943
- c ? "origin-right" : "origin-left"
1016
+ m ? "origin-right" : "origin-left"
944
1017
  ) })
945
1018
  ]
946
1019
  }
947
1020
  )
948
1021
  },
949
- f
1022
+ w
950
1023
  );
951
1024
  }) })
952
1025
  ]
953
1026
  }
954
1027
  );
955
- }, Ft = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
1028
+ }, Dt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
956
1029
  "div",
957
1030
  {
958
1031
  className: k(
@@ -962,7 +1035,7 @@ const so = ({
962
1035
  ),
963
1036
  ...n
964
1037
  }
965
- ), Dt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
1038
+ ), Pt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
966
1039
  "div",
967
1040
  {
968
1041
  className: k(
@@ -986,7 +1059,7 @@ const so = ({
986
1059
  ...o,
987
1060
  children: e
988
1061
  }
989
- ), uo = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
1062
+ ), mo = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
990
1063
  "div",
991
1064
  {
992
1065
  className: k(
@@ -1007,7 +1080,7 @@ const so = ({
1007
1080
  size: a = "sm",
1008
1081
  ...l
1009
1082
  }) => {
1010
- const c = /* @__PURE__ */ w(
1083
+ const c = /* @__PURE__ */ _(
1011
1084
  ee,
1012
1085
  {
1013
1086
  className: k(
@@ -1028,9 +1101,9 @@ const so = ({
1028
1101
  ]
1029
1102
  }
1030
1103
  );
1031
- return e ? /* @__PURE__ */ i(It, { children: /* @__PURE__ */ w(Rt, { children: [
1032
- /* @__PURE__ */ i(Ot, { asChild: !0, children: c }),
1033
- /* @__PURE__ */ i(Lt, { children: /* @__PURE__ */ i("p", { children: e }) })
1104
+ return e ? /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ _(Ot, { children: [
1105
+ /* @__PURE__ */ i(Lt, { asChild: !0, children: c }),
1106
+ /* @__PURE__ */ i(Ft, { children: /* @__PURE__ */ i("p", { children: e }) })
1034
1107
  ] }) }) : c;
1035
1108
  };
1036
1109
  class le {
@@ -1051,7 +1124,7 @@ class le {
1051
1124
  le.prototype.normal = {};
1052
1125
  le.prototype.property = {};
1053
1126
  le.prototype.space = void 0;
1054
- function Pt(e, t) {
1127
+ function Mt(e, t) {
1055
1128
  const n = {}, o = {};
1056
1129
  for (const r of e)
1057
1130
  Object.assign(n, r.property), Object.assign(o, r.normal);
@@ -1085,18 +1158,18 @@ D.prototype.overloadedBoolean = !1;
1085
1158
  D.prototype.property = "";
1086
1159
  D.prototype.spaceSeparated = !1;
1087
1160
  D.prototype.space = void 0;
1088
- let po = 0;
1089
- const x = G(), A = G(), Ae = G(), u = G(), T = G(), Z = G(), P = G();
1161
+ let fo = 0;
1162
+ const x = G(), I = G(), Ae = G(), d = G(), T = G(), Z = G(), P = G();
1090
1163
  function G() {
1091
- return 2 ** ++po;
1164
+ return 2 ** ++fo;
1092
1165
  }
1093
1166
  const Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1094
1167
  __proto__: null,
1095
1168
  boolean: x,
1096
- booleanish: A,
1169
+ booleanish: I,
1097
1170
  commaOrSpaceSeparated: P,
1098
1171
  commaSeparated: Z,
1099
- number: u,
1172
+ number: d,
1100
1173
  overloadedBoolean: Ae,
1101
1174
  spaceSeparated: T
1102
1175
  }, Symbol.toStringTag, { value: "Module" })), ye = (
@@ -1143,55 +1216,55 @@ function te(e) {
1143
1216
  }
1144
1217
  return new le(t, n, e.space);
1145
1218
  }
1146
- const Mt = te({
1219
+ const zt = te({
1147
1220
  properties: {
1148
1221
  ariaActiveDescendant: null,
1149
- ariaAtomic: A,
1222
+ ariaAtomic: I,
1150
1223
  ariaAutoComplete: null,
1151
- ariaBusy: A,
1152
- ariaChecked: A,
1153
- ariaColCount: u,
1154
- ariaColIndex: u,
1155
- ariaColSpan: u,
1224
+ ariaBusy: I,
1225
+ ariaChecked: I,
1226
+ ariaColCount: d,
1227
+ ariaColIndex: d,
1228
+ ariaColSpan: d,
1156
1229
  ariaControls: T,
1157
1230
  ariaCurrent: null,
1158
1231
  ariaDescribedBy: T,
1159
1232
  ariaDetails: null,
1160
- ariaDisabled: A,
1233
+ ariaDisabled: I,
1161
1234
  ariaDropEffect: T,
1162
1235
  ariaErrorMessage: null,
1163
- ariaExpanded: A,
1236
+ ariaExpanded: I,
1164
1237
  ariaFlowTo: T,
1165
- ariaGrabbed: A,
1238
+ ariaGrabbed: I,
1166
1239
  ariaHasPopup: null,
1167
- ariaHidden: A,
1240
+ ariaHidden: I,
1168
1241
  ariaInvalid: null,
1169
1242
  ariaKeyShortcuts: null,
1170
1243
  ariaLabel: null,
1171
1244
  ariaLabelledBy: T,
1172
- ariaLevel: u,
1245
+ ariaLevel: d,
1173
1246
  ariaLive: null,
1174
- ariaModal: A,
1175
- ariaMultiLine: A,
1176
- ariaMultiSelectable: A,
1247
+ ariaModal: I,
1248
+ ariaMultiLine: I,
1249
+ ariaMultiSelectable: I,
1177
1250
  ariaOrientation: null,
1178
1251
  ariaOwns: T,
1179
1252
  ariaPlaceholder: null,
1180
- ariaPosInSet: u,
1181
- ariaPressed: A,
1182
- ariaReadOnly: A,
1253
+ ariaPosInSet: d,
1254
+ ariaPressed: I,
1255
+ ariaReadOnly: I,
1183
1256
  ariaRelevant: null,
1184
- ariaRequired: A,
1257
+ ariaRequired: I,
1185
1258
  ariaRoleDescription: T,
1186
- ariaRowCount: u,
1187
- ariaRowIndex: u,
1188
- ariaRowSpan: u,
1189
- ariaSelected: A,
1190
- ariaSetSize: u,
1259
+ ariaRowCount: d,
1260
+ ariaRowIndex: d,
1261
+ ariaRowSpan: d,
1262
+ ariaSelected: I,
1263
+ ariaSetSize: d,
1191
1264
  ariaSort: null,
1192
- ariaValueMax: u,
1193
- ariaValueMin: u,
1194
- ariaValueNow: u,
1265
+ ariaValueMax: d,
1266
+ ariaValueMin: d,
1267
+ ariaValueNow: d,
1195
1268
  ariaValueText: null,
1196
1269
  role: null
1197
1270
  },
@@ -1199,13 +1272,13 @@ const Mt = te({
1199
1272
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
1200
1273
  }
1201
1274
  });
1202
- function zt(e, t) {
1275
+ function Ut(e, t) {
1203
1276
  return t in e ? e[t] : t;
1204
1277
  }
1205
- function Ut(e, t) {
1206
- return zt(e, t.toLowerCase());
1278
+ function $t(e, t) {
1279
+ return Ut(e, t.toLowerCase());
1207
1280
  }
1208
- const ho = te({
1281
+ const bo = te({
1209
1282
  attributes: {
1210
1283
  acceptcharset: "accept-charset",
1211
1284
  classname: "class",
@@ -1237,13 +1310,13 @@ const ho = te({
1237
1310
  checked: x,
1238
1311
  cite: null,
1239
1312
  className: T,
1240
- cols: u,
1313
+ cols: d,
1241
1314
  colSpan: null,
1242
1315
  content: null,
1243
- contentEditable: A,
1316
+ contentEditable: I,
1244
1317
  controls: x,
1245
1318
  controlsList: T,
1246
- coords: u | Z,
1319
+ coords: d | Z,
1247
1320
  crossOrigin: null,
1248
1321
  data: null,
1249
1322
  dateTime: null,
@@ -1254,7 +1327,7 @@ const ho = te({
1254
1327
  dirName: null,
1255
1328
  disabled: x,
1256
1329
  download: Ae,
1257
- draggable: A,
1330
+ draggable: I,
1258
1331
  encType: null,
1259
1332
  enterKeyHint: null,
1260
1333
  fetchPriority: null,
@@ -1265,9 +1338,9 @@ const ho = te({
1265
1338
  formNoValidate: x,
1266
1339
  formTarget: null,
1267
1340
  headers: T,
1268
- height: u,
1341
+ height: d,
1269
1342
  hidden: Ae,
1270
- high: u,
1343
+ high: d,
1271
1344
  href: null,
1272
1345
  hrefLang: null,
1273
1346
  htmlFor: T,
@@ -1292,14 +1365,14 @@ const ho = te({
1292
1365
  list: null,
1293
1366
  loading: null,
1294
1367
  loop: x,
1295
- low: u,
1368
+ low: d,
1296
1369
  manifest: null,
1297
1370
  max: null,
1298
- maxLength: u,
1371
+ maxLength: d,
1299
1372
  media: null,
1300
1373
  method: null,
1301
1374
  min: null,
1302
- minLength: u,
1375
+ minLength: d,
1303
1376
  multiple: x,
1304
1377
  muted: x,
1305
1378
  name: null,
@@ -1395,7 +1468,7 @@ const ho = te({
1395
1468
  onWaiting: null,
1396
1469
  onWheel: null,
1397
1470
  open: x,
1398
- optimum: u,
1471
+ optimum: d,
1399
1472
  pattern: null,
1400
1473
  ping: T,
1401
1474
  placeholder: null,
@@ -1410,8 +1483,8 @@ const ho = te({
1410
1483
  rel: T,
1411
1484
  required: x,
1412
1485
  reversed: x,
1413
- rows: u,
1414
- rowSpan: u,
1486
+ rows: d,
1487
+ rowSpan: d,
1415
1488
  sandbox: T,
1416
1489
  scope: null,
1417
1490
  scoped: x,
@@ -1421,27 +1494,27 @@ const ho = te({
1421
1494
  shadowRootDelegatesFocus: x,
1422
1495
  shadowRootMode: null,
1423
1496
  shape: null,
1424
- size: u,
1497
+ size: d,
1425
1498
  sizes: null,
1426
1499
  slot: null,
1427
- span: u,
1428
- spellCheck: A,
1500
+ span: d,
1501
+ spellCheck: I,
1429
1502
  src: null,
1430
1503
  srcDoc: null,
1431
1504
  srcLang: null,
1432
1505
  srcSet: null,
1433
- start: u,
1506
+ start: d,
1434
1507
  step: null,
1435
1508
  style: null,
1436
- tabIndex: u,
1509
+ tabIndex: d,
1437
1510
  target: null,
1438
1511
  title: null,
1439
1512
  translate: null,
1440
1513
  type: null,
1441
1514
  typeMustMatch: x,
1442
1515
  useMap: null,
1443
- value: A,
1444
- width: u,
1516
+ value: I,
1517
+ width: d,
1445
1518
  wrap: null,
1446
1519
  writingSuggestions: null,
1447
1520
  // Legacy.
@@ -1458,11 +1531,11 @@ const ho = te({
1458
1531
  // `<body>`. Use CSS `background-image` instead
1459
1532
  bgColor: null,
1460
1533
  // `<body>` and table elements. Use CSS `background-color` instead
1461
- border: u,
1534
+ border: d,
1462
1535
  // `<table>`. Use CSS `border-width` instead,
1463
1536
  borderColor: null,
1464
1537
  // `<table>`. Use CSS `border-color` instead,
1465
- bottomMargin: u,
1538
+ bottomMargin: d,
1466
1539
  // `<body>`
1467
1540
  cellPadding: null,
1468
1541
  // `<table>`
@@ -1496,9 +1569,9 @@ const ho = te({
1496
1569
  // `<table>`
1497
1570
  frameBorder: null,
1498
1571
  // `<iframe>`. Use CSS `border` instead
1499
- hSpace: u,
1572
+ hSpace: d,
1500
1573
  // `<img>` and `<object>`
1501
- leftMargin: u,
1574
+ leftMargin: d,
1502
1575
  // `<body>`
1503
1576
  link: null,
1504
1577
  // `<body>`. Use CSS `a:link {color: *}` instead
@@ -1506,9 +1579,9 @@ const ho = te({
1506
1579
  // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
1507
1580
  lowSrc: null,
1508
1581
  // `<img>`. Use a `<picture>`
1509
- marginHeight: u,
1582
+ marginHeight: d,
1510
1583
  // `<body>`
1511
- marginWidth: u,
1584
+ marginWidth: d,
1512
1585
  // `<body>`
1513
1586
  noResize: x,
1514
1587
  // `<frame>`
@@ -1526,13 +1599,13 @@ const ho = te({
1526
1599
  // `<isindex>`
1527
1600
  rev: null,
1528
1601
  // `<link>`
1529
- rightMargin: u,
1602
+ rightMargin: d,
1530
1603
  // `<body>`
1531
1604
  rules: null,
1532
1605
  // `<table>`
1533
1606
  scheme: null,
1534
1607
  // `<meta>`
1535
- scrolling: A,
1608
+ scrolling: I,
1536
1609
  // `<frame>`. Use overflow in the child context
1537
1610
  standby: null,
1538
1611
  // `<object>`
@@ -1540,7 +1613,7 @@ const ho = te({
1540
1613
  // `<table>`
1541
1614
  text: null,
1542
1615
  // `<body>`. Use CSS `color` instead
1543
- topMargin: u,
1616
+ topMargin: d,
1544
1617
  // `<body>`
1545
1618
  valueType: null,
1546
1619
  // `<param>`
@@ -1550,7 +1623,7 @@ const ho = te({
1550
1623
  // Several. Use CSS `vertical-align` instead
1551
1624
  vLink: null,
1552
1625
  // `<body>`. Use CSS `a:visited {color}` instead
1553
- vSpace: u,
1626
+ vSpace: d,
1554
1627
  // `<img>` and `<object>`
1555
1628
  // Non-standard Properties.
1556
1629
  allowTransparency: null,
@@ -1560,13 +1633,13 @@ const ho = te({
1560
1633
  disableRemotePlayback: x,
1561
1634
  prefix: null,
1562
1635
  property: null,
1563
- results: u,
1636
+ results: d,
1564
1637
  security: null,
1565
1638
  unselectable: null
1566
1639
  },
1567
1640
  space: "html",
1568
- transform: Ut
1569
- }), go = te({
1641
+ transform: $t
1642
+ }), yo = te({
1570
1643
  attributes: {
1571
1644
  accentHeight: "accent-height",
1572
1645
  alignmentBaseline: "alignment-baseline",
@@ -1744,27 +1817,27 @@ const ho = te({
1744
1817
  },
1745
1818
  properties: {
1746
1819
  about: P,
1747
- accentHeight: u,
1820
+ accentHeight: d,
1748
1821
  accumulate: null,
1749
1822
  additive: null,
1750
1823
  alignmentBaseline: null,
1751
- alphabetic: u,
1752
- amplitude: u,
1824
+ alphabetic: d,
1825
+ amplitude: d,
1753
1826
  arabicForm: null,
1754
- ascent: u,
1827
+ ascent: d,
1755
1828
  attributeName: null,
1756
1829
  attributeType: null,
1757
- azimuth: u,
1830
+ azimuth: d,
1758
1831
  bandwidth: null,
1759
1832
  baselineShift: null,
1760
1833
  baseFrequency: null,
1761
1834
  baseProfile: null,
1762
1835
  bbox: null,
1763
1836
  begin: null,
1764
- bias: u,
1837
+ bias: d,
1765
1838
  by: null,
1766
1839
  calcMode: null,
1767
- capHeight: u,
1840
+ capHeight: d,
1768
1841
  className: T,
1769
1842
  clip: null,
1770
1843
  clipPath: null,
@@ -1785,26 +1858,26 @@ const ho = te({
1785
1858
  d: null,
1786
1859
  dataType: null,
1787
1860
  defaultAction: null,
1788
- descent: u,
1789
- diffuseConstant: u,
1861
+ descent: d,
1862
+ diffuseConstant: d,
1790
1863
  direction: null,
1791
1864
  display: null,
1792
1865
  dur: null,
1793
- divisor: u,
1866
+ divisor: d,
1794
1867
  dominantBaseline: null,
1795
1868
  download: x,
1796
1869
  dx: null,
1797
1870
  dy: null,
1798
1871
  edgeMode: null,
1799
1872
  editable: null,
1800
- elevation: u,
1873
+ elevation: d,
1801
1874
  enableBackground: null,
1802
1875
  end: null,
1803
1876
  event: null,
1804
- exponent: u,
1877
+ exponent: d,
1805
1878
  externalResourcesRequired: null,
1806
1879
  fill: null,
1807
- fillOpacity: u,
1880
+ fillOpacity: d,
1808
1881
  fillRule: null,
1809
1882
  filter: null,
1810
1883
  filterRes: null,
@@ -1834,27 +1907,27 @@ const ho = te({
1834
1907
  gradientTransform: null,
1835
1908
  gradientUnits: null,
1836
1909
  handler: null,
1837
- hanging: u,
1910
+ hanging: d,
1838
1911
  hatchContentUnits: null,
1839
1912
  hatchUnits: null,
1840
1913
  height: null,
1841
1914
  href: null,
1842
1915
  hrefLang: null,
1843
- horizAdvX: u,
1844
- horizOriginX: u,
1845
- horizOriginY: u,
1916
+ horizAdvX: d,
1917
+ horizOriginX: d,
1918
+ horizOriginY: d,
1846
1919
  id: null,
1847
- ideographic: u,
1920
+ ideographic: d,
1848
1921
  imageRendering: null,
1849
1922
  initialVisibility: null,
1850
1923
  in: null,
1851
1924
  in2: null,
1852
- intercept: u,
1853
- k: u,
1854
- k1: u,
1855
- k2: u,
1856
- k3: u,
1857
- k4: u,
1925
+ intercept: d,
1926
+ k: d,
1927
+ k1: d,
1928
+ k2: d,
1929
+ k3: d,
1930
+ k4: d,
1858
1931
  kernelMatrix: P,
1859
1932
  kernelUnitLength: null,
1860
1933
  keyPoints: null,
@@ -1868,7 +1941,7 @@ const ho = te({
1868
1941
  lengthAdjust: null,
1869
1942
  letterSpacing: null,
1870
1943
  lightingColor: null,
1871
- limitingConeAngle: u,
1944
+ limitingConeAngle: d,
1872
1945
  local: null,
1873
1946
  markerEnd: null,
1874
1947
  markerMid: null,
@@ -1884,7 +1957,7 @@ const ho = te({
1884
1957
  media: null,
1885
1958
  mediaCharacterEncoding: null,
1886
1959
  mediaContentEncodings: null,
1887
- mediaSize: u,
1960
+ mediaSize: d,
1888
1961
  mediaTime: null,
1889
1962
  method: null,
1890
1963
  min: null,
@@ -1990,12 +2063,12 @@ const ho = te({
1990
2063
  origin: null,
1991
2064
  overflow: null,
1992
2065
  overlay: null,
1993
- overlinePosition: u,
1994
- overlineThickness: u,
2066
+ overlinePosition: d,
2067
+ overlineThickness: d,
1995
2068
  paintOrder: null,
1996
2069
  panose1: null,
1997
2070
  path: null,
1998
- pathLength: u,
2071
+ pathLength: d,
1999
2072
  patternContentUnits: null,
2000
2073
  patternTransform: null,
2001
2074
  patternUnits: null,
@@ -2005,9 +2078,9 @@ const ho = te({
2005
2078
  playbackOrder: null,
2006
2079
  pointerEvents: null,
2007
2080
  points: null,
2008
- pointsAtX: u,
2009
- pointsAtY: u,
2010
- pointsAtZ: u,
2081
+ pointsAtX: d,
2082
+ pointsAtY: d,
2083
+ pointsAtZ: d,
2011
2084
  preserveAlpha: null,
2012
2085
  preserveAspectRatio: null,
2013
2086
  primitiveUnits: null,
@@ -2039,8 +2112,8 @@ const ho = te({
2039
2112
  side: null,
2040
2113
  slope: null,
2041
2114
  snapshotTime: null,
2042
- specularConstant: u,
2043
- specularExponent: u,
2115
+ specularConstant: d,
2116
+ specularExponent: d,
2044
2117
  spreadMethod: null,
2045
2118
  spacing: null,
2046
2119
  startOffset: null,
@@ -2050,30 +2123,30 @@ const ho = te({
2050
2123
  stitchTiles: null,
2051
2124
  stopColor: null,
2052
2125
  stopOpacity: null,
2053
- strikethroughPosition: u,
2054
- strikethroughThickness: u,
2126
+ strikethroughPosition: d,
2127
+ strikethroughThickness: d,
2055
2128
  string: null,
2056
2129
  stroke: null,
2057
2130
  strokeDashArray: P,
2058
2131
  strokeDashOffset: null,
2059
2132
  strokeLineCap: null,
2060
2133
  strokeLineJoin: null,
2061
- strokeMiterLimit: u,
2062
- strokeOpacity: u,
2134
+ strokeMiterLimit: d,
2135
+ strokeOpacity: d,
2063
2136
  strokeWidth: null,
2064
2137
  style: null,
2065
- surfaceScale: u,
2138
+ surfaceScale: d,
2066
2139
  syncBehavior: null,
2067
2140
  syncBehaviorDefault: null,
2068
2141
  syncMaster: null,
2069
2142
  syncTolerance: null,
2070
2143
  syncToleranceDefault: null,
2071
2144
  systemLanguage: P,
2072
- tabIndex: u,
2145
+ tabIndex: d,
2073
2146
  tableValues: null,
2074
2147
  target: null,
2075
- targetX: u,
2076
- targetY: u,
2148
+ targetX: d,
2149
+ targetY: d,
2077
2150
  textAnchor: null,
2078
2151
  textDecoration: null,
2079
2152
  textRendering: null,
@@ -2088,22 +2161,22 @@ const ho = te({
2088
2161
  transformOrigin: null,
2089
2162
  u1: null,
2090
2163
  u2: null,
2091
- underlinePosition: u,
2092
- underlineThickness: u,
2164
+ underlinePosition: d,
2165
+ underlineThickness: d,
2093
2166
  unicode: null,
2094
2167
  unicodeBidi: null,
2095
2168
  unicodeRange: null,
2096
- unitsPerEm: u,
2169
+ unitsPerEm: d,
2097
2170
  values: null,
2098
- vAlphabetic: u,
2099
- vMathematical: u,
2171
+ vAlphabetic: d,
2172
+ vMathematical: d,
2100
2173
  vectorEffect: null,
2101
- vHanging: u,
2102
- vIdeographic: u,
2174
+ vHanging: d,
2175
+ vIdeographic: d,
2103
2176
  version: null,
2104
- vertAdvY: u,
2105
- vertOriginX: u,
2106
- vertOriginY: u,
2177
+ vertAdvY: d,
2178
+ vertOriginX: d,
2179
+ vertOriginY: d,
2107
2180
  viewBox: null,
2108
2181
  viewTarget: null,
2109
2182
  visibility: null,
@@ -2115,7 +2188,7 @@ const ho = te({
2115
2188
  x1: null,
2116
2189
  x2: null,
2117
2190
  xChannelSelector: null,
2118
- xHeight: u,
2191
+ xHeight: d,
2119
2192
  y: null,
2120
2193
  y1: null,
2121
2194
  y2: null,
@@ -2124,8 +2197,8 @@ const ho = te({
2124
2197
  zoomAndPan: null
2125
2198
  },
2126
2199
  space: "svg",
2127
- transform: zt
2128
- }), $t = te({
2200
+ transform: Ut
2201
+ }), Bt = te({
2129
2202
  properties: {
2130
2203
  xLinkActuate: null,
2131
2204
  xLinkArcRole: null,
@@ -2139,31 +2212,31 @@ const ho = te({
2139
2212
  transform(e, t) {
2140
2213
  return "xlink:" + t.slice(5).toLowerCase();
2141
2214
  }
2142
- }), Bt = te({
2215
+ }), Ht = te({
2143
2216
  attributes: { xmlnsxlink: "xmlns:xlink" },
2144
2217
  properties: { xmlnsXLink: null, xmlns: null },
2145
2218
  space: "xmlns",
2146
- transform: Ut
2147
- }), Ht = te({
2219
+ transform: $t
2220
+ }), qt = te({
2148
2221
  properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
2149
2222
  space: "xml",
2150
2223
  transform(e, t) {
2151
2224
  return "xml:" + t.slice(3).toLowerCase();
2152
2225
  }
2153
- }), mo = /[A-Z]/g, Ze = /-[a-z]/g, fo = /^data[-\w.:]+$/i;
2154
- function bo(e, t) {
2226
+ }), ko = /[A-Z]/g, Ze = /-[a-z]/g, vo = /^data[-\w.:]+$/i;
2227
+ function wo(e, t) {
2155
2228
  const n = ae(t);
2156
2229
  let o = t, r = D;
2157
2230
  if (n in e.normal)
2158
2231
  return e.property[e.normal[n]];
2159
- if (n.length > 4 && n.slice(0, 4) === "data" && fo.test(t)) {
2232
+ if (n.length > 4 && n.slice(0, 4) === "data" && vo.test(t)) {
2160
2233
  if (t.charAt(4) === "-") {
2161
- const a = t.slice(5).replace(Ze, ko);
2234
+ const a = t.slice(5).replace(Ze, xo);
2162
2235
  o = "data" + a.charAt(0).toUpperCase() + a.slice(1);
2163
2236
  } else {
2164
2237
  const a = t.slice(4);
2165
2238
  if (!Ze.test(a)) {
2166
- let l = a.replace(mo, yo);
2239
+ let l = a.replace(ko, _o);
2167
2240
  l.charAt(0) !== "-" && (l = "-" + l), t = "data" + l;
2168
2241
  }
2169
2242
  }
@@ -2171,13 +2244,13 @@ function bo(e, t) {
2171
2244
  }
2172
2245
  return new r(o, t);
2173
2246
  }
2174
- function yo(e) {
2247
+ function _o(e) {
2175
2248
  return "-" + e.toLowerCase();
2176
2249
  }
2177
- function ko(e) {
2250
+ function xo(e) {
2178
2251
  return e.charAt(1).toUpperCase();
2179
2252
  }
2180
- const vo = Pt([Mt, ho, $t, Bt, Ht], "html"), wo = Pt([Mt, go, $t, Bt, Ht], "svg");
2253
+ const So = Mt([zt, bo, Bt, Ht, qt], "html"), Eo = Mt([zt, yo, Bt, Ht, qt], "svg");
2181
2254
  function Je(e) {
2182
2255
  const t = [], n = String(e || "");
2183
2256
  let o = n.indexOf(","), r = 0, a = !1;
@@ -2189,7 +2262,7 @@ function Je(e) {
2189
2262
  return t;
2190
2263
  }
2191
2264
  const Qe = /[#.]/g;
2192
- function _o(e, t) {
2265
+ function No(e, t) {
2193
2266
  const n = e || "", o = {};
2194
2267
  let r = 0, a, l;
2195
2268
  for (; r < n.length; ) {
@@ -2209,8 +2282,8 @@ function et(e) {
2209
2282
  const t = String(e || "").trim();
2210
2283
  return t ? t.split(/[ \t\n\r\f]+/g) : [];
2211
2284
  }
2212
- function qt(e, t, n) {
2213
- const o = n ? No(n) : void 0;
2285
+ function jt(e, t, n) {
2286
+ const o = n ? Io(n) : void 0;
2214
2287
  function r(a, l, ...c) {
2215
2288
  let s;
2216
2289
  if (a == null) {
@@ -2221,13 +2294,13 @@ function qt(e, t, n) {
2221
2294
  );
2222
2295
  c.unshift(p);
2223
2296
  } else {
2224
- s = _o(a, t);
2225
- const p = s.tagName.toLowerCase(), h = o ? o.get(p) : void 0;
2226
- if (s.tagName = h || p, xo(l))
2297
+ s = No(a, t);
2298
+ const p = s.tagName.toLowerCase(), f = o ? o.get(p) : void 0;
2299
+ if (s.tagName = f || p, To(l))
2227
2300
  c.unshift(l);
2228
2301
  else
2229
- for (const [f, b] of Object.entries(l))
2230
- So(e, s.properties, f, b);
2302
+ for (const [m, g] of Object.entries(l))
2303
+ Co(e, s.properties, m, g);
2231
2304
  }
2232
2305
  for (const p of c)
2233
2306
  Re(s.children, p);
@@ -2235,7 +2308,7 @@ function qt(e, t, n) {
2235
2308
  }
2236
2309
  return r;
2237
2310
  }
2238
- function xo(e) {
2311
+ function To(e) {
2239
2312
  if (e === null || typeof e != "object" || Array.isArray(e))
2240
2313
  return !0;
2241
2314
  if (typeof e.type != "string") return !1;
@@ -2258,14 +2331,14 @@ function xo(e) {
2258
2331
  }
2259
2332
  return !!("children" in e && Array.isArray(e.children));
2260
2333
  }
2261
- function So(e, t, n, o) {
2262
- const r = bo(e, n);
2334
+ function Co(e, t, n, o) {
2335
+ const r = wo(e, n);
2263
2336
  let a;
2264
2337
  if (o != null) {
2265
2338
  if (typeof o == "number") {
2266
2339
  if (Number.isNaN(o)) return;
2267
2340
  a = o;
2268
- } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? Eo(o) : String(o);
2341
+ } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? Ao(o) : String(o);
2269
2342
  if (Array.isArray(a)) {
2270
2343
  const l = [];
2271
2344
  for (const c of a)
@@ -2301,19 +2374,19 @@ function tt(e, t, n) {
2301
2374
  }
2302
2375
  return n;
2303
2376
  }
2304
- function Eo(e) {
2377
+ function Ao(e) {
2305
2378
  const t = [];
2306
2379
  for (const [n, o] of Object.entries(e))
2307
2380
  t.push([n, o].join(": "));
2308
2381
  return t.join("; ");
2309
2382
  }
2310
- function No(e) {
2383
+ function Io(e) {
2311
2384
  const t = /* @__PURE__ */ new Map();
2312
2385
  for (const n of e)
2313
2386
  t.set(n.toLowerCase(), n);
2314
2387
  return t;
2315
2388
  }
2316
- const To = [
2389
+ const Ro = [
2317
2390
  "altGlyph",
2318
2391
  "altGlyphDef",
2319
2392
  "altGlyphItem",
@@ -2353,28 +2426,28 @@ const To = [
2353
2426
  "solidColor",
2354
2427
  "textArea",
2355
2428
  "textPath"
2356
- ], Co = qt(vo, "div"), Ao = qt(wo, "g", To), ke = {
2429
+ ], Oo = jt(So, "div"), Lo = jt(Eo, "g", Ro), ke = {
2357
2430
  html: "http://www.w3.org/1999/xhtml",
2358
2431
  svg: "http://www.w3.org/2000/svg"
2359
2432
  };
2360
- function Io(e, t) {
2361
- return jt(e, {}) || { type: "root", children: [] };
2433
+ function Fo(e, t) {
2434
+ return Gt(e, {}) || { type: "root", children: [] };
2362
2435
  }
2363
- function jt(e, t) {
2364
- const n = Ro(e, t);
2436
+ function Gt(e, t) {
2437
+ const n = Do(e, t);
2365
2438
  return n && t.afterTransform && t.afterTransform(e, n), n;
2366
2439
  }
2367
- function Ro(e, t) {
2440
+ function Do(e, t) {
2368
2441
  switch (e.nodeType) {
2369
2442
  case 1:
2370
- return Do(
2443
+ return Uo(
2371
2444
  /** @type {Element} */
2372
2445
  e,
2373
2446
  t
2374
2447
  );
2375
2448
  // Ignore: Attr (2).
2376
2449
  case 3:
2377
- return Lo(
2450
+ return Mo(
2378
2451
  /** @type {Text} */
2379
2452
  e
2380
2453
  );
@@ -2383,7 +2456,7 @@ function Ro(e, t) {
2383
2456
  // Removed: Entity (6)
2384
2457
  // Ignore: Processing instruction (7).
2385
2458
  case 8:
2386
- return Fo(
2459
+ return zo(
2387
2460
  /** @type {Comment} */
2388
2461
  e
2389
2462
  );
@@ -2394,7 +2467,7 @@ function Ro(e, t) {
2394
2467
  t
2395
2468
  );
2396
2469
  case 10:
2397
- return Oo();
2470
+ return Po();
2398
2471
  case 11:
2399
2472
  return nt(
2400
2473
  /** @type {DocumentFragment} */
@@ -2406,45 +2479,45 @@ function Ro(e, t) {
2406
2479
  }
2407
2480
  }
2408
2481
  function nt(e, t) {
2409
- return { type: "root", children: Gt(e, t) };
2482
+ return { type: "root", children: Vt(e, t) };
2410
2483
  }
2411
- function Oo() {
2484
+ function Po() {
2412
2485
  return { type: "doctype" };
2413
2486
  }
2414
- function Lo(e) {
2487
+ function Mo(e) {
2415
2488
  return { type: "text", value: e.nodeValue || "" };
2416
2489
  }
2417
- function Fo(e) {
2490
+ function zo(e) {
2418
2491
  return { type: "comment", value: e.nodeValue || "" };
2419
2492
  }
2420
- function Do(e, t) {
2421
- const n = e.namespaceURI, o = n === ke.svg ? Ao : Co, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2493
+ function Uo(e, t) {
2494
+ const n = e.namespaceURI, o = n === ke.svg ? Lo : Oo, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2422
2495
  // @ts-expect-error: DOM types are wrong, content can exist.
2423
2496
  n === ke.html && r === "template" ? e.content : e
2424
2497
  ), l = e.getAttributeNames(), c = {};
2425
2498
  let s = -1;
2426
2499
  for (; ++s < l.length; )
2427
2500
  c[l[s]] = e.getAttribute(l[s]) || "";
2428
- return o(r, c, Gt(a, t));
2501
+ return o(r, c, Vt(a, t));
2429
2502
  }
2430
- function Gt(e, t) {
2503
+ function Vt(e, t) {
2431
2504
  const n = e.childNodes, o = [];
2432
2505
  let r = -1;
2433
2506
  for (; ++r < n.length; ) {
2434
- const a = jt(n[r], t);
2507
+ const a = Gt(n[r], t);
2435
2508
  a !== void 0 && o.push(a);
2436
2509
  }
2437
2510
  return o;
2438
2511
  }
2439
2512
  new DOMParser();
2440
- function Po(e, t) {
2441
- const n = Mo(e);
2513
+ function $o(e, t) {
2514
+ const n = Bo(e);
2442
2515
  return (
2443
2516
  /** @type {Root} */
2444
- Io(n)
2517
+ Fo(n)
2445
2518
  );
2446
2519
  }
2447
- function Mo(e) {
2520
+ function Bo(e) {
2448
2521
  const t = document.createElement("template");
2449
2522
  return t.innerHTML = e, t.content;
2450
2523
  }
@@ -2465,24 +2538,24 @@ const He = (
2465
2538
  */
2466
2539
  (function(e) {
2467
2540
  if (e == null)
2468
- return Bo;
2541
+ return Go;
2469
2542
  if (typeof e == "function")
2470
2543
  return me(e);
2471
2544
  if (typeof e == "object")
2472
- return Array.isArray(e) ? zo(e) : (
2545
+ return Array.isArray(e) ? Ho(e) : (
2473
2546
  // Cast because `ReadonlyArray` goes into the above but `isArray`
2474
2547
  // narrows to `Array`.
2475
- Uo(
2548
+ qo(
2476
2549
  /** @type {Props} */
2477
2550
  e
2478
2551
  )
2479
2552
  );
2480
2553
  if (typeof e == "string")
2481
- return $o(e);
2554
+ return jo(e);
2482
2555
  throw new Error("Expected function, string, or object as test");
2483
2556
  })
2484
2557
  );
2485
- function zo(e) {
2558
+ function Ho(e) {
2486
2559
  const t = [];
2487
2560
  let n = -1;
2488
2561
  for (; ++n < e.length; )
@@ -2495,7 +2568,7 @@ function zo(e) {
2495
2568
  return !1;
2496
2569
  }
2497
2570
  }
2498
- function Uo(e) {
2571
+ function qo(e) {
2499
2572
  const t = (
2500
2573
  /** @type {Record<string, unknown>} */
2501
2574
  e
@@ -2513,7 +2586,7 @@ function Uo(e) {
2513
2586
  return !0;
2514
2587
  }
2515
2588
  }
2516
- function $o(e) {
2589
+ function jo(e) {
2517
2590
  return me(t);
2518
2591
  function t(n) {
2519
2592
  return n && n.type === e;
@@ -2522,7 +2595,7 @@ function $o(e) {
2522
2595
  function me(e) {
2523
2596
  return t;
2524
2597
  function t(n, o, r) {
2525
- return !!(Ho(n) && e.call(
2598
+ return !!(Vo(n) && e.call(
2526
2599
  this,
2527
2600
  n,
2528
2601
  typeof o == "number" ? o : void 0,
@@ -2530,10 +2603,10 @@ function me(e) {
2530
2603
  ));
2531
2604
  }
2532
2605
  }
2533
- function Bo() {
2606
+ function Go() {
2534
2607
  return !0;
2535
2608
  }
2536
- function Ho(e) {
2609
+ function Vo(e) {
2537
2610
  return e !== null && typeof e == "object" && "type" in e;
2538
2611
  }
2539
2612
  const ot = (
@@ -2579,17 +2652,17 @@ const ot = (
2579
2652
  */
2580
2653
  (function(e) {
2581
2654
  if (e == null)
2582
- return Go;
2655
+ return Xo;
2583
2656
  if (typeof e == "string")
2584
- return jo(e);
2657
+ return Yo(e);
2585
2658
  if (typeof e == "object")
2586
- return qo(e);
2659
+ return Wo(e);
2587
2660
  if (typeof e == "function")
2588
2661
  return qe(e);
2589
2662
  throw new Error("Expected function, string, or array as `test`");
2590
2663
  })
2591
2664
  );
2592
- function qo(e) {
2665
+ function Wo(e) {
2593
2666
  const t = [];
2594
2667
  let n = -1;
2595
2668
  for (; ++n < e.length; )
@@ -2602,7 +2675,7 @@ function qo(e) {
2602
2675
  return !1;
2603
2676
  }
2604
2677
  }
2605
- function jo(e) {
2678
+ function Yo(e) {
2606
2679
  return qe(t);
2607
2680
  function t(n) {
2608
2681
  return n.tagName === e;
@@ -2611,7 +2684,7 @@ function jo(e) {
2611
2684
  function qe(e) {
2612
2685
  return t;
2613
2686
  function t(n, o, r) {
2614
- return !!(Vo(n) && e.call(
2687
+ return !!(Ko(n) && e.call(
2615
2688
  this,
2616
2689
  n,
2617
2690
  typeof o == "number" ? o : void 0,
@@ -2619,13 +2692,13 @@ function qe(e) {
2619
2692
  ));
2620
2693
  }
2621
2694
  }
2622
- function Go(e) {
2695
+ function Xo(e) {
2623
2696
  return !!(e && typeof e == "object" && "type" in e && e.type === "element" && "tagName" in e && typeof e.tagName == "string");
2624
2697
  }
2625
- function Vo(e) {
2698
+ function Ko(e) {
2626
2699
  return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
2627
2700
  }
2628
- const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V("tr"), Yo = V([
2701
+ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(rr), Zo = V("p"), lt = V("tr"), Jo = V([
2629
2702
  // List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
2630
2703
  "datalist",
2631
2704
  "head",
@@ -2639,10 +2712,10 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V(
2639
2712
  "template",
2640
2713
  "title",
2641
2714
  // Hidden attribute.
2642
- Qo,
2715
+ or,
2643
2716
  // From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
2644
- tr
2645
- ]), Vt = V([
2717
+ ar
2718
+ ]), Wt = V([
2646
2719
  "address",
2647
2720
  // Flow content
2648
2721
  "article",
@@ -2724,12 +2797,12 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V(
2724
2797
  "xmp"
2725
2798
  // Flow content (legacy)
2726
2799
  ]);
2727
- function Xo(e, t) {
2728
- const n = t || {}, o = "children" in e ? e.children : [], r = Vt(e), a = Xt(e, {
2800
+ function Qo(e, t) {
2801
+ const n = t || {}, o = "children" in e ? e.children : [], r = Wt(e), a = Kt(e, {
2729
2802
  whitespace: n.whitespace || "normal"
2730
2803
  }), l = [];
2731
2804
  (e.type === "text" || e.type === "comment") && l.push(
2732
- ...Yt(e, {
2805
+ ...Xt(e, {
2733
2806
  breakBefore: !0,
2734
2807
  breakAfter: !0
2735
2808
  })
@@ -2737,7 +2810,7 @@ function Xo(e, t) {
2737
2810
  let c = -1;
2738
2811
  for (; ++c < o.length; )
2739
2812
  l.push(
2740
- ...Wt(
2813
+ ...Yt(
2741
2814
  o[c],
2742
2815
  // @ts-expect-error: `tree` is a parent if we’re here.
2743
2816
  e,
@@ -2751,26 +2824,26 @@ function Xo(e, t) {
2751
2824
  const s = [];
2752
2825
  let p;
2753
2826
  for (c = -1; ++c < l.length; ) {
2754
- const h = l[c];
2755
- typeof h == "number" ? p !== void 0 && h > p && (p = h) : h && (p !== void 0 && p > -1 && s.push(`
2756
- `.repeat(p) || " "), p = -1, s.push(h));
2827
+ const f = l[c];
2828
+ typeof f == "number" ? p !== void 0 && f > p && (p = f) : f && (p !== void 0 && p > -1 && s.push(`
2829
+ `.repeat(p) || " "), p = -1, s.push(f));
2757
2830
  }
2758
2831
  return s.join("");
2759
2832
  }
2760
- function Wt(e, t, n) {
2761
- return e.type === "element" ? Ko(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Yt(e, n) : Zo(e) : [];
2833
+ function Yt(e, t, n) {
2834
+ return e.type === "element" ? er(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Xt(e, n) : tr(e) : [];
2762
2835
  }
2763
- function Ko(e, t, n) {
2764
- const o = Xt(e, n), r = e.children || [];
2836
+ function er(e, t, n) {
2837
+ const o = Kt(e, n), r = e.children || [];
2765
2838
  let a = -1, l = [];
2766
- if (Yo(e))
2839
+ if (Jo(e))
2767
2840
  return l;
2768
2841
  let c, s;
2769
2842
  for (Oe(e) || lt(e) && // @ts-expect-error: something up with types of parents.
2770
2843
  ot(t, e, lt) ? s = `
2771
- ` : Wo(e) ? (c = 2, s = 2) : Vt(e) && (c = 1, s = 1); ++a < r.length; )
2844
+ ` : Zo(e) ? (c = 2, s = 2) : Wt(e) && (c = 1, s = 1); ++a < r.length; )
2772
2845
  l = l.concat(
2773
- Wt(r[a], e, {
2846
+ Yt(r[a], e, {
2774
2847
  whitespace: o,
2775
2848
  breakBefore: a ? void 0 : c,
2776
2849
  breakAfter: a < r.length - 1 ? Oe(r[a + 1]) : s
@@ -2779,7 +2852,7 @@ function Ko(e, t, n) {
2779
2852
  return it(e) && // @ts-expect-error: something up with types of parents.
2780
2853
  ot(t, e, it) && l.push(" "), c && l.unshift(c), s && l.push(s), l;
2781
2854
  }
2782
- function Yt(e, t) {
2855
+ function Xt(e, t) {
2783
2856
  const n = String(e.value), o = [], r = [];
2784
2857
  let a = 0;
2785
2858
  for (; a <= n.length; ) {
@@ -2788,7 +2861,7 @@ function Yt(e, t) {
2788
2861
  o.push(
2789
2862
  // Any sequence of collapsible spaces and tabs immediately preceding or
2790
2863
  // following a segment break is removed.
2791
- Jo(
2864
+ nr(
2792
2865
  // […] ignoring bidi formatting characters (characters with the
2793
2866
  // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
2794
2867
  // they were not there.
@@ -2803,10 +2876,10 @@ function Yt(e, t) {
2803
2876
  o[l].charCodeAt(o[l].length - 1) === 8203 || l < o.length - 1 && o[l + 1].charCodeAt(0) === 8203 ? (r.push(o[l]), c = void 0) : o[l] ? (typeof c == "number" && r.push(c), r.push(o[l]), c = 0) : (l === 0 || l === o.length - 1) && r.push(0);
2804
2877
  return r;
2805
2878
  }
2806
- function Zo(e) {
2879
+ function tr(e) {
2807
2880
  return [String(e.value)];
2808
2881
  }
2809
- function Jo(e, t, n) {
2882
+ function nr(e, t, n) {
2810
2883
  const o = [];
2811
2884
  let r = 0, a;
2812
2885
  for (; r < e.length; ) {
@@ -2816,7 +2889,7 @@ function Jo(e, t, n) {
2816
2889
  }
2817
2890
  return r !== a && !n && o.push(""), o.join(" ");
2818
2891
  }
2819
- function Xt(e, t) {
2892
+ function Kt(e, t) {
2820
2893
  if (e.type === "element") {
2821
2894
  const n = e.properties || {};
2822
2895
  switch (e.tagName) {
@@ -2837,98 +2910,98 @@ function Xt(e, t) {
2837
2910
  }
2838
2911
  return t.whitespace;
2839
2912
  }
2840
- function Qo(e) {
2913
+ function or(e) {
2841
2914
  return !!(e.properties || {}).hidden;
2842
2915
  }
2843
- function er(e) {
2916
+ function rr(e) {
2844
2917
  return e.tagName === "td" || e.tagName === "th";
2845
2918
  }
2846
- function tr(e) {
2919
+ function ar(e) {
2847
2920
  return e.tagName === "dialog" && !(e.properties || {}).open;
2848
2921
  }
2849
- const Kt = [], nr = !0, st = !1, Zt = "skip";
2850
- function or(e, t, n, o) {
2922
+ const Zt = [], ir = !0, st = !1, Jt = "skip";
2923
+ function lr(e, t, n, o) {
2851
2924
  let r;
2852
2925
  r = t;
2853
2926
  const a = He(r), l = 1;
2854
2927
  c(e, void 0, [])();
2855
- function c(s, p, h) {
2856
- const f = (
2928
+ function c(s, p, f) {
2929
+ const m = (
2857
2930
  /** @type {Record<string, unknown>} */
2858
2931
  s && typeof s == "object" ? s : {}
2859
2932
  );
2860
- if (typeof f.type == "string") {
2861
- const m = (
2933
+ if (typeof m.type == "string") {
2934
+ const b = (
2862
2935
  // `hast`
2863
- typeof f.tagName == "string" ? f.tagName : (
2936
+ typeof m.tagName == "string" ? m.tagName : (
2864
2937
  // `xast`
2865
- typeof f.name == "string" ? f.name : void 0
2938
+ typeof m.name == "string" ? m.name : void 0
2866
2939
  )
2867
2940
  );
2868
- Object.defineProperty(b, "name", {
2869
- value: "node (" + (s.type + (m ? "<" + m + ">" : "")) + ")"
2941
+ Object.defineProperty(g, "name", {
2942
+ value: "node (" + (s.type + (b ? "<" + b + ">" : "")) + ")"
2870
2943
  });
2871
2944
  }
2872
- return b;
2873
- function b() {
2874
- let m = Kt, y, d, v;
2875
- if (a(s, p, h[h.length - 1] || void 0) && (m = rr(n(s, h)), m[0] === st))
2876
- return m;
2945
+ return g;
2946
+ function g() {
2947
+ let b = Zt, y, u, w;
2948
+ if (a(s, p, f[f.length - 1] || void 0) && (b = sr(n(s, f)), b[0] === st))
2949
+ return b;
2877
2950
  if ("children" in s && s.children) {
2878
- const _ = (
2951
+ const v = (
2879
2952
  /** @type {UnistParent} */
2880
2953
  s
2881
2954
  );
2882
- if (_.children && m[0] !== Zt)
2883
- for (d = -1 + l, v = h.concat(_); d > -1 && d < _.children.length; ) {
2884
- const g = _.children[d];
2885
- if (y = c(g, d, v)(), y[0] === st)
2955
+ if (v.children && b[0] !== Jt)
2956
+ for (u = -1 + l, w = f.concat(v); u > -1 && u < v.children.length; ) {
2957
+ const h = v.children[u];
2958
+ if (y = c(h, u, w)(), y[0] === st)
2886
2959
  return y;
2887
- d = typeof y[1] == "number" ? y[1] : d + l;
2960
+ u = typeof y[1] == "number" ? y[1] : u + l;
2888
2961
  }
2889
2962
  }
2890
- return m;
2963
+ return b;
2891
2964
  }
2892
2965
  }
2893
2966
  }
2894
- function rr(e) {
2895
- return Array.isArray(e) ? e : typeof e == "number" ? [nr, e] : e == null ? Kt : [e];
2967
+ function sr(e) {
2968
+ return Array.isArray(e) ? e : typeof e == "number" ? [ir, e] : e == null ? Zt : [e];
2896
2969
  }
2897
- const ar = {}, ir = [];
2898
- function lr(e) {
2899
- const t = e || ar;
2970
+ const cr = {}, ur = [];
2971
+ function dr(e) {
2972
+ const t = e || cr;
2900
2973
  return function(n, o) {
2901
- or(n, "element", function(r, a) {
2902
- const l = Array.isArray(r.properties.className) ? r.properties.className : ir, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2903
- let h = s;
2974
+ lr(n, "element", function(r, a) {
2975
+ const l = Array.isArray(r.properties.className) ? r.properties.className : ur, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2976
+ let f = s;
2904
2977
  if (!c && !s && !p)
2905
2978
  return;
2906
- let f = a[a.length - 1], b = r;
2907
- if (r.tagName === "code" && c && f && f.type === "element" && f.tagName === "pre" && (b = f, f = a[a.length - 2], h = !0), !f) return;
2908
- const m = Xo(b, { whitespace: "pre" });
2979
+ let m = a[a.length - 1], g = r;
2980
+ if (r.tagName === "code" && c && m && m.type === "element" && m.tagName === "pre" && (g = m, m = a[a.length - 2], f = !0), !m) return;
2981
+ const b = Qo(g, { whitespace: "pre" });
2909
2982
  let y;
2910
2983
  try {
2911
- y = Ve.renderToString(m, {
2984
+ y = Ve.renderToString(b, {
2912
2985
  ...t,
2913
- displayMode: h,
2986
+ displayMode: f,
2914
2987
  throwOnError: !0
2915
2988
  });
2916
- } catch (v) {
2917
- const _ = (
2989
+ } catch (w) {
2990
+ const v = (
2918
2991
  /** @type {Error} */
2919
- v
2920
- ), g = _.name.toLowerCase();
2992
+ w
2993
+ ), h = v.name.toLowerCase();
2921
2994
  o.message("Could not render math with KaTeX", {
2922
2995
  ancestors: [...a, r],
2923
- cause: _,
2996
+ cause: v,
2924
2997
  place: r.position,
2925
- ruleId: g,
2998
+ ruleId: h,
2926
2999
  source: "rehype-katex"
2927
3000
  });
2928
3001
  try {
2929
- y = Ve.renderToString(m, {
3002
+ y = Ve.renderToString(b, {
2930
3003
  ...t,
2931
- displayMode: h,
3004
+ displayMode: f,
2932
3005
  strict: "ignore",
2933
3006
  throwOnError: !1
2934
3007
  });
@@ -2940,28 +3013,28 @@ function lr(e) {
2940
3013
  properties: {
2941
3014
  className: ["katex-error"],
2942
3015
  style: "color:" + (t.errorColor || "#cc0000"),
2943
- title: String(v)
3016
+ title: String(w)
2944
3017
  },
2945
- children: [{ type: "text", value: m }]
3018
+ children: [{ type: "text", value: b }]
2946
3019
  }
2947
3020
  ];
2948
3021
  }
2949
3022
  }
2950
3023
  typeof y == "string" && (y = /** @type {Array<ElementContent>} */
2951
- Po(y).children);
2952
- const d = f.children.indexOf(b);
2953
- return f.children.splice(d, 1, ...y), Zt;
3024
+ $o(y).children);
3025
+ const u = m.children.indexOf(g);
3026
+ return m.children.splice(u, 1, ...y), Jt;
2954
3027
  });
2955
3028
  };
2956
3029
  }
2957
- function sr(e, t) {
3030
+ function pr(e, t) {
2958
3031
  const n = String(e);
2959
3032
  let o = n.indexOf(t), r = o, a = 0, l = 0;
2960
3033
  for (; o !== -1; )
2961
3034
  o === r ? ++a > l && (l = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2962
3035
  return l;
2963
3036
  }
2964
- function cr() {
3037
+ function hr() {
2965
3038
  return {
2966
3039
  enter: {
2967
3040
  mathFlow: e,
@@ -3005,13 +3078,13 @@ function cr() {
3005
3078
  this.data.mathFlowInside || (this.buffer(), this.data.mathFlowInside = !0);
3006
3079
  }
3007
3080
  function r(s) {
3008
- const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), h = this.stack[this.stack.length - 1];
3009
- h.type, this.exit(s), h.value = p;
3010
- const f = (
3081
+ const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), f = this.stack[this.stack.length - 1];
3082
+ f.type, this.exit(s), f.value = p;
3083
+ const m = (
3011
3084
  /** @type {HastElement} */
3012
- h.data.hChildren[0]
3085
+ f.data.hChildren[0]
3013
3086
  );
3014
- f.type, f.tagName, f.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
3087
+ m.type, m.tagName, m.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
3015
3088
  }
3016
3089
  function a(s) {
3017
3090
  this.enter(
@@ -3028,16 +3101,16 @@ function cr() {
3028
3101
  ), this.buffer();
3029
3102
  }
3030
3103
  function l(s) {
3031
- const p = this.resume(), h = this.stack[this.stack.length - 1];
3032
- h.type, this.exit(s), h.value = p, /** @type {Array<HastElementContent>} */
3104
+ const p = this.resume(), f = this.stack[this.stack.length - 1];
3105
+ f.type, this.exit(s), f.value = p, /** @type {Array<HastElementContent>} */
3033
3106
  // @ts-expect-error: we defined it in `enterMathFlow`.
3034
- h.data.hChildren.push({ type: "text", value: p });
3107
+ f.data.hChildren.push({ type: "text", value: p });
3035
3108
  }
3036
3109
  function c(s) {
3037
3110
  this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
3038
3111
  }
3039
3112
  }
3040
- function ur(e) {
3113
+ function gr(e) {
3041
3114
  let t = (e || {}).singleDollarTextMath;
3042
3115
  return t == null && (t = !0), o.peek = r, {
3043
3116
  unsafe: [
@@ -3055,45 +3128,45 @@ function ur(e) {
3055
3128
  handlers: { math: n, inlineMath: o }
3056
3129
  };
3057
3130
  function n(a, l, c, s) {
3058
- const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(sr(p, "$") + 1, 2)), b = c.enter("mathFlow");
3059
- let m = h.move(f);
3131
+ const p = a.value || "", f = c.createTracker(s), m = "$".repeat(Math.max(pr(p, "$") + 1, 2)), g = c.enter("mathFlow");
3132
+ let b = f.move(m);
3060
3133
  if (a.meta) {
3061
3134
  const y = c.enter("mathFlowMeta");
3062
- m += h.move(
3135
+ b += f.move(
3063
3136
  c.safe(a.meta, {
3064
3137
  after: `
3065
3138
  `,
3066
- before: m,
3139
+ before: b,
3067
3140
  encode: ["$"],
3068
- ...h.current()
3141
+ ...f.current()
3069
3142
  })
3070
3143
  ), y();
3071
3144
  }
3072
- return m += h.move(`
3073
- `), p && (m += h.move(p + `
3074
- `)), m += h.move(f), b(), m;
3145
+ return b += f.move(`
3146
+ `), p && (b += f.move(p + `
3147
+ `)), b += f.move(m), g(), b;
3075
3148
  }
3076
3149
  function o(a, l, c) {
3077
3150
  let s = a.value || "", p = 1;
3078
3151
  for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
3079
3152
  p++;
3080
- const h = "$".repeat(p);
3153
+ const f = "$".repeat(p);
3081
3154
  // Contains non-space.
3082
3155
  /[^ \r\n]/.test(s) && // Starts with space and ends with space.
3083
3156
  (/^[ \r\n]/.test(s) && /[ \r\n]$/.test(s) || // Starts or ends with dollar.
3084
3157
  /^\$|\$$/.test(s)) && (s = " " + s + " ");
3085
- let f = -1;
3086
- for (; ++f < c.unsafe.length; ) {
3087
- const b = c.unsafe[f];
3088
- if (!b.atBreak) continue;
3089
- const m = c.compilePattern(b);
3158
+ let m = -1;
3159
+ for (; ++m < c.unsafe.length; ) {
3160
+ const g = c.unsafe[m];
3161
+ if (!g.atBreak) continue;
3162
+ const b = c.compilePattern(g);
3090
3163
  let y;
3091
- for (; y = m.exec(s); ) {
3092
- let d = y.index;
3093
- s.codePointAt(d) === 10 && s.codePointAt(d - 1) === 13 && d--, s = s.slice(0, d) + " " + s.slice(y.index + 1);
3164
+ for (; y = b.exec(s); ) {
3165
+ let u = y.index;
3166
+ s.codePointAt(u) === 10 && s.codePointAt(u - 1) === 13 && u--, s = s.slice(0, u) + " " + s.slice(y.index + 1);
3094
3167
  }
3095
3168
  }
3096
- return h + s + h;
3169
+ return f + s + f;
3097
3170
  }
3098
3171
  function r() {
3099
3172
  return "$";
@@ -3116,68 +3189,68 @@ function ce(e, t, n, o) {
3116
3189
  return ct(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3117
3190
  }
3118
3191
  }
3119
- const dr = {
3120
- tokenize: pr,
3192
+ const mr = {
3193
+ tokenize: fr,
3121
3194
  concrete: !0,
3122
3195
  name: "mathFlow"
3123
3196
  }, ut = {
3124
- tokenize: hr,
3197
+ tokenize: br,
3125
3198
  partial: !0
3126
3199
  };
3127
- function pr(e, t, n) {
3200
+ function fr(e, t, n) {
3128
3201
  const o = this, r = o.events[o.events.length - 1], a = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0;
3129
3202
  let l = 0;
3130
3203
  return c;
3131
- function c(g) {
3132
- return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(g);
3204
+ function c(h) {
3205
+ return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(h);
3133
3206
  }
3134
- function s(g) {
3135
- return g === 36 ? (e.consume(g), l++, s) : l < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(g));
3207
+ function s(h) {
3208
+ return h === 36 ? (e.consume(h), l++, s) : l < 2 ? n(h) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(h));
3136
3209
  }
3137
- function p(g) {
3138
- return g === null || j(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3210
+ function p(h) {
3211
+ return h === null || j(h) ? m(h) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3139
3212
  contentType: "string"
3140
- }), h(g));
3213
+ }), f(h));
3141
3214
  }
3142
- function h(g) {
3143
- return g === null || j(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3215
+ function f(h) {
3216
+ return h === null || j(h) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), m(h)) : h === 36 ? n(h) : (e.consume(h), f);
3144
3217
  }
3145
- function f(g) {
3146
- return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(ut, b, v)(g);
3218
+ function m(h) {
3219
+ return e.exit("mathFlowFence"), o.interrupt ? t(h) : e.attempt(ut, g, w)(h);
3147
3220
  }
3148
- function b(g) {
3221
+ function g(h) {
3149
3222
  return e.attempt({
3150
- tokenize: _,
3223
+ tokenize: v,
3151
3224
  partial: !0
3152
- }, v, m)(g);
3225
+ }, w, b)(h);
3153
3226
  }
3154
- function m(g) {
3155
- return (a ? ce(e, y, "linePrefix", a + 1) : y)(g);
3227
+ function b(h) {
3228
+ return (a ? ce(e, y, "linePrefix", a + 1) : y)(h);
3156
3229
  }
3157
- function y(g) {
3158
- return g === null ? v(g) : j(g) ? e.attempt(ut, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3230
+ function y(h) {
3231
+ return h === null ? w(h) : j(h) ? e.attempt(ut, g, w)(h) : (e.enter("mathFlowValue"), u(h));
3159
3232
  }
3160
- function d(g) {
3161
- return g === null || j(g) ? (e.exit("mathFlowValue"), y(g)) : (e.consume(g), d);
3233
+ function u(h) {
3234
+ return h === null || j(h) ? (e.exit("mathFlowValue"), y(h)) : (e.consume(h), u);
3162
3235
  }
3163
- function v(g) {
3164
- return e.exit("mathFlow"), t(g);
3236
+ function w(h) {
3237
+ return e.exit("mathFlow"), t(h);
3165
3238
  }
3166
- function _(g, R, E) {
3167
- let I = 0;
3168
- return ce(g, $, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3239
+ function v(h, C, E) {
3240
+ let R = 0;
3241
+ return ce(h, $, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3169
3242
  function $(O) {
3170
- return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), z(O);
3243
+ return h.enter("mathFlowFence"), h.enter("mathFlowFenceSequence"), z(O);
3171
3244
  }
3172
3245
  function z(O) {
3173
- return O === 36 ? (I++, g.consume(O), z) : I < l ? E(O) : (g.exit("mathFlowFenceSequence"), ce(g, ne, "whitespace")(O));
3246
+ return O === 36 ? (R++, h.consume(O), z) : R < l ? E(O) : (h.exit("mathFlowFenceSequence"), ce(h, ne, "whitespace")(O));
3174
3247
  }
3175
3248
  function ne(O) {
3176
- return O === null || j(O) ? (g.exit("mathFlowFence"), R(O)) : E(O);
3249
+ return O === null || j(O) ? (h.exit("mathFlowFence"), C(O)) : E(O);
3177
3250
  }
3178
3251
  }
3179
3252
  }
3180
- function hr(e, t, n) {
3253
+ function br(e, t, n) {
3181
3254
  const o = this;
3182
3255
  return r;
3183
3256
  function r(l) {
@@ -3187,35 +3260,35 @@ function hr(e, t, n) {
3187
3260
  return o.parser.lazy[o.now().line] ? n(l) : t(l);
3188
3261
  }
3189
3262
  }
3190
- function gr(e) {
3263
+ function yr(e) {
3191
3264
  let n = (e || {}).singleDollarTextMath;
3192
3265
  return n == null && (n = !0), {
3193
3266
  tokenize: o,
3194
- resolve: mr,
3195
- previous: fr,
3267
+ resolve: kr,
3268
+ previous: vr,
3196
3269
  name: "mathText"
3197
3270
  };
3198
3271
  function o(r, a, l) {
3199
3272
  let c = 0, s, p;
3200
- return h;
3201
- function h(d) {
3202
- return r.enter("mathText"), r.enter("mathTextSequence"), f(d);
3273
+ return f;
3274
+ function f(u) {
3275
+ return r.enter("mathText"), r.enter("mathTextSequence"), m(u);
3203
3276
  }
3204
- function f(d) {
3205
- return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? l(d) : (r.exit("mathTextSequence"), b(d));
3277
+ function m(u) {
3278
+ return u === 36 ? (r.consume(u), c++, m) : c < 2 && !n ? l(u) : (r.exit("mathTextSequence"), g(u));
3206
3279
  }
3207
- function b(d) {
3208
- return d === null ? l(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, y(d)) : d === 32 ? (r.enter("space"), r.consume(d), r.exit("space"), b) : j(d) ? (r.enter("lineEnding"), r.consume(d), r.exit("lineEnding"), b) : (r.enter("mathTextData"), m(d));
3280
+ function g(u) {
3281
+ return u === null ? l(u) : u === 36 ? (p = r.enter("mathTextSequence"), s = 0, y(u)) : u === 32 ? (r.enter("space"), r.consume(u), r.exit("space"), g) : j(u) ? (r.enter("lineEnding"), r.consume(u), r.exit("lineEnding"), g) : (r.enter("mathTextData"), b(u));
3209
3282
  }
3210
- function m(d) {
3211
- return d === null || d === 32 || d === 36 || j(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3283
+ function b(u) {
3284
+ return u === null || u === 32 || u === 36 || j(u) ? (r.exit("mathTextData"), g(u)) : (r.consume(u), b);
3212
3285
  }
3213
- function y(d) {
3214
- return d === 36 ? (r.consume(d), s++, y) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(d)) : (p.type = "mathTextData", m(d));
3286
+ function y(u) {
3287
+ return u === 36 ? (r.consume(u), s++, y) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(u)) : (p.type = "mathTextData", b(u));
3215
3288
  }
3216
3289
  }
3217
3290
  }
3218
- function mr(e) {
3291
+ function kr(e) {
3219
3292
  let t = e.length - 4, n = 3, o, r;
3220
3293
  if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
3221
3294
  for (o = n; ++o < t; )
@@ -3228,36 +3301,36 @@ function mr(e) {
3228
3301
  r === void 0 ? o !== t && e[o][1].type !== "lineEnding" && (r = o) : (o === t || e[o][1].type === "lineEnding") && (e[r][1].type = "mathTextData", o !== r + 2 && (e[r][1].end = e[o - 1][1].end, e.splice(r + 2, o - r - 2), t -= o - r - 2, o = r + 2), r = void 0);
3229
3302
  return e;
3230
3303
  }
3231
- function fr(e) {
3304
+ function vr(e) {
3232
3305
  return e !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
3233
3306
  }
3234
- function br(e) {
3307
+ function wr(e) {
3235
3308
  return {
3236
3309
  flow: {
3237
- 36: dr
3310
+ 36: mr
3238
3311
  },
3239
3312
  text: {
3240
- 36: gr(e)
3313
+ 36: yr(e)
3241
3314
  }
3242
3315
  };
3243
3316
  }
3244
- const yr = {};
3245
- function kr(e) {
3317
+ const _r = {};
3318
+ function xr(e) {
3246
3319
  const t = (
3247
3320
  /** @type {Processor} */
3248
3321
  this
3249
- ), n = e || yr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3250
- r.push(br(n)), a.push(cr()), l.push(ur(n));
3322
+ ), n = e || _r, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3323
+ r.push(wr(n)), a.push(hr()), l.push(gr(n));
3251
3324
  }
3252
- function vr(e = {}) {
3325
+ function Sr(e = {}) {
3253
3326
  var t, n;
3254
- let o = [kr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [lr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3327
+ let o = [xr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [dr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3255
3328
  return { name: "katex", type: "math", remarkPlugin: o, rehypePlugin: r, getStyles() {
3256
3329
  return "katex/dist/katex.min.css";
3257
3330
  } };
3258
3331
  }
3259
- var dt = vr();
3260
- const je = de(
3332
+ var dt = Sr();
3333
+ const je = pe(
3261
3334
  ({ className: e, ...t }) => /* @__PURE__ */ i(
3262
3335
  On,
3263
3336
  {
@@ -3270,7 +3343,7 @@ const je = de(
3270
3343
  (e, t) => e.children === t.children
3271
3344
  );
3272
3345
  je.displayName = "Response";
3273
- function wr({
3346
+ function Er({
3274
3347
  part: e,
3275
3348
  message: t,
3276
3349
  status: n,
@@ -3281,39 +3354,40 @@ function wr({
3281
3354
  feedback: c,
3282
3355
  handleFeedback: s,
3283
3356
  copyHost: p,
3284
- feedbackEnabled: h,
3285
- retryEnabled: f
3357
+ feedbackEnabled: f,
3358
+ retryEnabled: m
3286
3359
  }) {
3287
- const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: y, rehypePlugins: d } = W(), v = ge(e.text), _ = !o && r && (n === "streaming" || n === "submitted"), g = l || (() => {
3360
+ const { t: g } = M(["chat"]), { textComponents: b, remarkPlugins: y, rehypePlugins: u } = W(), w = ge(e.text), v = !o && r && (n === "streaming" || n === "submitted"), h = l || (() => {
3288
3361
  });
3289
- return /* @__PURE__ */ w("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3290
- /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Dt, { dir: v, children: /* @__PURE__ */ i(
3362
+ return /* @__PURE__ */ _("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3363
+ /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { dir: w, children: /* @__PURE__ */ i(
3291
3364
  je,
3292
3365
  {
3293
- components: m,
3366
+ className: k(t.role === "user" && "whitespace-pre-wrap break-words"),
3367
+ components: b,
3294
3368
  remarkPlugins: y,
3295
- rehypePlugins: d,
3369
+ rehypePlugins: u,
3296
3370
  children: e.text
3297
3371
  }
3298
3372
  ) }) }),
3299
- a && !_ && /* @__PURE__ */ w(uo, { className: k("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3300
- t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
3301
- r && f && /* @__PURE__ */ i(
3373
+ a && !v && /* @__PURE__ */ _(mo, { className: k("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3374
+ t.role === "assistant" && /* @__PURE__ */ _(J, { children: [
3375
+ r && m && /* @__PURE__ */ i(
3302
3376
  se,
3303
3377
  {
3304
- onClick: () => g(t.id),
3305
- label: b("retry"),
3306
- tooltip: b("retry"),
3378
+ onClick: () => h(t.id),
3379
+ label: g("retry"),
3380
+ tooltip: g("retry"),
3307
3381
  children: /* @__PURE__ */ i(yn, { className: "size-3" })
3308
3382
  }
3309
3383
  ),
3310
- h && /* @__PURE__ */ w(J, { children: [
3384
+ f && /* @__PURE__ */ _(J, { children: [
3311
3385
  /* @__PURE__ */ i(
3312
3386
  se,
3313
3387
  {
3314
3388
  onClick: () => s("like"),
3315
- label: b("like"),
3316
- tooltip: b("like"),
3389
+ label: g("like"),
3390
+ tooltip: g("like"),
3317
3391
  className: c === "like" ? "text-primary" : "",
3318
3392
  children: /* @__PURE__ */ i(kn, { className: "size-3" })
3319
3393
  }
@@ -3322,8 +3396,8 @@ function wr({
3322
3396
  se,
3323
3397
  {
3324
3398
  onClick: () => s("dislike"),
3325
- label: b("dislike"),
3326
- tooltip: b("dislike"),
3399
+ label: g("dislike"),
3400
+ tooltip: g("dislike"),
3327
3401
  className: c === "dislike" ? "text-destructive" : "",
3328
3402
  children: /* @__PURE__ */ i(vn, { className: "size-3" })
3329
3403
  }
@@ -3336,20 +3410,20 @@ function wr({
3336
3410
  onClick: () => {
3337
3411
  p(e.text);
3338
3412
  },
3339
- label: b("copy"),
3340
- tooltip: b("copy"),
3341
- children: /* @__PURE__ */ i(Nt, { className: "size-3" })
3413
+ label: g("copy"),
3414
+ tooltip: g("copy"),
3415
+ children: /* @__PURE__ */ i(Tt, { className: "size-3" })
3342
3416
  }
3343
3417
  )
3344
3418
  ] })
3345
3419
  ] });
3346
3420
  }
3347
- const Jt = pe(null), _r = () => {
3348
- const e = Fe(Jt);
3421
+ const Qt = de(null), Nr = () => {
3422
+ const e = Fe(Qt);
3349
3423
  if (!e)
3350
3424
  throw new Error("Reasoning components must be used within Reasoning");
3351
3425
  return e;
3352
- }, xr = 1e3, Sr = 1e3, Qt = de(
3426
+ }, Tr = 1e3, Cr = 1e3, en = pe(
3353
3427
  ({
3354
3428
  className: e,
3355
3429
  isStreaming: t = !1,
@@ -3365,41 +3439,41 @@ const Jt = pe(null), _r = () => {
3365
3439
  prop: n,
3366
3440
  defaultProp: o,
3367
3441
  onChange: r
3368
- }), [h, f] = We({
3442
+ }), [f, m] = We({
3369
3443
  prop: a,
3370
3444
  defaultProp: 0
3371
- }), [b, m] = B(!1), [y, d] = B(null);
3445
+ }), [g, b] = B(!1), [y, u] = B(null);
3372
3446
  Q(() => {
3373
- t ? y === null && d(Date.now()) : y !== null && (f(Math.ceil((Date.now() - y) / Sr)), d(null));
3374
- }, [t, y, f]), Q(() => {
3375
- if (o && !t && s && !b) {
3376
- const _ = setTimeout(() => {
3377
- p(!1), m(!0);
3378
- }, xr);
3447
+ t ? y === null && u(Date.now()) : y !== null && (m(Math.ceil((Date.now() - y) / Cr)), u(null));
3448
+ }, [t, y, m]), Q(() => {
3449
+ if (o && !t && s && !g) {
3450
+ const v = setTimeout(() => {
3451
+ p(!1), b(!0);
3452
+ }, Tr);
3379
3453
  return () => {
3380
- clearTimeout(_);
3454
+ clearTimeout(v);
3381
3455
  };
3382
3456
  }
3383
- }, [t, s, o, p, b]);
3384
- const v = (_) => {
3385
- p(_);
3457
+ }, [t, s, o, p, g]);
3458
+ const w = (v) => {
3459
+ p(v);
3386
3460
  };
3387
- return /* @__PURE__ */ i(Jt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ i(
3461
+ return /* @__PURE__ */ i(Qt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: f }, children: /* @__PURE__ */ i(
3388
3462
  ze,
3389
3463
  {
3390
3464
  className: k("not-prose mb-4", e),
3391
- onOpenChange: v,
3465
+ onOpenChange: w,
3392
3466
  open: s,
3393
3467
  ...c,
3394
3468
  children: l
3395
3469
  }
3396
3470
  ) });
3397
3471
  }
3398
- ), en = de(({ className: e, children: t, ...n }) => {
3399
- const { isStreaming: o, isOpen: r, duration: a } = _r();
3400
- return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3472
+ ), tn = pe(({ className: e, children: t, ...n }) => {
3473
+ const { isStreaming: o, isOpen: r, duration: a } = Nr();
3474
+ return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ _(J, { children: [
3401
3475
  /* @__PURE__ */ i(wn, { className: "size-4" }),
3402
- o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3476
+ o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ _("p", { children: [
3403
3477
  "Thought for ",
3404
3478
  a,
3405
3479
  " ",
@@ -3412,7 +3486,7 @@ const Jt = pe(null), _r = () => {
3412
3486
  }
3413
3487
  )
3414
3488
  ] }) });
3415
- }), tn = de(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3489
+ }), nn = pe(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3416
3490
  $e,
3417
3491
  {
3418
3492
  className: k(
@@ -3424,10 +3498,10 @@ const Jt = pe(null), _r = () => {
3424
3498
  children: /* @__PURE__ */ i(je, { className: "grid gap-2", children: t })
3425
3499
  }
3426
3500
  ));
3427
- Qt.displayName = "Reasoning";
3428
- en.displayName = "ReasoningTrigger";
3429
- tn.displayName = "ReasoningContent";
3430
- function Er({
3501
+ en.displayName = "Reasoning";
3502
+ tn.displayName = "ReasoningTrigger";
3503
+ nn.displayName = "ReasoningContent";
3504
+ function Ar({
3431
3505
  part: e,
3432
3506
  status: t,
3433
3507
  index: n,
@@ -3435,19 +3509,19 @@ function Er({
3435
3509
  lastMessage: r
3436
3510
  }) {
3437
3511
  const a = ge(e.text);
3438
- return /* @__PURE__ */ w(
3439
- Qt,
3512
+ return /* @__PURE__ */ _(
3513
+ en,
3440
3514
  {
3441
3515
  className: "w-full animate-in-bubble",
3442
3516
  isStreaming: t === "streaming" && n === o - 1 && r,
3443
3517
  children: [
3444
- /* @__PURE__ */ i(en, {}),
3445
- /* @__PURE__ */ i(tn, { dir: a, children: e.text })
3518
+ /* @__PURE__ */ i(tn, {}),
3519
+ /* @__PURE__ */ i(nn, { dir: a, children: e.text })
3446
3520
  ]
3447
3521
  }
3448
3522
  );
3449
3523
  }
3450
- const Nr = Pe(
3524
+ const Ir = De(
3451
3525
  "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
3452
3526
  {
3453
3527
  variants: {
@@ -3463,27 +3537,27 @@ const Nr = Pe(
3463
3537
  }
3464
3538
  }
3465
3539
  );
3466
- function Tr({
3540
+ function Rr({
3467
3541
  className: e,
3468
3542
  variant: t,
3469
3543
  asChild: n = !1,
3470
3544
  ...o
3471
3545
  }) {
3472
- return /* @__PURE__ */ i(n ? Ct : "span", { "data-slot": "badge", className: k(Nr({ variant: t }), e), ...o });
3546
+ return /* @__PURE__ */ i(n ? Et : "span", { "data-slot": "badge", className: k(Ir({ variant: t }), e), ...o });
3473
3547
  }
3474
- function Cr({ ...e }) {
3548
+ function Or({ ...e }) {
3475
3549
  return /* @__PURE__ */ i(H.Root, { "data-slot": "dialog", ...e });
3476
3550
  }
3477
- function Ar({ ...e }) {
3551
+ function Lr({ ...e }) {
3478
3552
  return /* @__PURE__ */ i(H.Trigger, { "data-slot": "dialog-trigger", ...e });
3479
3553
  }
3480
- function Ir({ ...e }) {
3554
+ function Fr({ ...e }) {
3481
3555
  return /* @__PURE__ */ i(H.Portal, { "data-slot": "dialog-portal", ...e });
3482
3556
  }
3483
- function wi({ ...e }) {
3557
+ function Ti({ ...e }) {
3484
3558
  return /* @__PURE__ */ i(H.Close, { "data-slot": "dialog-close", ...e });
3485
3559
  }
3486
- function Rr({ className: e, ...t }) {
3560
+ function Dr({ className: e, ...t }) {
3487
3561
  return /* @__PURE__ */ i(
3488
3562
  H.Overlay,
3489
3563
  {
@@ -3496,15 +3570,15 @@ function Rr({ className: e, ...t }) {
3496
3570
  }
3497
3571
  );
3498
3572
  }
3499
- function Or({
3573
+ function Pr({
3500
3574
  className: e,
3501
3575
  children: t,
3502
3576
  showCloseButton: n = !0,
3503
3577
  ...o
3504
3578
  }) {
3505
- return /* @__PURE__ */ w(Ir, { "data-slot": "dialog-portal", children: [
3506
- /* @__PURE__ */ i(Rr, {}),
3507
- /* @__PURE__ */ w(
3579
+ return /* @__PURE__ */ _(Fr, { "data-slot": "dialog-portal", children: [
3580
+ /* @__PURE__ */ i(Dr, {}),
3581
+ /* @__PURE__ */ _(
3508
3582
  H.Content,
3509
3583
  {
3510
3584
  "data-slot": "dialog-content",
@@ -3515,7 +3589,7 @@ function Or({
3515
3589
  ...o,
3516
3590
  children: [
3517
3591
  t,
3518
- n && /* @__PURE__ */ w(
3592
+ n && /* @__PURE__ */ _(
3519
3593
  H.Close,
3520
3594
  {
3521
3595
  "data-slot": "dialog-close",
@@ -3531,7 +3605,7 @@ function Or({
3531
3605
  )
3532
3606
  ] });
3533
3607
  }
3534
- function Lr({ className: e, ...t }) {
3608
+ function Mr({ className: e, ...t }) {
3535
3609
  return /* @__PURE__ */ i(
3536
3610
  "div",
3537
3611
  {
@@ -3541,7 +3615,7 @@ function Lr({ className: e, ...t }) {
3541
3615
  }
3542
3616
  );
3543
3617
  }
3544
- function _i({ className: e, ...t }) {
3618
+ function Ci({ className: e, ...t }) {
3545
3619
  return /* @__PURE__ */ i(
3546
3620
  "div",
3547
3621
  {
@@ -3551,7 +3625,7 @@ function _i({ className: e, ...t }) {
3551
3625
  }
3552
3626
  );
3553
3627
  }
3554
- function Fr({ className: e, ...t }) {
3628
+ function zr({ className: e, ...t }) {
3555
3629
  return /* @__PURE__ */ i(
3556
3630
  H.Title,
3557
3631
  {
@@ -3561,7 +3635,7 @@ function Fr({ className: e, ...t }) {
3561
3635
  }
3562
3636
  );
3563
3637
  }
3564
- function xi({ className: e, ...t }) {
3638
+ function Ai({ className: e, ...t }) {
3565
3639
  return /* @__PURE__ */ i(
3566
3640
  H.Description,
3567
3641
  {
@@ -3571,7 +3645,7 @@ function xi({ className: e, ...t }) {
3571
3645
  }
3572
3646
  );
3573
3647
  }
3574
- const Dr = {
3648
+ const Ur = {
3575
3649
  'code[class*="language-"]': {
3576
3650
  background: "hsl(220, 13%, 18%)",
3577
3651
  color: "hsl(220, 14%, 71%)",
@@ -4071,7 +4145,7 @@ const Dr = {
4071
4145
  ".prism-previewer-easing.prism-previewer-easing line": {
4072
4146
  stroke: "hsl(220, 14%, 71%)"
4073
4147
  }
4074
- }, Pr = {
4148
+ }, $r = {
4075
4149
  'code[class*="language-"]': {
4076
4150
  background: "hsl(230, 1%, 98%)",
4077
4151
  color: "hsl(230, 8%, 24%)",
@@ -4564,7 +4638,7 @@ function q(e) {
4564
4638
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4565
4639
  }
4566
4640
  var ve, pt;
4567
- function Mr() {
4641
+ function Br() {
4568
4642
  if (pt) return ve;
4569
4643
  pt = 1, ve = e, e.displayName = "python", e.aliases = ["py"];
4570
4644
  function e(t) {
@@ -4632,10 +4706,10 @@ function Mr() {
4632
4706
  }
4633
4707
  return ve;
4634
4708
  }
4635
- var zr = Mr();
4636
- const Ur = /* @__PURE__ */ q(zr);
4709
+ var Hr = Br();
4710
+ const qr = /* @__PURE__ */ q(Hr);
4637
4711
  var we, ht;
4638
- function $r() {
4712
+ function jr() {
4639
4713
  if (ht) return we;
4640
4714
  ht = 1, we = e, e.displayName = "javascript", e.aliases = ["js"];
4641
4715
  function e(t) {
@@ -4764,10 +4838,10 @@ function $r() {
4764
4838
  }
4765
4839
  return we;
4766
4840
  }
4767
- var Br = $r();
4768
- const Hr = /* @__PURE__ */ q(Br);
4841
+ var Gr = jr();
4842
+ const Vr = /* @__PURE__ */ q(Gr);
4769
4843
  var _e, gt;
4770
- function qr() {
4844
+ function Wr() {
4771
4845
  if (gt) return _e;
4772
4846
  gt = 1, _e = e, e.displayName = "typescript", e.aliases = ["ts"];
4773
4847
  function e(t) {
@@ -4819,10 +4893,10 @@ function qr() {
4819
4893
  }
4820
4894
  return _e;
4821
4895
  }
4822
- var jr = qr();
4823
- const Gr = /* @__PURE__ */ q(jr);
4896
+ var Yr = Wr();
4897
+ const Xr = /* @__PURE__ */ q(Yr);
4824
4898
  var xe, mt;
4825
- function Vr() {
4899
+ function Kr() {
4826
4900
  if (mt) return xe;
4827
4901
  mt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
4828
4902
  function e(t) {
@@ -4853,10 +4927,10 @@ function Vr() {
4853
4927
  }
4854
4928
  return xe;
4855
4929
  }
4856
- var Wr = Vr();
4857
- const Yr = /* @__PURE__ */ q(Wr);
4930
+ var Zr = Kr();
4931
+ const Jr = /* @__PURE__ */ q(Zr);
4858
4932
  var Se, ft;
4859
- function Xr() {
4933
+ function Qr() {
4860
4934
  if (ft) return Se;
4861
4935
  ft = 1, Se = e, e.displayName = "bash", e.aliases = ["shell"];
4862
4936
  function e(t) {
@@ -5075,10 +5149,10 @@ function Xr() {
5075
5149
  }
5076
5150
  return Se;
5077
5151
  }
5078
- var Kr = Xr();
5079
- const Zr = /* @__PURE__ */ q(Kr);
5152
+ var ea = Qr();
5153
+ const ta = /* @__PURE__ */ q(ea);
5080
5154
  var Ee, bt;
5081
- function Jr() {
5155
+ function na() {
5082
5156
  if (bt) return Ee;
5083
5157
  bt = 1, Ee = e, e.displayName = "sql", e.aliases = [];
5084
5158
  function e(t) {
@@ -5118,10 +5192,10 @@ function Jr() {
5118
5192
  }
5119
5193
  return Ee;
5120
5194
  }
5121
- var Qr = Jr();
5122
- const ea = /* @__PURE__ */ q(Qr);
5195
+ var oa = na();
5196
+ const ra = /* @__PURE__ */ q(oa);
5123
5197
  var Ne, yt;
5124
- function ta() {
5198
+ function aa() {
5125
5199
  if (yt) return Ne;
5126
5200
  yt = 1, Ne = e, e.displayName = "yaml", e.aliases = ["yml"];
5127
5201
  function e(t) {
@@ -5132,14 +5206,14 @@ function ta() {
5132
5206
  return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
5133
5207
  }
5134
5208
  ), c = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
5135
- function s(p, h) {
5136
- h = (h || "").replace(/m/g, "") + "m";
5137
- var f = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
5209
+ function s(p, f) {
5210
+ f = (f || "").replace(/m/g, "") + "m";
5211
+ var m = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
5138
5212
  return a;
5139
5213
  }).replace(/<<value>>/g, function() {
5140
5214
  return p;
5141
5215
  });
5142
- return RegExp(f, h);
5216
+ return RegExp(m, f);
5143
5217
  }
5144
5218
  n.languages.yaml = {
5145
5219
  scalar: {
@@ -5209,19 +5283,19 @@ function ta() {
5209
5283
  }
5210
5284
  return Ne;
5211
5285
  }
5212
- var na = ta();
5213
- const oa = /* @__PURE__ */ q(na);
5286
+ var ia = aa();
5287
+ const la = /* @__PURE__ */ q(ia);
5214
5288
  var Te, kt;
5215
- function ra() {
5289
+ function sa() {
5216
5290
  if (kt) return Te;
5217
5291
  kt = 1, Te = e, e.displayName = "markdown", e.aliases = ["md"];
5218
5292
  function e(t) {
5219
5293
  (function(n) {
5220
5294
  var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
5221
- function r(b) {
5222
- return b = b.replace(/<inner>/g, function() {
5295
+ function r(g) {
5296
+ return g = g.replace(/<inner>/g, function() {
5223
5297
  return o;
5224
- }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + b + ")");
5298
+ }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + g + ")");
5225
5299
  }
5226
5300
  var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, l = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5227
5301
  /__/g,
@@ -5464,55 +5538,55 @@ function ra() {
5464
5538
  }
5465
5539
  }
5466
5540
  }
5467
- }), ["url", "bold", "italic", "strike"].forEach(function(b) {
5468
- ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(m) {
5469
- b !== m && (n.languages.markdown[b].inside.content.inside[m] = n.languages.markdown[m]);
5541
+ }), ["url", "bold", "italic", "strike"].forEach(function(g) {
5542
+ ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(b) {
5543
+ g !== b && (n.languages.markdown[g].inside.content.inside[b] = n.languages.markdown[b]);
5470
5544
  });
5471
- }), n.hooks.add("after-tokenize", function(b) {
5472
- if (b.language !== "markdown" && b.language !== "md")
5545
+ }), n.hooks.add("after-tokenize", function(g) {
5546
+ if (g.language !== "markdown" && g.language !== "md")
5473
5547
  return;
5474
- function m(y) {
5548
+ function b(y) {
5475
5549
  if (!(!y || typeof y == "string"))
5476
- for (var d = 0, v = y.length; d < v; d++) {
5477
- var _ = y[d];
5478
- if (_.type !== "code") {
5479
- m(_.content);
5550
+ for (var u = 0, w = y.length; u < w; u++) {
5551
+ var v = y[u];
5552
+ if (v.type !== "code") {
5553
+ b(v.content);
5480
5554
  continue;
5481
5555
  }
5482
- var g = _.content[1], R = _.content[3];
5483
- if (g && R && g.type === "code-language" && R.type === "code-block" && typeof g.content == "string") {
5484
- var E = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5556
+ var h = v.content[1], C = v.content[3];
5557
+ if (h && C && h.type === "code-language" && C.type === "code-block" && typeof h.content == "string") {
5558
+ var E = h.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5485
5559
  E = (/[a-z][\w-]*/i.exec(E) || [""])[0].toLowerCase();
5486
- var I = "language-" + E;
5487
- R.alias ? typeof R.alias == "string" ? R.alias = [R.alias, I] : R.alias.push(I) : R.alias = [I];
5560
+ var R = "language-" + E;
5561
+ C.alias ? typeof C.alias == "string" ? C.alias = [C.alias, R] : C.alias.push(R) : C.alias = [R];
5488
5562
  }
5489
5563
  }
5490
5564
  }
5491
- m(b.tokens);
5492
- }), n.hooks.add("wrap", function(b) {
5493
- if (b.type === "code-block") {
5494
- for (var m = "", y = 0, d = b.classes.length; y < d; y++) {
5495
- var v = b.classes[y], _ = /language-(.+)/.exec(v);
5496
- if (_) {
5497
- m = _[1];
5565
+ b(g.tokens);
5566
+ }), n.hooks.add("wrap", function(g) {
5567
+ if (g.type === "code-block") {
5568
+ for (var b = "", y = 0, u = g.classes.length; y < u; y++) {
5569
+ var w = g.classes[y], v = /language-(.+)/.exec(w);
5570
+ if (v) {
5571
+ b = v[1];
5498
5572
  break;
5499
5573
  }
5500
5574
  }
5501
- var g = n.languages[m];
5502
- if (g)
5503
- b.content = n.highlight(
5504
- f(b.content.value),
5505
- g,
5506
- m
5575
+ var h = n.languages[b];
5576
+ if (h)
5577
+ g.content = n.highlight(
5578
+ m(g.content.value),
5579
+ h,
5580
+ b
5507
5581
  );
5508
- else if (m && m !== "none" && n.plugins.autoloader) {
5509
- var R = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5510
- b.attributes.id = R, n.plugins.autoloader.loadLanguages(m, function() {
5511
- var E = document.getElementById(R);
5582
+ else if (b && b !== "none" && n.plugins.autoloader) {
5583
+ var C = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5584
+ g.attributes.id = C, n.plugins.autoloader.loadLanguages(b, function() {
5585
+ var E = document.getElementById(C);
5512
5586
  E && (E.innerHTML = n.highlight(
5513
5587
  E.textContent,
5514
- n.languages[m],
5515
- m
5588
+ n.languages[b],
5589
+ b
5516
5590
  ));
5517
5591
  });
5518
5592
  }
@@ -5523,35 +5597,35 @@ function ra() {
5523
5597
  lt: "<",
5524
5598
  gt: ">",
5525
5599
  quot: '"'
5526
- }, h = String.fromCodePoint || String.fromCharCode;
5527
- function f(b) {
5528
- var m = b.replace(s, "");
5529
- return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, d) {
5530
- if (d = d.toLowerCase(), d[0] === "#") {
5531
- var v;
5532
- return d[1] === "x" ? v = parseInt(d.slice(2), 16) : v = Number(d.slice(1)), h(v);
5600
+ }, f = String.fromCodePoint || String.fromCharCode;
5601
+ function m(g) {
5602
+ var b = g.replace(s, "");
5603
+ return b = b.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, u) {
5604
+ if (u = u.toLowerCase(), u[0] === "#") {
5605
+ var w;
5606
+ return u[1] === "x" ? w = parseInt(u.slice(2), 16) : w = Number(u.slice(1)), f(w);
5533
5607
  } else {
5534
- var _ = p[d];
5535
- return _ || y;
5608
+ var v = p[u];
5609
+ return v || y;
5536
5610
  }
5537
- }), m;
5611
+ }), b;
5538
5612
  }
5539
5613
  n.languages.md = n.languages.markdown;
5540
5614
  })(t);
5541
5615
  }
5542
5616
  return Te;
5543
5617
  }
5544
- var aa = ra();
5545
- const ia = /* @__PURE__ */ q(aa);
5546
- U.registerLanguage("python", Ur);
5547
- U.registerLanguage("javascript", Hr);
5548
- U.registerLanguage("typescript", Gr);
5549
- U.registerLanguage("json", Yr);
5550
- U.registerLanguage("bash", Zr);
5551
- U.registerLanguage("sql", ea);
5552
- U.registerLanguage("yaml", oa);
5553
- U.registerLanguage("markdown", ia);
5554
- const la = pe({
5618
+ var ca = sa();
5619
+ const ua = /* @__PURE__ */ q(ca);
5620
+ U.registerLanguage("python", qr);
5621
+ U.registerLanguage("javascript", Vr);
5622
+ U.registerLanguage("typescript", Xr);
5623
+ U.registerLanguage("json", Jr);
5624
+ U.registerLanguage("bash", ta);
5625
+ U.registerLanguage("sql", ra);
5626
+ U.registerLanguage("yaml", la);
5627
+ U.registerLanguage("markdown", ua);
5628
+ const da = de({
5555
5629
  code: ""
5556
5630
  }), Le = ({
5557
5631
  code: e,
@@ -5560,13 +5634,13 @@ const la = pe({
5560
5634
  className: o,
5561
5635
  children: r,
5562
5636
  ...a
5563
- }) => /* @__PURE__ */ i(la.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5637
+ }) => /* @__PURE__ */ i(da.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5564
5638
  "div",
5565
5639
  {
5566
5640
  className: k("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5567
5641
  dir: "ltr",
5568
5642
  ...a,
5569
- children: /* @__PURE__ */ w("div", { className: "relative", children: [
5643
+ children: /* @__PURE__ */ _("div", { className: "relative", children: [
5570
5644
  /* @__PURE__ */ i(
5571
5645
  U,
5572
5646
  {
@@ -5588,7 +5662,7 @@ const la = pe({
5588
5662
  minWidth: "2.5rem"
5589
5663
  },
5590
5664
  showLineNumbers: n,
5591
- style: Pr,
5665
+ style: $r,
5592
5666
  children: e
5593
5667
  }
5594
5668
  ),
@@ -5613,7 +5687,7 @@ const la = pe({
5613
5687
  minWidth: "2.5rem"
5614
5688
  },
5615
5689
  showLineNumbers: n,
5616
- style: Dr,
5690
+ style: Ur,
5617
5691
  children: e
5618
5692
  }
5619
5693
  ),
@@ -5621,7 +5695,7 @@ const la = pe({
5621
5695
  ] })
5622
5696
  }
5623
5697
  ) });
5624
- function sa(e, t = "size-4") {
5698
+ function pa(e, t = "size-4") {
5625
5699
  return {
5626
5700
  web_search: /* @__PURE__ */ i(En, { className: t }),
5627
5701
  web_fetch: /* @__PURE__ */ i(ue, { className: t }),
@@ -5629,33 +5703,33 @@ function sa(e, t = "size-4") {
5629
5703
  image_generation: /* @__PURE__ */ i(xn, { className: t })
5630
5704
  }[e] ?? /* @__PURE__ */ i(_n, { className: t });
5631
5705
  }
5632
- const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 w-full rounded-md border", e), ...t }), ua = ({ status: e }) => {
5706
+ const ha = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 w-full rounded-md border", e), ...t }), ga = ({ status: e }) => {
5633
5707
  const { t } = M(["tools_ui"]), n = {
5634
5708
  "input-streaming": t("pending"),
5635
5709
  "input-available": t("running"),
5636
5710
  "output-available": t("completed"),
5637
5711
  "output-error": t("error")
5638
5712
  };
5639
- return /* @__PURE__ */ w(Tr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5713
+ return /* @__PURE__ */ _(Rr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5640
5714
  {
5641
5715
  "input-streaming": /* @__PURE__ */ i(Cn, { className: "size-4" }),
5642
5716
  "input-available": /* @__PURE__ */ i(Tn, { className: "size-4 animate-pulse" }),
5643
5717
  "output-available": /* @__PURE__ */ i(Nn, { className: "size-4 text-green-600" }),
5644
- "output-error": /* @__PURE__ */ i(Tt, { className: "size-4 text-red-600" })
5718
+ "output-error": /* @__PURE__ */ i(Ct, { className: "size-4 text-red-600" })
5645
5719
  }[e],
5646
5720
  n[e]
5647
5721
  ] });
5648
- }, da = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5649
- const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = sa(a, "size-4 text-muted-foreground");
5650
- return /* @__PURE__ */ w(Ue, { className: k("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5651
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
5722
+ }, ma = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5723
+ const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = pa(a, "size-4 text-muted-foreground");
5724
+ return /* @__PURE__ */ _(Ue, { className: k("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5725
+ /* @__PURE__ */ _("div", { className: "flex items-center gap-2", children: [
5652
5726
  l,
5653
5727
  /* @__PURE__ */ i("span", { className: "font-medium text-sm", children: a }),
5654
- /* @__PURE__ */ i(ua, { status: n })
5728
+ /* @__PURE__ */ i(ga, { status: n })
5655
5729
  ] }),
5656
5730
  /* @__PURE__ */ i(ie, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5657
5731
  ] });
5658
- }, pa = ({ className: e, ...t }) => /* @__PURE__ */ i(
5732
+ }, fa = ({ className: e, ...t }) => /* @__PURE__ */ i(
5659
5733
  $e,
5660
5734
  {
5661
5735
  className: k(
@@ -5664,7 +5738,7 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5664
5738
  ),
5665
5739
  ...t
5666
5740
  }
5667
- ), nn = (e) => {
5741
+ ), on = (e) => {
5668
5742
  if (typeof e == "string")
5669
5743
  try {
5670
5744
  return JSON.stringify(JSON.parse(e), null, 2);
@@ -5672,13 +5746,13 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5672
5746
  return e;
5673
5747
  }
5674
5748
  return JSON.stringify(e, null, 2);
5675
- }, ha = ({ className: e, input: t, ...n }) => {
5749
+ }, ba = ({ className: e, input: t, ...n }) => {
5676
5750
  const { t: o } = M(["tools_ui"]);
5677
- return /* @__PURE__ */ w("div", { className: k("space-y-2 overflow-hidden p-4", e), ...n, children: [
5751
+ return /* @__PURE__ */ _("div", { className: k("space-y-2 overflow-hidden p-4", e), ...n, children: [
5678
5752
  /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5679
- /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Le, { code: nn(t), language: "json" }) })
5753
+ /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Le, { code: on(t), language: "json" }) })
5680
5754
  ] });
5681
- }, ga = ({ className: e, output: t, errorText: n, ...o }) => {
5755
+ }, ya = ({ className: e, output: t, errorText: n, ...o }) => {
5682
5756
  const { t: r } = M(["tools_ui"]), [a, l] = B(!1);
5683
5757
  if (!(t || n))
5684
5758
  return null;
@@ -5696,19 +5770,19 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5696
5770
  }
5697
5771
  return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ i(Le, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5698
5772
  };
5699
- return /* @__PURE__ */ w("div", { className: k("space-y-2 p-4", e), ...o, children: [
5773
+ return /* @__PURE__ */ _("div", { className: k("space-y-2 p-4", e), ...o, children: [
5700
5774
  /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5701
- n && /* @__PURE__ */ w(Cr, { children: [
5702
- /* @__PURE__ */ i(Ar, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5703
- /* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
5775
+ n && /* @__PURE__ */ _(Or, { children: [
5776
+ /* @__PURE__ */ i(Lr, { asChild: !0, children: /* @__PURE__ */ _(ee, { variant: "destructive", size: "sm", children: [
5777
+ /* @__PURE__ */ i(Ct, { className: "mr-1.5 size-4" }),
5704
5778
  r("view_error")
5705
5779
  ] }) }),
5706
- /* @__PURE__ */ w(Or, { className: "max-w-2xl", children: [
5707
- /* @__PURE__ */ i(Lr, { children: /* @__PURE__ */ i(Fr, { className: "text-destructive", children: r("tool_error") }) }),
5708
- /* @__PURE__ */ w("div", { className: "space-y-4", children: [
5709
- /* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: nn(n) }) }),
5710
- /* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
5711
- /* @__PURE__ */ i(Nt, { className: "mr-1.5 size-4" }),
5780
+ /* @__PURE__ */ _(Pr, { className: "max-w-2xl", children: [
5781
+ /* @__PURE__ */ i(Mr, { children: /* @__PURE__ */ i(zr, { className: "text-destructive", children: r("tool_error") }) }),
5782
+ /* @__PURE__ */ _("div", { className: "space-y-4", children: [
5783
+ /* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: on(n) }) }),
5784
+ /* @__PURE__ */ _(ee, { variant: "outline", size: "sm", onClick: c, children: [
5785
+ /* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
5712
5786
  r(a ? "copied" : "copy_error")
5713
5787
  ] })
5714
5788
  ] })
@@ -5717,7 +5791,7 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5717
5791
  t && !n && /* @__PURE__ */ i("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ i("div", { children: s() }) })
5718
5792
  ] });
5719
5793
  };
5720
- function ma({
5794
+ function ka({
5721
5795
  part: e,
5722
5796
  message: t,
5723
5797
  chat: n,
@@ -5743,15 +5817,15 @@ function ma({
5743
5817
  const c = o[l];
5744
5818
  return /* @__PURE__ */ i(c, { part: e, message: t, chat: n });
5745
5819
  }
5746
- return r ? /* @__PURE__ */ w(ca, { className: "animate-in-bubble", children: [
5747
- /* @__PURE__ */ i(da, { type: e.type, state: a.state, toolName: l }),
5748
- /* @__PURE__ */ w(pa, { children: [
5749
- /* @__PURE__ */ i(ha, { input: a.input }),
5750
- (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ga, { errorText: a.errorText, output: a.output })
5820
+ return r ? /* @__PURE__ */ _(ha, { className: "animate-in-bubble", children: [
5821
+ /* @__PURE__ */ i(ma, { type: e.type, state: a.state, toolName: l }),
5822
+ /* @__PURE__ */ _(fa, { children: [
5823
+ /* @__PURE__ */ i(ba, { input: a.input }),
5824
+ (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ya, { errorText: a.errorText, output: a.output })
5751
5825
  ] })
5752
5826
  ] }) : null;
5753
5827
  }
5754
- function fa({
5828
+ function va({
5755
5829
  part: e,
5756
5830
  message: t
5757
5831
  }) {
@@ -5760,7 +5834,7 @@ function fa({
5760
5834
  const s = document.createElement("a");
5761
5835
  s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
5762
5836
  };
5763
- return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Dt, { isPlain: !0, children: r ? /* @__PURE__ */ w("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5837
+ return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { isPlain: !0, children: r ? /* @__PURE__ */ _("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5764
5838
  /* @__PURE__ */ i(
5765
5839
  "img",
5766
5840
  {
@@ -5769,7 +5843,7 @@ function fa({
5769
5843
  className: "max-h-[280px] w-full rounded-xl object-cover transition-transform duration-500 group-hover:scale-105"
5770
5844
  }
5771
5845
  ),
5772
- /* @__PURE__ */ w("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
5846
+ /* @__PURE__ */ _("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
5773
5847
  /* @__PURE__ */ i("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5774
5848
  /* @__PURE__ */ i(
5775
5849
  "button",
@@ -5789,9 +5863,9 @@ function fa({
5789
5863
  children: /* @__PURE__ */ i(ue, { className: "size-4" })
5790
5864
  }
5791
5865
  ) })
5792
- ] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ w("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5793
- /* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Et, { className: "size-4 shrink-0" }) }),
5794
- /* @__PURE__ */ w("div", { className: "flex flex-col min-w-0 mr-4", children: [
5866
+ ] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ _("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5867
+ /* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Nt, { className: "size-4 shrink-0" }) }),
5868
+ /* @__PURE__ */ _("div", { className: "flex flex-col min-w-0 mr-4", children: [
5795
5869
  /* @__PURE__ */ i("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
5796
5870
  (o.mediaType || o.media_type) && /* @__PURE__ */ i("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
5797
5871
  ] }),
@@ -5806,14 +5880,14 @@ function fa({
5806
5880
  )
5807
5881
  ] }) }) }) }) });
5808
5882
  }
5809
- const C = {
5810
- MessageList: Jn,
5811
- PromptInput: lo,
5812
- WelcomeScreen: co,
5813
- TextPart: wr,
5814
- ReasoningPart: Er,
5815
- ToolPart: ma,
5816
- FilePart: fa,
5883
+ const A = {
5884
+ MessageList: eo,
5885
+ PromptInput: co,
5886
+ WelcomeScreen: go,
5887
+ TextPart: Er,
5888
+ ReasoningPart: Ar,
5889
+ ToolPart: ka,
5890
+ FilePart: va,
5817
5891
  toolComponents: void 0,
5818
5892
  textComponents: void 0,
5819
5893
  remarkPlugins: void 0,
@@ -5858,11 +5932,11 @@ const C = {
5858
5932
  account: { enabled: !0, fields: {} }
5859
5933
  }
5860
5934
  }
5861
- }, on = pe(C);
5935
+ }, rn = de(A);
5862
5936
  function W() {
5863
- return Fe(on);
5937
+ return Fe(rn);
5864
5938
  }
5865
- function Si({
5939
+ function Ii({
5866
5940
  components: e,
5867
5941
  history: t,
5868
5942
  welcome: n,
@@ -5873,111 +5947,54 @@ function Si({
5873
5947
  app: c,
5874
5948
  i18n: s,
5875
5949
  settings: p,
5876
- children: h
5950
+ children: f
5877
5951
  }) {
5878
- const f = St(
5952
+ const m = St(
5879
5953
  () => ({
5880
- ...C,
5954
+ ...A,
5881
5955
  ...e,
5882
5956
  // toolComponents is a plain merge (not nested-spread) — callers
5883
5957
  // provide the full map for all tool names they want to override.
5884
- toolComponents: e?.toolComponents ?? C.toolComponents,
5885
- history: t ? { ...C.history, ...t } : C.history,
5886
- welcome: n ? { ...C.welcome, ...n } : C.welcome,
5887
- threadActions: o ? { ...C.threadActions, ...o } : C.threadActions,
5958
+ toolComponents: e?.toolComponents ?? A.toolComponents,
5959
+ history: t ? { ...A.history, ...t } : A.history,
5960
+ welcome: n ? { ...A.welcome, ...n } : A.welcome,
5961
+ threadActions: o ? { ...A.threadActions, ...o } : A.threadActions,
5888
5962
  composer: r ? {
5889
- ...C.composer,
5963
+ ...A.composer,
5890
5964
  ...r,
5891
- attachments: r.attachments ? { ...C.composer?.attachments, ...r.attachments } : C.composer?.attachments
5892
- } : C.composer,
5893
- theme: a ?? C.theme,
5894
- disclaimer: l ?? C.disclaimer,
5895
- app: c ? { ...C.app, ...c } : C.app,
5896
- i18n: s ?? C.i18n,
5965
+ attachments: r.attachments ? { ...A.composer?.attachments, ...r.attachments } : A.composer?.attachments
5966
+ } : A.composer,
5967
+ theme: a ?? A.theme,
5968
+ disclaimer: l ?? A.disclaimer,
5969
+ app: c ? { ...A.app, ...c } : A.app,
5970
+ i18n: s ?? A.i18n,
5897
5971
  settings: p ? {
5898
- ...C.settings,
5972
+ ...A.settings,
5899
5973
  sections: {
5900
- ...C.settings?.sections,
5974
+ ...A.settings?.sections,
5901
5975
  ...p.sections
5902
5976
  }
5903
- } : C.settings
5977
+ } : A.settings
5904
5978
  }),
5905
5979
  [e, t, n, o, r, a, l, c, s, p]
5906
5980
  );
5907
- return /* @__PURE__ */ i(on.Provider, { value: f, children: h });
5908
- }
5909
- const ba = {
5910
- theme: "system",
5911
- setTheme: () => null,
5912
- accent: void 0,
5913
- setAccent: () => null,
5914
- radius: void 0,
5915
- setRadius: () => null
5916
- }, rn = pe(ba);
5917
- function Ei({
5918
- children: e,
5919
- defaultTheme: t = "system",
5920
- storageKey: n = "chatbot-theme",
5921
- ...o
5922
- }) {
5923
- const [r, a] = B(
5924
- () => window.localStorage.getItem(n) ?? t
5925
- ), [l, c] = B(
5926
- () => window.localStorage.getItem(n + "-accent") || void 0
5927
- ), [s, p] = B(
5928
- () => window.localStorage.getItem(n + "-radius") || "1.25rem"
5929
- ), { theme: h } = W(), { i18n: f } = M(["theme"]);
5930
- Q(() => {
5931
- const m = window.document.documentElement;
5932
- if (m.classList.remove("light", "dark"), r === "system") {
5933
- const y = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
5934
- m.classList.add(y);
5935
- return;
5936
- }
5937
- m.classList.add(r);
5938
- }, [r]), Q(() => {
5939
- const m = window.document.documentElement, y = f.language?.split("-")[0] || f.language;
5940
- let d = h?.typography?.fontFamily;
5941
- if (typeof d == "object" && d !== null && (d = d[f.language] || d[y] || d.en || Object.values(d)[0]), d) {
5942
- const g = d.includes(" ") && !d.startsWith("'") && !d.startsWith('"') ? `"${d}"` : d;
5943
- m.style.setProperty("--gentiq-font-family", g), m.style.fontFamily = g, window.document.body && (window.document.body.style.fontFamily = g);
5944
- }
5945
- const v = s || (typeof h?.radius == "number" ? `${h.radius}px` : h?.radius);
5946
- v !== void 0 && m.style.setProperty("--radius", v);
5947
- const _ = l || h?.accent;
5948
- _ !== void 0 && m.style.setProperty("--gentiq-primary", _), window.document.documentElement.dir = f.dir();
5949
- }, [h, f, f.language, l, s]);
5950
- const b = {
5951
- theme: r,
5952
- setTheme: (m) => {
5953
- window.localStorage.setItem(n, m), a(m);
5954
- },
5955
- accent: l,
5956
- setAccent: (m) => {
5957
- m ? window.localStorage.setItem(n + "-accent", m) : window.localStorage.removeItem(n + "-accent"), c(m);
5958
- },
5959
- radius: s,
5960
- setRadius: (m) => {
5961
- m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"), p(m);
5962
- }
5963
- };
5964
- return /* @__PURE__ */ i(rn.Provider, { ...o, value: b, children: e });
5981
+ return /* @__PURE__ */ i(rn.Provider, { value: m, children: f });
5965
5982
  }
5966
- const Ni = () => Fe(rn), {
5967
- slice: ya,
5968
- forEach: ka
5983
+ const {
5984
+ slice: wa,
5985
+ forEach: _a
5969
5986
  } = [];
5970
- function va(e) {
5971
- return ka.call(ya.call(arguments, 1), (t) => {
5987
+ function xa(e) {
5988
+ return _a.call(wa.call(arguments, 1), (t) => {
5972
5989
  if (t)
5973
5990
  for (const n in t)
5974
5991
  e[n] === void 0 && (e[n] = t[n]);
5975
5992
  }), e;
5976
5993
  }
5977
- function wa(e) {
5994
+ function Sa(e) {
5978
5995
  return typeof e != "string" ? !1 : [/<\s*script.*?>/i, /<\s*\/\s*script\s*>/i, /<\s*img.*?on\w+\s*=/i, /<\s*\w+\s*on\w+\s*=.*?>/i, /javascript\s*:/i, /vbscript\s*:/i, /expression\s*\(/i, /eval\s*\(/i, /alert\s*\(/i, /document\.cookie/i, /document\.write\s*\(/i, /window\.location/i, /innerHTML/i].some((n) => n.test(e));
5979
5996
  }
5980
- const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, _a = function(e, t) {
5997
+ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Ea = function(e, t) {
5981
5998
  const o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
5982
5999
  path: "/"
5983
6000
  }, r = encodeURIComponent(t);
@@ -6026,7 +6043,7 @@ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, _a = function(e, t) {
6026
6043
  path: "/",
6027
6044
  sameSite: "strict"
6028
6045
  };
6029
- n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = _a(e, t, r);
6046
+ n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = Ea(e, t, r);
6030
6047
  },
6031
6048
  read(e) {
6032
6049
  const t = `${e}=`, n = document.cookie.split(";");
@@ -6041,7 +6058,7 @@ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, _a = function(e, t) {
6041
6058
  this.create(e, "", -1, t);
6042
6059
  }
6043
6060
  };
6044
- var xa = {
6061
+ var Na = {
6045
6062
  name: "cookie",
6046
6063
  // Deconstruct the options object and extract the lookupCookie property
6047
6064
  lookup(e) {
@@ -6061,7 +6078,7 @@ var xa = {
6061
6078
  } = t;
6062
6079
  n && typeof document < "u" && wt.create(n, e, o, r, a);
6063
6080
  }
6064
- }, Sa = {
6081
+ }, Ta = {
6065
6082
  name: "querystring",
6066
6083
  // Deconstruct the options object and extract the lookupQuerystring property
6067
6084
  lookup(e) {
@@ -6081,7 +6098,7 @@ var xa = {
6081
6098
  }
6082
6099
  return n;
6083
6100
  }
6084
- }, Ea = {
6101
+ }, Ca = {
6085
6102
  name: "hash",
6086
6103
  // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property
6087
6104
  lookup(e) {
@@ -6125,7 +6142,7 @@ const _t = () => {
6125
6142
  }
6126
6143
  return Y;
6127
6144
  };
6128
- var Na = {
6145
+ var Aa = {
6129
6146
  name: "localStorage",
6130
6147
  // Deconstruct the options object and extract the lookupLocalStorage property
6131
6148
  lookup(e) {
@@ -6156,7 +6173,7 @@ const xt = () => {
6156
6173
  }
6157
6174
  return X;
6158
6175
  };
6159
- var Ta = {
6176
+ var Ia = {
6160
6177
  name: "sessionStorage",
6161
6178
  lookup(e) {
6162
6179
  let {
@@ -6171,7 +6188,7 @@ var Ta = {
6171
6188
  } = t;
6172
6189
  n && xt() && window.sessionStorage.setItem(n, e);
6173
6190
  }
6174
- }, Ca = {
6191
+ }, Ra = {
6175
6192
  name: "navigator",
6176
6193
  lookup(e) {
6177
6194
  const t = [];
@@ -6188,7 +6205,7 @@ var Ta = {
6188
6205
  }
6189
6206
  return t.length > 0 ? t : void 0;
6190
6207
  }
6191
- }, Aa = {
6208
+ }, Oa = {
6192
6209
  name: "htmlTag",
6193
6210
  // Deconstruct the options object and extract the htmlTag property
6194
6211
  lookup(e) {
@@ -6198,7 +6215,7 @@ var Ta = {
6198
6215
  const o = t || (typeof document < "u" ? document.documentElement : null);
6199
6216
  return o && typeof o.getAttribute == "function" && (n = o.getAttribute("lang")), n;
6200
6217
  }
6201
- }, Ia = {
6218
+ }, La = {
6202
6219
  name: "path",
6203
6220
  // Deconstruct the options object and extract the lookupFromPathIndex property
6204
6221
  lookup(e) {
@@ -6209,7 +6226,7 @@ var Ta = {
6209
6226
  const n = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
6210
6227
  return Array.isArray(n) ? n[typeof t == "number" ? t : 0]?.replace("/", "") : void 0;
6211
6228
  }
6212
- }, Ra = {
6229
+ }, Fa = {
6213
6230
  name: "subdomain",
6214
6231
  lookup(e) {
6215
6232
  let {
@@ -6227,7 +6244,7 @@ try {
6227
6244
  }
6228
6245
  const ln = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
6229
6246
  an || ln.splice(1, 1);
6230
- const Oa = () => ({
6247
+ const Da = () => ({
6231
6248
  order: ln,
6232
6249
  lookupQuerystring: "lng",
6233
6250
  lookupCookie: "i18next",
@@ -6249,7 +6266,7 @@ class sn {
6249
6266
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
6250
6267
  languageUtils: {}
6251
6268
  }, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
6252
- this.services = t, this.options = va(n, this.options || {}, Oa()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(xa), this.addDetector(Sa), this.addDetector(Na), this.addDetector(Ta), this.addDetector(Ca), this.addDetector(Aa), this.addDetector(Ia), this.addDetector(Ra), this.addDetector(Ea);
6269
+ this.services = t, this.options = xa(n, this.options || {}, Da()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(Na), this.addDetector(Ta), this.addDetector(Aa), this.addDetector(Ia), this.addDetector(Ra), this.addDetector(Oa), this.addDetector(La), this.addDetector(Fa), this.addDetector(Ca);
6253
6270
  }
6254
6271
  addDetector(t) {
6255
6272
  return this.detectors[t.name] = t, this;
@@ -6261,7 +6278,7 @@ class sn {
6261
6278
  let r = this.detectors[o].lookup(this.options);
6262
6279
  r && typeof r == "string" && (r = [r]), r && (n = n.concat(r));
6263
6280
  }
6264
- }), n = n.filter((o) => o != null && !wa(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6281
+ }), n = n.filter((o) => o != null && !Sa(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6265
6282
  }
6266
6283
  cacheUserLanguage(t) {
6267
6284
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.caches;
@@ -6271,30 +6288,30 @@ class sn {
6271
6288
  }
6272
6289
  }
6273
6290
  sn.type = "languageDetector";
6274
- const La = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Fa = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, Da = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Pa = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Ma = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, za = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected)." }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Ua = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, $a = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, Ba = {
6275
- sidebar: La,
6276
- chat: Fa,
6277
- tools_ui: Da,
6278
- login: Pa,
6279
- theme: Ma,
6280
- admin: za,
6281
- settings: Ua,
6282
- errors: $a
6283
- }, Ha = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, qa = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, ja = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ga = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Va = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Wa = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار)." }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش می‌دهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعال‌سازی ثبت‌نام", disable_signup_help: "تب ثبت‌نام را مخفی می‌کند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعال‌سازی صفحه ورود/ثبت‌نام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی می‌کند و دسترسی به فرم‌های ورود و ثبت‌نام را می‌بندد.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیش‌فرض", initial_balance_requests: "تعداد درخواست اولیه پیش‌فرض", initial_balance_help: "این مقادیر به‌صورت خودکار به کاربران جدید اختصاص داده می‌شوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Ya = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Xa = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخ‌گویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Ka = {
6284
- sidebar: Ha,
6285
- chat: qa,
6286
- tools_ui: ja,
6287
- login: Ga,
6288
- theme: Va,
6289
- admin: Wa,
6290
- settings: Ya,
6291
- errors: Xa
6292
- }, Za = {
6293
- en: Ba,
6294
- fa: Ka
6295
- }, Ja = Ln.createInstance();
6296
- Ja.use(sn).use(un).init({
6297
- resources: Za,
6291
+ const Pa = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Ma = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, za = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Ua = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, $a = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Ba = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected).", appearance: "Default Appearance", appearance_help: "These values apply when a user has not saved their own appearance preferences.", default_theme: "Default Theme", default_accent: "Default Accent Color", default_accent_help: "Enter any browser-supported CSS color, such as #3b82f6, rgb(59 130 246), or oklch(0.623 0.214 259.815).", default_accent_invalid: "Enter a valid browser-supported CSS color.", default_accent_preview: "Accent color preview" }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Ha = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, qa = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, ja = {
6292
+ sidebar: Pa,
6293
+ chat: Ma,
6294
+ tools_ui: za,
6295
+ login: Ua,
6296
+ theme: $a,
6297
+ admin: Ba,
6298
+ settings: Ha,
6299
+ errors: qa
6300
+ }, Ga = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, Va = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, Wa = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ya = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Xa = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Ka = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار).", appearance: "ظاهر پیش‌فرض", appearance_help: "این مقادیر زمانی اعمال می‌شوند که کاربر تنظیمات ظاهری خود را ذخیره نکرده باشد.", default_theme: "پوسته پیش‌فرض", default_accent: "رنگ اصلی پیش‌فرض", default_accent_help: "هر رنگ CSS پشتیبانی‌شده توسط مرورگر را وارد کنید؛ مانند #3b82f6 یا rgb(59 130 246).", default_accent_invalid: "یک رنگ CSS معتبر و پشتیبانی‌شده توسط مرورگر وارد کنید.", default_accent_preview: "پیش‌نمایش رنگ اصلی" }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش می‌دهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعال‌سازی ثبت‌نام", disable_signup_help: "تب ثبت‌نام را مخفی می‌کند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعال‌سازی صفحه ورود/ثبت‌نام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی می‌کند و دسترسی به فرم‌های ورود و ثبت‌نام را می‌بندد.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیش‌فرض", initial_balance_requests: "تعداد درخواست اولیه پیش‌فرض", initial_balance_help: "این مقادیر به‌صورت خودکار به کاربران جدید اختصاص داده می‌شوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Za = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Ja = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخ‌گویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Qa = {
6301
+ sidebar: Ga,
6302
+ chat: Va,
6303
+ tools_ui: Wa,
6304
+ login: Ya,
6305
+ theme: Xa,
6306
+ admin: Ka,
6307
+ settings: Za,
6308
+ errors: Ja
6309
+ }, ei = {
6310
+ en: ja,
6311
+ fa: Qa
6312
+ }, ti = Fn.createInstance();
6313
+ ti.use(sn).use(un).init({
6314
+ resources: ei,
6298
6315
  fallbackLng: "en",
6299
6316
  returnNull: !1,
6300
6317
  returnEmptyString: !1,
@@ -6308,7 +6325,7 @@ Ja.use(sn).use(un).init({
6308
6325
  caches: ["localStorage"]
6309
6326
  }
6310
6327
  });
6311
- function Ti({ className: e, type: t, ...n }) {
6328
+ function Ri({ className: e, type: t, ...n }) {
6312
6329
  return /* @__PURE__ */ i(
6313
6330
  "input",
6314
6331
  {
@@ -6324,33 +6341,33 @@ function Ti({ className: e, type: t, ...n }) {
6324
6341
  }
6325
6342
  );
6326
6343
  }
6327
- const Ci = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", Qa = Pe(
6344
+ const Oi = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", ni = De(
6328
6345
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
6329
- ), ei = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
6346
+ ), oi = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
6330
6347
  "label",
6331
6348
  {
6332
6349
  ref: n,
6333
- className: k(Qa(), e),
6350
+ className: k(ni(), e),
6334
6351
  ...t
6335
6352
  }
6336
6353
  ));
6337
- ei.displayName = "Label";
6338
- function Ai({ ...e }) {
6354
+ oi.displayName = "Label";
6355
+ function Li({ ...e }) {
6339
6356
  return /* @__PURE__ */ i(F.Root, { "data-slot": "select", ...e });
6340
6357
  }
6341
- function Ii({ ...e }) {
6358
+ function Fi({ ...e }) {
6342
6359
  return /* @__PURE__ */ i(F.Group, { "data-slot": "select-group", ...e });
6343
6360
  }
6344
- function Ri({ ...e }) {
6361
+ function Di({ ...e }) {
6345
6362
  return /* @__PURE__ */ i(F.Value, { "data-slot": "select-value", ...e });
6346
6363
  }
6347
- function Oi({
6364
+ function Pi({
6348
6365
  className: e,
6349
6366
  size: t = "default",
6350
6367
  children: n,
6351
6368
  ...o
6352
6369
  }) {
6353
- return /* @__PURE__ */ w(
6370
+ return /* @__PURE__ */ _(
6354
6371
  F.Trigger,
6355
6372
  {
6356
6373
  "data-slot": "select-trigger",
@@ -6367,13 +6384,13 @@ function Oi({
6367
6384
  }
6368
6385
  );
6369
6386
  }
6370
- function Li({
6387
+ function Mi({
6371
6388
  className: e,
6372
6389
  children: t,
6373
6390
  position: n = "popper",
6374
6391
  ...o
6375
6392
  }) {
6376
- return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */ w(
6393
+ return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */ _(
6377
6394
  F.Content,
6378
6395
  {
6379
6396
  "data-slot": "select-content",
@@ -6385,7 +6402,7 @@ function Li({
6385
6402
  position: n,
6386
6403
  ...o,
6387
6404
  children: [
6388
- /* @__PURE__ */ i(ti, {}),
6405
+ /* @__PURE__ */ i(ri, {}),
6389
6406
  /* @__PURE__ */ i(
6390
6407
  F.Viewport,
6391
6408
  {
@@ -6396,12 +6413,12 @@ function Li({
6396
6413
  children: t
6397
6414
  }
6398
6415
  ),
6399
- /* @__PURE__ */ i(ni, {})
6416
+ /* @__PURE__ */ i(ai, {})
6400
6417
  ]
6401
6418
  }
6402
6419
  ) });
6403
6420
  }
6404
- function Fi({ className: e, ...t }) {
6421
+ function zi({ className: e, ...t }) {
6405
6422
  return /* @__PURE__ */ i(
6406
6423
  F.Label,
6407
6424
  {
@@ -6411,8 +6428,8 @@ function Fi({ className: e, ...t }) {
6411
6428
  }
6412
6429
  );
6413
6430
  }
6414
- function Di({ className: e, children: t, ...n }) {
6415
- return /* @__PURE__ */ w(
6431
+ function Ui({ className: e, children: t, ...n }) {
6432
+ return /* @__PURE__ */ _(
6416
6433
  F.Item,
6417
6434
  {
6418
6435
  "data-slot": "select-item",
@@ -6422,13 +6439,13 @@ function Di({ className: e, children: t, ...n }) {
6422
6439
  ),
6423
6440
  ...n,
6424
6441
  children: [
6425
- /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(F.ItemIndicator, { children: /* @__PURE__ */ i(De, { className: "size-4" }) }) }),
6442
+ /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(F.ItemIndicator, { children: /* @__PURE__ */ i(Pe, { className: "size-4" }) }) }),
6426
6443
  /* @__PURE__ */ i(F.ItemText, { children: t })
6427
6444
  ]
6428
6445
  }
6429
6446
  );
6430
6447
  }
6431
- function Pi({ className: e, ...t }) {
6448
+ function $i({ className: e, ...t }) {
6432
6449
  return /* @__PURE__ */ i(
6433
6450
  F.Separator,
6434
6451
  {
@@ -6438,7 +6455,7 @@ function Pi({ className: e, ...t }) {
6438
6455
  }
6439
6456
  );
6440
6457
  }
6441
- function ti({ className: e, ...t }) {
6458
+ function ri({ className: e, ...t }) {
6442
6459
  return /* @__PURE__ */ i(
6443
6460
  F.ScrollUpButton,
6444
6461
  {
@@ -6449,7 +6466,7 @@ function ti({ className: e, ...t }) {
6449
6466
  }
6450
6467
  );
6451
6468
  }
6452
- function ni({
6469
+ function ai({
6453
6470
  className: e,
6454
6471
  ...t
6455
6472
  }) {
@@ -6463,7 +6480,7 @@ function ni({
6463
6480
  }
6464
6481
  );
6465
6482
  }
6466
- function Mi(e, t) {
6483
+ function Bi(e, t) {
6467
6484
  if (!e) return !0;
6468
6485
  const { field: n, operator: o = "equals", value: r } = e, a = t[n];
6469
6486
  switch (o) {
@@ -6479,13 +6496,13 @@ function Mi(e, t) {
6479
6496
  return !0;
6480
6497
  }
6481
6498
  }
6482
- function zi({ ...e }) {
6499
+ function Hi({ ...e }) {
6483
6500
  return /* @__PURE__ */ i(re.Root, { "data-slot": "dropdown-menu", ...e });
6484
6501
  }
6485
- function Ui({ ...e }) {
6502
+ function qi({ ...e }) {
6486
6503
  return /* @__PURE__ */ i(re.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
6487
6504
  }
6488
- function $i({
6505
+ function ji({
6489
6506
  className: e,
6490
6507
  sideOffset: t = 4,
6491
6508
  ...n
@@ -6503,7 +6520,7 @@ function $i({
6503
6520
  }
6504
6521
  ) });
6505
6522
  }
6506
- function Bi({
6523
+ function Gi({
6507
6524
  className: e,
6508
6525
  inset: t,
6509
6526
  variant: n = "default",
@@ -6523,7 +6540,7 @@ function Bi({
6523
6540
  }
6524
6541
  );
6525
6542
  }
6526
- function Hi({ className: e, ...t }) {
6543
+ function Vi({ className: e, ...t }) {
6527
6544
  return /* @__PURE__ */ i(
6528
6545
  Ye.Root,
6529
6546
  {
@@ -6538,68 +6555,70 @@ function Hi({ className: e, ...t }) {
6538
6555
  {
6539
6556
  "data-slot": "checkbox-indicator",
6540
6557
  className: "grid place-content-center text-current transition-none",
6541
- children: /* @__PURE__ */ i(De, { className: "size-3.5" })
6558
+ children: /* @__PURE__ */ i(Pe, { className: "size-3.5" })
6542
6559
  }
6543
6560
  )
6544
6561
  }
6545
6562
  );
6546
6563
  }
6547
6564
  export {
6548
- co as $,
6549
- Bi as A,
6565
+ ka as $,
6566
+ ji as A,
6550
6567
  ee as B,
6551
- Si as C,
6552
- Cr as D,
6553
- Lr as E,
6554
- Fr as F,
6568
+ Ii as C,
6569
+ Or as D,
6570
+ Gi as E,
6571
+ Mr as F,
6555
6572
  Xe as G,
6556
- xi as H,
6557
- Ti as I,
6558
- _i as J,
6559
- Hi as K,
6560
- ei as L,
6561
- fe as M,
6562
- fa as N,
6563
- Jn as O,
6564
- Bn as P,
6565
- lo as Q,
6566
- Er as R,
6567
- Ai as S,
6568
- Ei as T,
6569
- Ii as U,
6573
+ zr as H,
6574
+ Ri as I,
6575
+ Ai as J,
6576
+ Ci as K,
6577
+ oi as L,
6578
+ Vi as M,
6579
+ fe as N,
6580
+ va as O,
6581
+ eo as P,
6582
+ qn as Q,
6583
+ co as R,
6584
+ Li as S,
6585
+ xi as T,
6586
+ Ar as U,
6570
6587
  Fi as V,
6571
- ni as W,
6572
- ti as X,
6573
- Pi as Y,
6574
- wr as Z,
6575
- ma as _,
6588
+ zi as W,
6589
+ ai as X,
6590
+ ri as Y,
6591
+ $i as Z,
6592
+ Er as _,
6576
6593
  W as a,
6577
- wi as a0,
6578
- Qn as a1,
6579
- sn as a2,
6580
- $n as b,
6581
- ki as c,
6582
- Za as d,
6594
+ go as a0,
6595
+ ho as a1,
6596
+ Ti as a2,
6597
+ to as a3,
6598
+ sn as a4,
6599
+ Hn as b,
6600
+ Ei as c,
6601
+ ei as d,
6583
6602
  k as e,
6584
- io as f,
6585
- Ja as g,
6586
- It as h,
6587
- Rt as i,
6588
- vi as j,
6589
- Ot as k,
6590
- Lt as l,
6591
- Ni as m,
6592
- Mi as n,
6593
- Ar as o,
6594
- Or as p,
6595
- Oi as q,
6596
- Ri as r,
6597
- Li as s,
6598
- Di as t,
6603
+ so as f,
6604
+ ti as g,
6605
+ Rt as h,
6606
+ Ot as i,
6607
+ Ni as j,
6608
+ Lt as k,
6609
+ Ft as l,
6610
+ Si as m,
6611
+ Bi as n,
6612
+ Lr as o,
6613
+ Pr as p,
6614
+ Pi as q,
6615
+ Di as r,
6616
+ Mi as s,
6617
+ Ui as t,
6599
6618
  S as u,
6600
- Ci as v,
6601
- ge as w,
6602
- zi as x,
6603
- Ui as y,
6604
- $i as z
6619
+ po as v,
6620
+ Oi as w,
6621
+ ge as x,
6622
+ Hi as y,
6623
+ qi as z
6605
6624
  };