From 633d9c015aed36ee8cd927f3945d6dc98472a0bd Mon Sep 17 00:00:00 2001 From: Gaspard Kirira Date: Sun, 8 Feb 2026 21:04:03 +0300 Subject: [PATCH] update --- assets/index-C9-vr4ev.css | 1 + .../{index-C6ZJQ5UD.js => index-DXOty-Dn.js} | 26 +++++++++---------- assets/index-WJMByNKR.css | 1 - index.html | 4 +-- sw.js | 2 +- vix-site/src/data/github_stats.json | 2 +- vix-site/src/pages/Home.vue | 4 +-- 7 files changed, 19 insertions(+), 21 deletions(-) create mode 100644 assets/index-C9-vr4ev.css rename assets/{index-C6ZJQ5UD.js => index-DXOty-Dn.js} (55%) delete mode 100644 assets/index-WJMByNKR.css diff --git a/assets/index-C9-vr4ev.css b/assets/index-C9-vr4ev.css new file mode 100644 index 000000000..b3aa0ec24 --- /dev/null +++ b/assets/index-C9-vr4ev.css @@ -0,0 +1 @@ +.hdr[data-v-f345a2b4]{position:fixed;top:0;left:0;right:0;z-index:80;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,#011816fa,#020617e6);border-bottom:1px solid rgba(45,212,191,.22);box-shadow:0 10px 30px #0009}[data-v-f345a2b4]:root{--hdr-h: 64px}main[data-v-f345a2b4],#app[data-v-f345a2b4]{padding-top:var(--hdr-h)}.wrap[data-v-f345a2b4]{max-width:1120px;margin:0 auto;padding:.6rem 1.1rem;display:flex;align-items:center;gap:.9rem}.brand[data-v-f345a2b4]{display:inline-flex;align-items:baseline;gap:.8rem}.logo[data-v-f345a2b4]{font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px rgba(45,212,191,.35);font-size:1.3rem}.tag[data-v-f345a2b4]{color:#cbd5e1e6;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44ch}.nav[data-v-f345a2b4]{display:none;align-items:center;gap:1.1rem;margin-left:auto}.link[data-v-f345a2b4]{color:#cbd5e1;position:relative;padding:.25rem .2rem;font-size:.9rem;transition:color .2s ease}.link[data-v-f345a2b4]:hover{color:#5eead4}.link[data-v-f345a2b4]:after{content:"";position:absolute;left:.2rem;right:.2rem;bottom:-.2rem;height:2px;border-radius:999px;background:linear-gradient(90deg,#2dd4bf,#06b6d4);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.link[data-v-f345a2b4]:hover:after,.is-active[data-v-f345a2b4]:after{transform:scaleX(1)}.spacer[data-v-f345a2b4]{width:.75rem}.pill[data-v-f345a2b4]{margin-left:.35rem;padding:.12rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.3);background:#022c228c;color:#e5f9f6;font-size:.72rem;white-space:nowrap}.ext[data-v-f345a2b4]{opacity:.95}.cta[data-v-f345a2b4]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:#022c22e6;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;font-size:.86rem;transition:background .16s ease,border-color .16s ease,transform .12s ease}.cta[data-v-f345a2b4]:hover{background:#023c2ff2;border-color:#2dd4bfd9;transform:translateY(-1px)}.dd[data-v-f345a2b4]{position:relative}.dd-btn[data-v-f345a2b4]{background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.chev[data-v-f345a2b4]{opacity:.8;font-size:.85em;transform:translateY(-1px)}.dd-menu[data-v-f345a2b4]{position:absolute;top:120%;left:0;min-width:230px;padding:.55rem;border-radius:14px;background:#011110fa;border:1px solid rgba(34,197,154,.6);box-shadow:0 18px 40px #000000e6;display:none;flex-direction:column;gap:.35rem;z-index:90}.dd-menu.open[data-v-f345a2b4]{display:flex;animation:ddFade-f345a2b4 .12s ease-out}.dd-item[data-v-f345a2b4]{padding:.42rem .55rem;border-radius:10px;color:#e5e7eb;font-size:.86rem}.dd-item[data-v-f345a2b4]:hover{background:#0f766e59}@keyframes ddFade-f345a2b4{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.burger[data-v-f345a2b4]{margin-left:auto;width:40px;height:36px;border-radius:999px;border:1px solid rgba(45,212,191,.4);background:#022c22f2;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}.burger[data-v-f345a2b4]:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.burger span[data-v-f345a2b4]{width:16px;height:2px;border-radius:999px;background:#e5f9f6f2;transition:transform .18s ease,opacity .18s ease}.burger.open span[data-v-f345a2b4]:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span[data-v-f345a2b4]:nth-child(2){opacity:0}.burger.open span[data-v-f345a2b4]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mnav[data-v-f345a2b4]{padding:.85rem 1.1rem 1.1rem;background:radial-gradient(circle at top,#020817 0,#020617 60%);border-bottom:1px solid rgba(34,197,154,.35);box-shadow:0 22px 40px #000000d9}.mlink[data-v-f345a2b4]{display:flex;align-items:center;justify-content:space-between;padding:.55rem .25rem;color:#cbd5e1;font-size:.98rem}.mlink[data-v-f345a2b4]:hover{color:#5eead4}.msep[data-v-f345a2b4]{height:1px;background:#22c59a38;margin:.55rem 0}.mdd-btn[data-v-f345a2b4]{width:100%;background:transparent;border:0;cursor:pointer;text-align:left}.mdd-menu[data-v-f345a2b4]{padding:.25rem .2rem .55rem}.mdd-item[data-v-f345a2b4]{display:block;padding:.45rem;border-radius:10px;color:#e5e7eb;font-size:.92rem}.mdd-item[data-v-f345a2b4]:hover{background:#0f766e59}@media(min-width:900px){.burger[data-v-f345a2b4]{display:none}.nav[data-v-f345a2b4]{display:flex}.tag[data-v-f345a2b4]{max-width:60ch}}.ft[data-v-3124d47e]{border-top:1px solid rgba(255,255,255,.08);margin-top:30px}.wrap[data-v-3124d47e]{max-width:1100px;margin:0 auto;padding:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.brand[data-v-3124d47e]{font-weight:800;letter-spacing:.2px}.muted[data-v-3124d47e]{opacity:.7;font-size:12px;margin-top:4px;display:flex;align-items:center;gap:6px}.version[data-v-3124d47e]{padding:.1rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.25);background:#022c2273;color:#a7f3d0;font-weight:700;font-size:11px}.right[data-v-3124d47e]{display:flex;gap:14px;align-items:center}.link[data-v-3124d47e]{text-decoration:none;opacity:.8;font-size:13px}.link[data-v-3124d47e]:hover{opacity:1}.app[data-v-6ed3c61b]{--header-h: 64px}.main[data-v-6ed3c61b]{padding-top:calc(var(--header-h) + 18px);min-height:calc(100vh - var(--header-h))}@media(max-width:900px){.app[data-v-6ed3c61b]{--header-h: 76px}}.hero[data-v-362c406f]{padding:0}.hero-inner[data-v-362c406f]{display:grid;gap:2.25rem;align-items:flex-start}@media(min-width:980px){.hero-inner[data-v-362c406f]{grid-template-columns:1.05fr .95fr;gap:3rem}}.hero-title[data-v-362c406f]{font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 .9rem}.hero-subtitle[data-v-362c406f]{margin:0 0 1.4rem;font-size:1.05rem;line-height:1.6;opacity:.9;max-width:60ch}.hero-ctas[data-v-362c406f]{display:flex;gap:.85rem;flex-wrap:wrap;margin:0 0 1.2rem}.hero-badges[data-v-362c406f]{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.35rem}.hero-copy[data-v-362c406f]{max-width:58ch}.hero-kicker[data-v-362c406f]{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0bf;margin:0 0 .65rem}.hero-title[data-v-362c406f]{font-size:clamp(1.85rem,2.6vw,2.55rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 .95rem;font-weight:800;color:#fffffff5;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.hero-support[data-v-362c406f]{margin-top:.95rem;padding:.85rem .95rem;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#02061747,#02061724);box-shadow:0 12px 26px #00000038;max-width:54ch}.hero-support-title[data-v-362c406f]{font-size:.86rem;font-weight:800;letter-spacing:.01em;color:#ffffffeb;margin:0 0 .35rem}.hero-support-text[data-v-362c406f]{font-size:.92rem;line-height:1.55;color:#e2e8f0d1;margin:0 0 .55rem}.hero-support-meta[data-v-362c406f]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.82rem;color:#e2e8f0b8}.meta-dot[data-v-362c406f]{width:8px;height:8px;border-radius:999px;background:#22c59ad9;box-shadow:0 0 0 3px #22c59a2e}.sep[data-v-362c406f]{opacity:.5}.dot-sep[data-v-362c406f]{opacity:.45;font-weight:700}.hero-subtitle[data-v-362c406f]{margin:0 0 1.35rem;font-size:1.02rem;line-height:1.65;opacity:.88;max-width:54ch}@media(max-width:720px){.hero-title[data-v-362c406f]{font-size:1.95rem;line-height:1.14}.hero-subtitle[data-v-362c406f]{font-size:.98rem}}.pill[data-v-362c406f]{font-size:.85rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;opacity:.95;white-space:nowrap}.btn[data-v-362c406f]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;transition:transform .12s ease,background .12s ease,border-color .12s ease}.btn[data-v-362c406f]:hover{transform:translateY(-1px);border-color:#ffffff38;background:#ffffff17}.btn.primary[data-v-362c406f]{background:#ff99001f;color:#fff}.btn.primary[data-v-362c406f]:hover{border-color:#f90c;background:#ff990029}.btn.secondary[data-v-362c406f]{opacity:.95}.hero-side[data-v-362c406f]{display:flex;justify-content:center;align-items:flex-start}.code-card[data-v-362c406f]{width:clamp(480px,88vw,620px);max-width:100%;min-width:0;margin:0 auto;border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}@media(max-width:720px){.code-card[data-v-362c406f]{width:100%}}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:10px}.head-scroll[data-v-362c406f]{display:flex;align-items:center;gap:10px;min-width:0;flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:none}.head-scroll[data-v-362c406f]::-webkit-scrollbar{display:none}.head-left[data-v-362c406f]{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:max-content}.tabs[data-v-362c406f]{flex:0 0 auto;min-width:max-content;white-space:nowrap}.copy-btn[data-v-362c406f]{flex:0 0 auto}.head-left[data-v-362c406f]{display:flex;align-items:center;gap:10px;min-width:0}.dot[data-v-362c406f]{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red[data-v-362c406f]{background:#fb923c}.dot-yellow[data-v-362c406f]{background:#facc15}.dot-green[data-v-362c406f]{background:#22c55e}.head-title[data-v-362c406f]{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;min-width:0}.head-right[data-v-362c406f]{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn.cta-main[data-v-362c406f]{background:linear-gradient(180deg,#22c59a38,#22c59a1f);border-color:#22c59a8c;color:#ecfeff}.btn.cta-main[data-v-362c406f]:hover{background:linear-gradient(180deg,#22c59a4d,#22c59a2e);border-color:#22c59ae6}.btn.cta-secondary[data-v-362c406f]{background:transparent;border-color:#94a3b859;color:#e2e8f0d9}.btn.cta-secondary[data-v-362c406f]:hover{background:#ffffff0f;border-color:#e2e8f0a6;color:#fff}.tabs[data-v-362c406f]{display:flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16);white-space:nowrap}.tab[data-v-362c406f]{border:0;background:transparent;color:#cbd5e1;font-size:.72rem;padding:5px 8px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.tabs[data-v-362c406f]{gap:4px;padding:3px}.tab[data-v-362c406f]{padding:5px 8px;font-size:.72rem}.tab[data-v-362c406f]:hover{background:#94a3b81f;color:#e5e7eb}.tab.active[data-v-362c406f]{background:#22c59a2e;color:#d1fae5}@media(max-width:420px){.tab[data-v-362c406f]{font-size:.68rem;padding:4px 7px}.head-title[data-v-362c406f]{max-width:34vw}}.code-head[data-v-362c406f]{flex-wrap:nowrap}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.head-scroll[data-v-362c406f]{min-width:0;flex:1 1 auto}.tabs[data-v-362c406f]{flex:0 0 auto;max-width:100%}.head-left[data-v-362c406f],.head-right[data-v-362c406f]{flex-shrink:0}.copy-btn[data-v-362c406f]{width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(148,163,184,.18);background:#0f172a73;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease;opacity:0;pointer-events:none;color:#e5e7eb}.copy-btn svg[data-v-362c406f]{display:block;width:18px;height:18px;margin:0 auto;color:inherit}.copy-btn svg path[data-v-362c406f]{stroke:currentColor!important;fill:none!important}.code-card:hover .copy-btn[data-v-362c406f],.code-card:focus-within .copy-btn[data-v-362c406f]{opacity:1;pointer-events:auto}.copy-btn[data-v-362c406f]:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47;color:#fff}.copy-btn[data-v-362c406f]:active{color:#22c55e}@media(hover:none),(pointer:coarse){.copy-btn[data-v-362c406f]{opacity:1;pointer-events:auto}}.code-pre[data-v-362c406f]{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0;background:transparent}.code-pre>code[data-v-362c406f]{display:inline-block;min-width:100%}.code-body[data-v-362c406f]{height:340px;overflow:auto}.code-body[data-v-362c406f]::-webkit-scrollbar{height:8px;width:10px}.code-body[data-v-362c406f]::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body[data-v-362c406f]::-webkit-scrollbar-track{background:#020617e6}.cpp-directive[data-v-362c406f]{color:#c586c0}.cpp-include[data-v-362c406f]{color:#ce9178}.cpp-keyword[data-v-362c406f]{color:#569cd6}.cpp-type[data-v-362c406f]{color:#4ec9b0}.cpp-namespace[data-v-362c406f]{color:#4fc1ff}.cpp-fn[data-v-362c406f]{color:#dcdcaa}.cpp-member[data-v-362c406f]{color:#9cdcfe}.cpp-ident[data-v-362c406f]{color:#e2e8f0}.cpp-string[data-v-362c406f]{color:#ce9178}.cpp-char[data-v-362c406f]{color:#d7ba7d}.cpp-number[data-v-362c406f]{color:#b5cea8}.cpp-comment[data-v-362c406f]{color:#6a9955;font-style:italic}.cpp-op[data-v-362c406f]{color:#e2e8f08c}.cpp-url[data-v-362c406f]{color:#4fc1ff;text-decoration:underline;text-underline-offset:2px}.shell-prompt[data-v-362c406f]{color:#22c55e;font-weight:800}.shell-cmd[data-v-362c406f]{color:#38bdf8;font-weight:800}.shell-flag[data-v-362c406f]{color:#f97316;font-weight:800}.shell-path[data-v-362c406f]{color:#a5b4fc}.shell-url[data-v-362c406f]{color:#38bdf8;text-decoration:underline;text-underline-offset:2px}.shell-port[data-v-362c406f]{color:#b5cea8}.shell-http[data-v-362c406f]{color:#dcdcaa;font-weight:800}.shell-hdr[data-v-362c406f]{color:#4ec9b0;font-weight:800}.shell-hdrv[data-v-362c406f]{color:#e2e8f0}@media(max-width:720px){.head-title[data-v-362c406f]{max-width:42vw}.code-pre[data-v-362c406f]{font-size:.84rem}}.section[data-v-b068929b]{padding:3.6rem 0}.section.tight[data-v-b068929b]{padding:2.6rem 0}.section.alt[data-v-b068929b]{background:#ffffff08;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.section-head[data-v-b068929b]{margin-bottom:1.65rem}.section-title[data-v-b068929b]{margin:0;font-size:1.55rem;line-height:1.2;letter-spacing:-.01em}.section-subtitle[data-v-b068929b]{margin:.65rem 0 0;max-width:75ch;opacity:.85;line-height:1.6}.section-body[data-v-b068929b]{margin-top:1.1rem}.code-card[data-v-4a7f74a5]{width:clamp(520px,92vw,980px);max-width:100%;min-width:0;margin:0 auto;border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}.code-card[data-v-4a7f74a5]{width:100%;max-width:100%;margin:0}@media(max-width:720px){.code-card[data-v-4a7f74a5]{width:100%}}.code-head[data-v-4a7f74a5]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.head-left[data-v-4a7f74a5]{display:flex;align-items:center;gap:10px;min-width:0}.dot[data-v-4a7f74a5]{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red[data-v-4a7f74a5]{background:#fb923c}.dot-yellow[data-v-4a7f74a5]{background:#facc15}.dot-green[data-v-4a7f74a5]{background:#22c55e}.head-title[data-v-4a7f74a5]{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.chips[data-v-4a7f74a5]{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.chip[data-v-4a7f74a5]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;color:#cbd5e1;border:1px solid rgba(34,197,154,.22);background:#022c2259}.head-right[data-v-4a7f74a5]{display:flex;align-items:center;gap:10px;flex-shrink:0}.tabs[data-v-4a7f74a5]{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16)}.tab[data-v-4a7f74a5]{border:0;background:transparent;color:#cbd5e1;font-size:.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.tab[data-v-4a7f74a5]:hover{background:#94a3b81f;color:#e5e7eb}.tab.active[data-v-4a7f74a5]{background:#22c59a2e;color:#d1fae5}.copy-btn[data-v-4a7f74a5]{width:34px;height:34px;border:1px solid rgba(148,163,184,.18);background:#0f172a73;color:#e5e7eb;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease;opacity:0;pointer-events:none}.code-card:hover .copy-btn[data-v-4a7f74a5],.code-card:focus-within .copy-btn[data-v-4a7f74a5]{opacity:1;pointer-events:auto}.copy-btn[data-v-4a7f74a5]:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47}.ico[data-v-4a7f74a5]{width:18px;height:18px;display:block;margin:0 auto}.code-body[data-v-4a7f74a5]{width:100%;max-width:100%;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;background:#020617}.code-pre[data-v-4a7f74a5]{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0;background:transparent}.code-pre>code[data-v-4a7f74a5]{display:inline-block;min-width:100%}.code-foot[data-v-4a7f74a5]{border-top:1px solid rgba(148,163,184,.12);background:#0206179e;padding:10px 12px}.code-note[data-v-4a7f74a5]{margin:0;color:#94a3b8;font-size:.85rem;line-height:1.55}.code-body[data-v-4a7f74a5]::-webkit-scrollbar{height:8px;width:10px}.code-body[data-v-4a7f74a5]::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body[data-v-4a7f74a5]::-webkit-scrollbar-track{background:#020617e6}.cpp-directive[data-v-4a7f74a5]{color:#c586c0}.cpp-include[data-v-4a7f74a5]{color:#ce9178}.cpp-keyword[data-v-4a7f74a5]{color:#569cd6}.cpp-type[data-v-4a7f74a5]{color:#4ec9b0}.cpp-namespace[data-v-4a7f74a5]{color:#4fc1ff}.cpp-fn[data-v-4a7f74a5]{color:#dcdcaa}.cpp-member[data-v-4a7f74a5]{color:#9cdcfe}.cpp-ident[data-v-4a7f74a5]{color:#e2e8f0}.cpp-string[data-v-4a7f74a5]{color:#ce9178}.cpp-char[data-v-4a7f74a5]{color:#d7ba7d}.cpp-number[data-v-4a7f74a5]{color:#b5cea8}.cpp-comment[data-v-4a7f74a5]{color:#6a9955;font-style:italic}.cpp-op[data-v-4a7f74a5]{color:#e2e8f08c}.cpp-url[data-v-4a7f74a5]{color:#4fc1ff;text-decoration:underline;text-underline-offset:2px}.shell-prompt[data-v-4a7f74a5]{color:#22c55e;font-weight:800}.shell-cmd[data-v-4a7f74a5]{color:#38bdf8;font-weight:800}.shell-flag[data-v-4a7f74a5]{color:#f97316;font-weight:800}.shell-path[data-v-4a7f74a5]{color:#a5b4fc}.shell-url[data-v-4a7f74a5]{color:#38bdf8;text-decoration:underline;text-underline-offset:2px}.shell-port[data-v-4a7f74a5]{color:#b5cea8}.shell-op[data-v-4a7f74a5]{color:#e2e8f0a6}.shell-http[data-v-4a7f74a5]{color:#dcdcaa;font-weight:800}.shell-hdr[data-v-4a7f74a5]{color:#4ec9b0;font-weight:800}.shell-hdrv[data-v-4a7f74a5]{color:#e2e8f0}@media(max-width:720px){.head-title[data-v-4a7f74a5]{max-width:35vw;overflow:hidden;text-overflow:ellipsis}.code-pre[data-v-4a7f74a5]{font-size:.84rem}}.signals[data-v-91543e28]{display:grid;gap:1.35rem;padding-top:.35rem}.signal[data-v-91543e28]{position:relative;padding:.2rem 0 1.25rem}.signal[data-v-91543e28]:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.pill[data-v-91543e28]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:.82rem;font-weight:650;letter-spacing:-.01em;color:#000000e0;background:#78ffbef2}.value[data-v-91543e28]{margin-top:.7rem;font-size:2.3rem;font-weight:850;letter-spacing:-.03em;line-height:1.05}.sub[data-v-91543e28]{margin-top:.4rem;font-size:.95rem;opacity:.75;line-height:1.4}@media(max-width:520px){.signals[data-v-91543e28]{gap:1.05rem}.value[data-v-91543e28]{font-size:2.05rem}}.page[data-v-5810e8ad]{width:100%}.loading[data-v-5810e8ad]{padding:56px 0;opacity:.85}.loading-title[data-v-5810e8ad]{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.01em}.loading-sub[data-v-5810e8ad]{margin:0;opacity:.85}.cta-row[data-v-5810e8ad]{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.signals[data-v-5810e8ad]{padding:3.2rem 0}.signals-layout[data-v-5810e8ad]{display:grid;grid-template-columns:minmax(320px,560px) minmax(260px,420px);gap:3rem;align-items:center}.signals-left[data-v-5810e8ad]{padding-top:.2rem}.signals-title[data-v-5810e8ad]{margin:0;font-size:2.35rem;line-height:1.05;letter-spacing:-.03em}.signals-subtitle[data-v-5810e8ad]{margin:.95rem 0 0;max-width:62ch;font-size:1.05rem;line-height:1.7;opacity:.82}.signals-right[data-v-5810e8ad]{width:100%}@media(max-width:980px){.signals-layout[data-v-5810e8ad]{grid-template-columns:1fr;gap:1.6rem}.signals-title[data-v-5810e8ad]{font-size:1.9rem}}.wrap[data-v-fb1fc97e]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-fb1fc97e]{margin-bottom:1.6rem}.h1[data-v-fb1fc97e]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-fb1fc97e]{margin:0;color:var(--muted);max-width:62ch;line-height:1.55}.links[data-v-fb1fc97e]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.btn[data-v-fb1fc97e]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-fb1fc97e]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}.sec[data-v-fb1fc97e]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-fb1fc97e]{margin:0 0 .25rem;font-size:1.25rem}.muted[data-v-fb1fc97e]{margin:0 0 .85rem;color:var(--muted);line-height:1.55;max-width:90ch}.note[data-v-fb1fc97e]{margin:.75rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch;font-size:.95rem}@media(max-width:900px){.wrap[data-v-fb1fc97e]{padding:1.8rem 1.2rem 2.4rem}}.grid[data-v-d455a725]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem}.grid[data-v-d455a725]>*{min-width:0}.wrap[data-v-d455a725]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-d455a725]{margin-bottom:1.6rem}.h1[data-v-d455a725]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-d455a725]{margin:0;color:var(--muted);max-width:58ch;line-height:1.55}.ex[data-v-d455a725]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.head[data-v-d455a725]{margin-bottom:.85rem}.h2[data-v-d455a725]{margin:0 0 .25rem;font-size:1.25rem}.muted[data-v-d455a725]{margin:0;color:var(--muted);line-height:1.55;max-width:80ch}.wrap[data-v-8484eeed]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-8484eeed]{margin-bottom:1.6rem}.h1[data-v-8484eeed]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-8484eeed]{margin:0;color:var(--muted);max-width:68ch;line-height:1.55}.pill-row[data-v-8484eeed]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.95rem}.pill[data-v-8484eeed]{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(45,212,191,.28);background:#022c2280;color:#e5f9f6;font-size:.78rem;white-space:nowrap}.grid[data-v-8484eeed]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem}.grid[data-v-8484eeed]>*{min-width:0}.card[data-v-8484eeed]{background:#011816f5;border-radius:var(--radius-md);border:1px solid rgba(15,118,110,.5);box-shadow:0 18px 36px #000000b3;padding:1.25rem 1.35rem;overflow:hidden}.card-head[data-v-8484eeed]{margin-bottom:.9rem}.h2[data-v-8484eeed]{margin:0 0 .25rem;font-size:1.18rem}.muted[data-v-8484eeed]{margin:0;color:var(--muted);line-height:1.55;max-width:90ch}.links[data-v-8484eeed]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.85rem}.btn[data-v-8484eeed]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-8484eeed]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}.btn.primary[data-v-8484eeed]{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;border-color:transparent;box-shadow:0 18px 34px #0c948873;font-weight:600}.btn.primary[data-v-8484eeed]:hover{box-shadow:0 22px 42px #0c9488a6}.mini[data-v-8484eeed]{margin-top:1rem;padding-top:.95rem;border-top:1px solid rgba(45,212,191,.12);display:grid;gap:.55rem}.mini-item[data-v-8484eeed]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.mini-k[data-v-8484eeed]{color:var(--muted);font-size:.9rem}.mini-v[data-v-8484eeed]{color:#e5f9f6;font-weight:600;font-size:.92rem;white-space:nowrap}.steps[data-v-8484eeed]{list-style:none;margin:.95rem 0 0;padding:0;display:grid;gap:.65rem}.steps li[data-v-8484eeed]{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem .75rem;border-radius:14px;border:1px solid rgba(45,212,191,.12);background:#022c2259}.step-n[data-v-8484eeed]{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#01201f;background:linear-gradient(135deg,var(--accent),var(--accent-dark));flex-shrink:0}.step-t[data-v-8484eeed]{font-weight:700;color:#e5f9f6;margin-bottom:.15rem}.step-d[data-v-8484eeed]{color:var(--muted);line-height:1.5;font-size:.95rem}.note[data-v-8484eeed]{margin:.95rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch;font-size:.95rem}.sec[data-v-8484eeed]{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid rgba(45,212,191,.12)}.cards3[data-v-8484eeed]{margin-top:.95rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mini-card[data-v-8484eeed]{border-radius:16px;border:1px solid rgba(15,118,110,.5);background:#011816b8;box-shadow:0 14px 28px #0000008c;padding:1rem 1.05rem}.mini-title[data-v-8484eeed]{font-weight:800;margin-bottom:.25rem}.mini-desc[data-v-8484eeed]{color:var(--muted);line-height:1.55;margin-bottom:.65rem}.mini-tag[data-v-8484eeed]{display:inline-flex;padding:.18rem .55rem;border-radius:999px;font-size:.78rem;border:1px solid rgba(45,212,191,.28);background:#022c2273;color:#e5f9f6}@media(max-width:900px){.grid[data-v-8484eeed],.cards3[data-v-8484eeed]{grid-template-columns:1fr}.wrap[data-v-8484eeed]{padding:1.8rem 1.2rem 2.4rem}}.page[data-v-09160c59]{max-width:800px;margin:0 auto}.intro[data-v-09160c59]{margin-bottom:2rem;color:#555}.post[data-v-09160c59]{border-bottom:1px solid #eee;padding-bottom:1rem;margin-bottom:1.5rem}.post h3[data-v-09160c59]{margin-bottom:.3rem}.wrap[data-v-b313d2d0]{max-width:900px;margin:0 auto;padding:32px 18px 70px}.notfound[data-v-b313d2d0]{text-align:center;padding-top:40px}.header[data-v-b313d2d0]{margin-bottom:28px}.h1[data-v-b313d2d0]{margin:0;font-size:34px;letter-spacing:-.02em}.meta[data-v-b313d2d0]{margin-top:6px;opacity:.65;font-size:13px}.excerpt[data-v-b313d2d0]{margin-top:12px;font-size:16px;opacity:.85}.content[data-v-b313d2d0]{margin-top:28px}.paragraph[data-v-b313d2d0]{margin:0 0 16px;line-height:1.7;font-size:15px;opacity:.9}.footer[data-v-b313d2d0]{margin-top:40px}.row[data-v-b313d2d0]{display:flex;justify-content:center;gap:10px;margin-top:18px}.btn[data-v-b313d2d0]{text-decoration:none;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16)}.wrap[data-v-280b74d2]{max-width:1100px;margin:0 auto;padding:60px 18px 80px;text-align:center}.h1[data-v-280b74d2]{margin:0;font-size:46px;letter-spacing:-.02em}.p[data-v-280b74d2]{margin:10px 0 0;opacity:.8}.row[data-v-280b74d2]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.btn[data-v-280b74d2]{text-decoration:none;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16)}.wrap[data-v-27c9f54c]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-27c9f54c]{margin-bottom:1.3rem}.h1[data-v-27c9f54c]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-27c9f54c]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-27c9f54c]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-27c9f54c]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-27c9f54c]{margin:0;color:var(--muted);line-height:1.55}.cards[data-v-27c9f54c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.9rem}.card[data-v-27c9f54c]{border-radius:16px;border:1px solid rgba(15,118,110,.5);background:#011816b8;box-shadow:0 14px 28px #0000008c;padding:1rem 1.05rem}.cardTitle[data-v-27c9f54c]{font-weight:800;margin-bottom:.25rem}.list[data-v-27c9f54c]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.note[data-v-27c9f54c]{margin:.9rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.cards[data-v-27c9f54c]{grid-template-columns:1fr}.wrap[data-v-27c9f54c]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-933a9e79]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-933a9e79]{margin-bottom:1.3rem}.h1[data-v-933a9e79]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-933a9e79]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-933a9e79]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-933a9e79]{margin:0 0 .35rem;font-size:1.2rem}.list[data-v-933a9e79]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.note[data-v-933a9e79]{margin:.9rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-933a9e79]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-887b3690]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-887b3690]{margin-bottom:1.3rem}.h1[data-v-887b3690]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-887b3690]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-887b3690]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-887b3690]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-887b3690]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}.list[data-v-887b3690]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.links[data-v-887b3690]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}.btn[data-v-887b3690]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-887b3690]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}@media(max-width:900px){.wrap[data-v-887b3690]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-62147ac1]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-62147ac1]{margin-bottom:1.3rem}.h1[data-v-62147ac1]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-62147ac1]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-62147ac1]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-62147ac1]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-62147ac1]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-62147ac1]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-e6de332b]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-e6de332b]{margin-bottom:1.3rem}.h1[data-v-e6de332b]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-e6de332b]{margin:0;color:var(--muted);max-width:78ch;line-height:1.55}.sec[data-v-e6de332b]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-e6de332b]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-e6de332b]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-e6de332b]{padding:1.8rem 1.2rem 2.4rem}}.code-card{border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.head-left{display:flex;align-items:center;gap:10px;min-width:0}.dot{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red{background:#fb923c}.dot-yellow{background:#facc15}.head-title{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.chips{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;color:#cbd5e1;border:1px solid rgba(34,197,154,.22);background:#022c2259}.head-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.tabs{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16)}.tab{border:0;background:transparent;color:#cbd5e1;font-size:.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.tab:hover{background:#94a3b81f;color:#e5e7eb}.tab.active{background:#22c59a2e;color:#d1fae5}.copy{border:1px solid rgba(148,163,184,.18);background:#0f172a73;color:#e5e7eb;font-size:.75rem;padding:7px 10px;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}.copy:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47}.code-foot{border-top:1px solid rgba(148,163,184,.12);background:#0206179e;padding:10px 12px}.code-note{margin:0;color:#94a3b8;font-size:.85rem;line-height:1.55}.code-body::-webkit-scrollbar{height:8px;width:10px}.code-body::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body::-webkit-scrollbar-track{background:#020617e6}.cpp-keyword{color:#fb7185}.cpp-type{color:#22c55e}.cpp-string{color:#34d399}.cpp-comment{color:#94a3b8;font-style:italic;opacity:.85}.cpp-fn{color:#fbbf24}.shell-prompt{color:#22c55e;font-weight:800}.shell-cmd{color:#38bdf8;font-weight:800}.shell-flag{color:#f97316;font-weight:800}.shell-success{color:#22c55e;font-weight:900}.shell-pill-dev{color:#38bdf8;font-weight:900}.code-card{min-width:0;max-width:100%}.cli-grid>*{min-width:0}pre,code{max-width:100%}.code-card{width:100%;max-width:100%;min-width:0}.code-body{width:100%;max-width:100%;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;background:#020617}.code-pre{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0}.code-pre>code{display:inline-block;min-width:100%}@media(min-width:900px){.cli-grid .code-pre{padding:12px}}.code-card{width:100%;max-width:100%}@media(max-width:720px){.head-title{max-width:35vw;overflow:hidden;text-overflow:ellipsis}.code-pre{font-size:.84rem;min-width:640px}}:root{--bg: #011e1c;--bg-alt: #022724;--bg-elevated: #03312d;--accent: #1ee6a3;--accent-dark: #0ca377;--accent-soft: rgba(30, 230, 163, .16);--text: #ffffff;--muted: #cbd5e1;--border: #09433f;--radius-lg: 20px;--radius-md: 14px;--shadow-soft: 0 22px 45px rgba(0, 0, 0, .6)}h1,h2,h3{text-shadow:0 1px 2px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box}html.nav-open,body.nav-open{overflow:hidden}body{margin:0;padding:3.5rem 0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top,#064e3b 0,var(--bg) 50%,#011716 100%);-webkit-font-smoothing:antialiased}body{padding:0}html,body{min-height:100%;background:radial-gradient(circle at top,#064e3b 0,var(--bg) 50%,#011716 100%)}#app{min-height:100vh;background:transparent}#app{background:transparent;min-height:100vh}.section.alt,.site-footer{background:transparent}.card,.terminal,.code-card{background:#00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}a{color:inherit;text-decoration:none}code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,#011816fa,#020617e6);border-bottom:1px solid rgba(45,212,191,.22);box-shadow:0 10px 30px #0009}.header-inner{position:relative;padding:0}.header-top{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .65rem;box-sizing:border-box}.logo{display:inline-flex;align-items:center;gap:.45rem;padding:.22rem .55rem;border-radius:999px;background:radial-gradient(circle at top left,#064e3b,#011816);border:1px solid rgba(34,197,155,.55);box-shadow:0 0 18px #22c59a66}.logo-text{display:inline-flex;align-items:baseline;gap:0}.logo-icon{width:26px;height:26px;object-fit:contain;border-radius:8px;background:#011816;box-shadow:0 0 10px #0f766ea6}.logo-main{font-family:Inter,Poppins,Roboto,system-ui,sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px rgba(45,212,191,.35)}.logo-sub{font-size:1rem;font-weight:300;color:#a5f3fc;opacity:.9;letter-spacing:.4px;margin-left:.05rem}.nav{display:none;font-size:.9rem;margin-top:.3rem}.nav a{color:#cbd5e1;text-decoration:none;position:relative;padding-bottom:.15rem;transition:color .2s ease}.nav a:after{content:"";position:absolute;left:0;bottom:-.2rem;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#2dd4bf,#06b6d4);transition:width .2s ease}.nav a:hover{color:#5eead4}.nav a:hover:after{width:100%}.nav-toggle{border:1px solid rgba(45,212,191,.4);background:#022c22f2;color:#e5f9f6;border-radius:999px;padding:.25rem .45rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .12s ease}.nav-toggle-icon{width:18px;height:18px;display:block}.nav-toggle:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.nav-toggle.is-active{background:#047857fa;border-color:#22c59af2;transform:translateY(-1px)}.nav-toggle.is-active .nav-toggle-icon{transform:rotate(90deg);transition:transform .18s ease}.nav.is-open{position:absolute;left:0;right:0;top:100%;margin-top:.35rem;padding:.85rem 1.5rem 1rem;background:radial-gradient(circle at top,#020817 0,#020617 60%);border-bottom:1px solid rgba(34,197,154,.35);box-shadow:0 22px 40px #000000d9;display:flex;flex-direction:column;gap:.65rem;z-index:40}.nav.is-open a{width:100%;font-size:.95rem;padding:.2rem 0;white-space:normal}.nav.is-open a:after{display:none}.community-wrapper{position:relative;flex-shrink:0;z-index:70}.community-toggle{border:1px solid rgba(45,212,191,.4);background:#022c22f2;color:#e5f9f6;border-radius:999px;padding:.3rem .8rem;font-size:.82rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease;white-space:nowrap}.community-toggle:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.community-icon{display:inline-flex;align-items:center;justify-content:center;gap:3px}.community-icon .dot{width:3px;height:3px;border-radius:999px;background:#a5f3fc}.community-menu{position:absolute;right:0;top:110%;min-width:250px;padding:.7rem .6rem;border-radius:14px;background:#011110fa;border:1px solid rgba(34,197,154,.6);box-shadow:0 18px 40px #000000e6;display:none;flex-direction:column;gap:.45rem;animation:dropdown-fade .12s ease-out;z-index:60}.community-menu.is-open{display:flex}.community-section{padding:.3rem .25rem}.community-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6ee7b7;margin-bottom:.15rem}.community-menu a{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#e5e7eb;text-decoration:none;padding:.18rem .1rem;border-radius:6px}.community-menu a:hover{background:#0f766e66}.icon-chip{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.icon-github{background:#020617;color:#e5e7eb;border:1px solid #4b5563}.icon-x{background:#020617;color:#f9fafb;border:1px solid #4b5563}.icon-linkedin{background:#0a66c2;color:#f9fafb;border:1px solid #1d4ed8}.icon-youtube{background:#b91c1c;color:#fef2f2;border:1px solid #dc2626}.community-link-label{white-space:nowrap}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav.is-open .community-wrapper{width:100%;margin-top:.3rem}.nav.is-open .community-toggle{width:100%;justify-content:space-between;padding-inline:.75rem}.nav.is-open .community-menu{position:static;margin-top:.35rem;width:100%;box-shadow:none}body.nav-open{overflow:hidden}@media(min-width:900px){.header-inner{display:flex;align-items:center;gap:1.5rem}.header-top{gap:1rem}.nav-toggle{display:none}.nav{display:flex!important;align-items:center;gap:1.4rem;margin-top:0;margin-left:auto;position:static;padding:0;box-shadow:none;background:transparent}.nav a{white-space:nowrap}.community-wrapper{width:auto;margin-top:0}.community-menu{position:absolute;width:auto;box-shadow:0 18px 40px #000000e6}}.hero{padding:4.2rem 0 3.4rem}.hero-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.7rem;align-items:center}.hero-title{font-size:clamp(2.4rem,3.2vw,3rem);line-height:1.1;margin:0 0 1rem}.hero-subtitle{color:var(--muted);max-width:38rem;line-height:1.55;margin:0 0 1.6rem}.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border-radius:999px;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:all .16s ease-out}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;box-shadow:0 20px 38px #0c948899;font-weight:550}.btn.primary:hover{transform:translateY(-1px) translateZ(0);box-shadow:0 24px 46px #0c9488cc}.btn.secondary{border-color:#2dd4bf8c;color:#e5f9f6;background:#022c22e6}.btn.secondary:hover{background:#023c2ff2;border-color:#2dd4bfd9}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.pill{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(45,212,191,.3);background:#022c228c;color:#e5f9f6;font-size:.78rem;white-space:nowrap}.hero-note{font-size:.85rem;color:var(--muted);margin-top:.9rem}.hero-side{display:flex;justify-content:flex-end}.terminal{width:100%;max-width:430px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid rgba(15,118,110,.65);overflow:hidden}.terminal{background:#00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.terminal-body{background:transparent}.terminal-head{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;background:linear-gradient(to right,#011716,#022c22);border-bottom:1px solid rgba(15,118,110,.55)}.terminal-head .dot{width:9px;height:9px;border-radius:999px;background:#0f766e}.terminal-head .dot:nth-child(1){background:#f97316}.terminal-head .dot:nth-child(2){background:#eab308}.terminal-head .dot:nth-child(3){background:#22c55e}.terminal-title{margin-left:auto;font-size:.75rem;color:var(--muted)}.terminal-body{padding:.95rem 1rem 1.1rem;font-size:.78rem;color:#e5f9f6;background:radial-gradient(circle at top,#052e26 0,#011716 60%);overflow-x:auto;-webkit-overflow-scrolling:touch}.terminal-body pre{margin:0;padding:0;white-space:pre;min-width:520px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;color:#e2e8f0}.terminal-body::-webkit-scrollbar{height:7px}.terminal-body::-webkit-scrollbar-thumb{background:#2dd4bfbf;border-radius:10px}.terminal-body::-webkit-scrollbar-track{background:#011414cc}.section{padding:3.6rem 0}.section.alt{background:transparent}.section.tight{padding:2.6rem 0}.section-head{margin-bottom:2rem}.section-title{font-size:1.6rem;margin:0 0 .75rem}.section-subtitle{color:var(--muted);max-width:36rem;margin:0}.grid{display:grid;gap:1.6rem;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}.grid.dense{gap:1.1rem}@media(max-width:900px){.grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.card{background:#011816f5;border-radius:var(--radius-md);border:1px solid rgba(15,118,110,.5);padding:1.25rem 1.4rem;box-shadow:0 18px 36px #000000b3;position:relative;overflow:hidden}.card{background:#0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-title{margin:0 0 .4rem;font-size:1.02rem}.card-text{margin:0;color:var(--muted);line-height:1.55}table{border-collapse:collapse}th,td{font-family:inherit}.site-footer{border-top:1px solid rgba(15,118,110,.5);padding:1.2rem 0 1.6rem;margin-top:1.4rem;background:transparent}.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.85rem}@media(max-width:900px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-side{justify-content:flex-start}.footer-inner{flex-direction:column;gap:.4rem;align-items:flex-start}}.code-card{margin:1.2rem 0;border-radius:14px;overflow:hidden;border:1px solid rgba(15,118,110,.55);background:#020617;box-shadow:0 12px 32px #0000008c;padding:0}.code-header{padding:.55rem .9rem;background:linear-gradient(to right,#011716,#022c22);color:var(--muted);font-size:.78rem;border-bottom:1px solid rgba(15,118,110,.45);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:.9rem}.code-left{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.code-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42ch}.code-actions{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.code-header .dot{width:9px;height:9px;border-radius:999px;display:inline-block}.dot-red{background:#f97316}.dot-yellow{background:#eab308}.dot-green{background:#22c55e}.tab{border:1px solid rgba(45,212,191,.22);background:#022c228c;color:#e5f9f6;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease}.tab:hover{background:#023c2fa6;border-color:#2dd4bf73;transform:translateY(-1px)}.tab.active{background:#04785766;border-color:#22c59abf}.copy-btn{border:1px solid rgba(45,212,191,.22);background:#022c228c;color:#e5f9f6;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease}.copy-btn:hover{background:#023c2fa6;border-color:#2dd4bf73;transform:translateY(-1px)}.code-body{background:#020617;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-pre{margin:0;padding:1rem 1.25rem;min-width:520px;white-space:pre;line-height:1.6;font-family:JetBrains Mono,Consolas,monospace;font-size:.88rem;color:#e2e8f0}.code-body::-webkit-scrollbar{height:7px}.code-body::-webkit-scrollbar-thumb{background:#2dd4bfbf;border-radius:10px}.code-body::-webkit-scrollbar-track{background:#011414cc}.code-note{color:var(--muted);font-size:.85rem;margin:.4rem 0 0;padding:0 .2rem}.cpp-directive{color:#60a5fa}.cpp-include{color:#38bdf8}.cpp-keyword{color:#f97373}.cpp-type,.cpp-namespace{color:#22c55e}.cpp-function{color:#eab308}.cpp-method{color:#facc15}.cpp-string{color:#22c55e}.cpp-number{color:#f97316}.cpp-variable{color:#e5e7eb}.cpp-comment{color:#6b7280;font-style:italic}.shell-prompt{color:#22c55e;font-weight:500}.shell-cmd{color:#38bdf8;font-weight:500}.shell-arg{color:#facc15}.shell-path{color:#a5b4fc}.shell-flag{color:#f97316}.shell-info{color:#7dd3fc}.shell-success{color:#22c55e;font-weight:600}.shell-log{color:#a7f3d0}.shell-input{color:#e5e7eb}.shell-bullet{color:#facc15}.shell-number{color:#f97316}.shell-time{color:#93c5fd;font-weight:500}.shell-pill{color:#22c55e;font-weight:700}.shell-brand{color:#7dd3fc;font-weight:700;letter-spacing:.06em}.shell-muted{color:#9ca3af}.shell-indent{color:#a5f3fc;font-weight:600;display:inline-block;width:2ch}.shell-label{color:#e5e7eb;font-weight:600;display:inline-block;width:9ch}.shell-value{color:#a7f3d0;font-weight:600}.shell-link{color:#a5b4fc;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#a5b4fc73}.shell-pill-dev{color:#38bdf8;font-weight:800}.reveal{opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.reveal.card:hover{transform:translateY(-2px);border-color:#22c59ad9;box-shadow:0 22px 46px #000000bf}.cli-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:18px}.cli-grid .code-card{grid-column:span 6}@media(max-width:900px){.cli-grid .code-card{grid-column:span 12}}.cli-side ul{margin:.9rem 0 .8rem;padding-left:1.1rem;color:var(--muted);line-height:1.55}.cli-side li{margin:.35rem 0}.cli-side h3{margin:0;font-size:1.05rem}.cli-side-note{margin:.85rem 0 0;color:var(--muted);line-height:1.55}.showcase-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.2rem;align-items:start}.showcase-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;color:var(--muted);line-height:1.55;font-size:.95rem}.showcase-media{margin:0;display:flex;flex-direction:column;gap:.5rem}.showcase-media img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid rgba(15,118,110,.7);box-shadow:0 22px 45px #000000a6;object-fit:cover}.showcase-media figcaption{font-size:.82rem;color:var(--muted);text-align:left}@media(max-width:900px){.showcase-grid{grid-template-columns:minmax(0,1fr)}.showcase-media figcaption{text-align:center}}.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.2rem;align-items:center}@media(max-width:640px){.code-card{margin:.9rem 0}.code-pre{font-size:.82rem}}.pwa-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(520px,calc(100vw - 36px));pointer-events:none}.pwa-toast{pointer-events:auto;position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 12px 12px 14px;border-radius:18px;background:linear-gradient(to bottom,#011816eb,#020617d1);border:1px solid rgba(45,212,191,.28);box-shadow:0 22px 45px #000000b3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;animation:pwa-toast-in .18s ease-out}.pwa-toast-glow{position:absolute;inset:-40% -20% auto;height:140%;background:radial-gradient(circle at top left,rgba(30,230,163,.18),rgba(6,182,212,.12),transparent 60%);filter:blur(10px);pointer-events:none}.pwa-toast-left{display:flex;align-items:center;gap:12px;min-width:0}.pwa-toast-icon{flex-shrink:0;width:36px;height:36px;border-radius:14px;background:radial-gradient(circle at top left,#064e3b,#011816);border:1px solid rgba(34,197,154,.55);box-shadow:0 0 18px #22c59a38;display:grid;place-items:center;gap:0}.pwa-dot{display:inline-block;width:7px;height:7px;border-radius:999px;margin:0 1px}.pwa-dot-red{background:#f97316}.pwa-dot-yellow{background:#eab308}.pwa-dot-green{background:#22c55e}.pwa-toast-text{min-width:0}.pwa-toast-title{font-size:.92rem;font-weight:750;letter-spacing:-.2px;color:#eafffb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40ch}.pwa-toast-sub{margin-top:2px;font-size:.82rem;color:var(--muted);line-height:1.25;max-width:56ch}.pwa-toast-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.pwa-btn{border-radius:999px;font-size:.82rem;padding:.46rem .85rem;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;white-space:nowrap}.pwa-btn:active{transform:translateY(1px)}.pwa-btn-ghost{background:#022c2280;color:#e5f9f6;border-color:#2dd4bf38}.pwa-btn-ghost:hover{background:#023c2f99;border-color:#2dd4bf66;transform:translateY(-1px)}.pwa-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;font-weight:650;box-shadow:0 14px 28px #0c948859}.pwa-btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 34px #0c94888c}@keyframes pwa-toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pwa-toast-version{margin-left:.4rem;padding:.12rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.25);background:#022c2266;color:#a7f3d0;font-weight:800;font-size:.75rem}@media(max-width:640px){.pwa-toast-wrap{right:12px;left:12px;bottom:12px;max-width:none}.pwa-toast{gap:12px;padding:12px;border-radius:20px}.pwa-toast-title{max-width:28ch}}@media(max-width:640px){.pwa-toast-actions{display:flex;flex-direction:column;gap:8px}}#app,main,section,.section,.section.alt,.site-footer{background:transparent!important;background-image:none!important}.card{background:#ffffff08!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.terminal,.code-card{background:#020617c7!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.terminal-head,.code-head,.code-header{background:#020617e0!important;background-image:none!important}.terminal-body,.code-body{background:#020617ad!important;background-image:none!important}.terminal-body pre,.code-pre,.code-pre>code{background:transparent!important}.section,.section.alt,.site-footer,.card{border:none!important;border-top:none!important;border-bottom:none!important}.section,.section.alt,.site-footer{box-shadow:none!important}.section:before,.section:after,.site-footer:before,.site-footer:after{content:none!important;display:none!important}.divider,.section-divider,.hr,hr{display:none!important;height:0!important;border:0!important;background:none!important}.section,.site-footer{border:0!important}hr{display:none!important} diff --git a/assets/index-C6ZJQ5UD.js b/assets/index-DXOty-Dn.js similarity index 55% rename from assets/index-C6ZJQ5UD.js rename to assets/index-DXOty-Dn.js index 625cc8cd5..0e10272de 100644 --- a/assets/index-C6ZJQ5UD.js +++ b/assets/index-DXOty-Dn.js @@ -1,4 +1,4 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();function On(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ve={},Bt=[],ct=()=>{},ir=()=>!1,Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nn=e=>e.startsWith("onUpdate:"),Te=Object.assign,Mn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},$o=Object.prototype.hasOwnProperty,fe=(e,t)=>$o.call(e,t),ee=Array.isArray,Gt=e=>Bs(e)==="[object Map]",rr=e=>Bs(e)==="[object Set]",te=e=>typeof e=="function",xe=e=>typeof e=="string",bt=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",or=e=>(_e(e)||te(e))&&te(e.then)&&te(e.catch),lr=Object.prototype.toString,Bs=e=>lr.call(e),Oo=e=>Bs(e).slice(8,-1),ar=e=>Bs(e)==="[object Object]",Ln=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,is=On(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},No=/-\w/g,Qe=Gs(e=>e.replace(No,t=>t.slice(1).toUpperCase())),Mo=/\B([A-Z])/g,Dt=Gs(e=>e.replace(Mo,"-$1").toLowerCase()),Us=Gs(e=>e.charAt(0).toUpperCase()+e.slice(1)),tn=Gs(e=>e?`on${Us(e)}`:""),Rt=(e,t)=>!Object.is(e,t),sn=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Lo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let oi;const Ws=()=>oi||(oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qs(e){if(ee(e)){const t={};for(let s=0;s{if(s){const n=s.split(Ho);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(xe(e))t=e;else if(ee(e))for(let s=0;s!!(e&&e.__v_isRef===!0),U=e=>xe(e)?e:e==null?"":ee(e)||_e(e)&&(e.toString===lr||!te(e.toString))?dr(e)?U(e.value):JSON.stringify(e,fr,2):String(e),fr=(e,t)=>dr(t)?fr(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],r)=>(s[nn(n,r)+" =>"]=i,s),{})}:rr(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>nn(s))}:bt(t)?nn(t):_e(t)&&!ee(t)&&!ar(t)?String(t):t,nn=(e,t="")=>{var s;return bt(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Ge;class Go{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(Ge=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(os){let t=os;for(os=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;rs;){let t=rs;for(rs=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function mr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vr(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),jn(n),Wo(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function vn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_r(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _r(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===fs)||(e.globalVersion=fs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!vn(e))))return;e.flags|=2;const t=e.dep,s=me,n=Ze;me=e,Ze=!0;try{mr(e);const i=e.fn(e._value);(t.version===0||Rt(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{me=s,Ze=n,vr(e),e.flags&=-3}}function jn(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)jn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Wo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ze=!0;const br=[];function gt(){br.push(Ze),Ze=!1}function mt(){const e=br.pop();Ze=e===void 0?!0:e}function li(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let fs=0;class qo{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!me||!Ze||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new qo(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,yr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=n)}return s}trigger(t){this.version++,fs++,this.notify(t)}notify(t){Dn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Hn()}}}function yr(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)yr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _n=new WeakMap,Mt=Symbol(""),bn=Symbol(""),ps=Symbol("");function Pe(e,t,s){if(Ze&&me){let n=_n.get(e);n||_n.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new Vn),i.map=n,i.key=s),i.track()}}function ht(e,t,s,n,i,r){const o=_n.get(e);if(!o){fs++;return}const l=a=>{a&&a.trigger()};if(Dn(),t==="clear")o.forEach(l);else{const a=ee(e),f=a&&Ln(s);if(a&&s==="length"){const c=Number(n);o.forEach((d,h)=>{(h==="length"||h===ps||!bt(h)&&h>=c)&&l(d)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),f&&l(o.get(ps)),t){case"add":a?f&&l(o.get("length")):(l(o.get(Mt)),Gt(e)&&l(o.get(bn)));break;case"delete":a||(l(o.get(Mt)),Gt(e)&&l(o.get(bn)));break;case"set":Gt(e)&&l(o.get(Mt));break}}Hn()}function jt(e){const t=de(e);return t===e?t:(Pe(t,"iterate",ps),Xe(e)?t:t.map(tt))}function Ks(e){return Pe(e=de(e),"iterate",ps),e}function St(e,t){return vt(e)?zt(Lt(e)?tt(t):t):tt(t)}const Ko={__proto__:null,[Symbol.iterator](){return on(this,Symbol.iterator,e=>St(this,e))},concat(...e){return jt(this).concat(...e.map(t=>ee(t)?jt(t):t))},entries(){return on(this,"entries",e=>(e[1]=St(this,e[1]),e))},every(e,t){return dt(this,"every",e,t,void 0,arguments)},filter(e,t){return dt(this,"filter",e,t,s=>s.map(n=>St(this,n)),arguments)},find(e,t){return dt(this,"find",e,t,s=>St(this,s),arguments)},findIndex(e,t){return dt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return dt(this,"findLast",e,t,s=>St(this,s),arguments)},findLastIndex(e,t){return dt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return dt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ln(this,"includes",e)},indexOf(...e){return ln(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return ln(this,"lastIndexOf",e)},map(e,t){return dt(this,"map",e,t,void 0,arguments)},pop(){return es(this,"pop")},push(...e){return es(this,"push",e)},reduce(e,...t){return ai(this,"reduce",e,t)},reduceRight(e,...t){return ai(this,"reduceRight",e,t)},shift(){return es(this,"shift")},some(e,t){return dt(this,"some",e,t,void 0,arguments)},splice(...e){return es(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return es(this,"unshift",e)},values(){return on(this,"values",e=>St(this,e))}};function on(e,t,s){const n=Ks(e),i=n[t]();return n!==e&&!Xe(e)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.done||(r.value=s(r.value)),r}),i}const zo=Array.prototype;function dt(e,t,s,n,i,r){const o=Ks(e),l=o!==e&&!Xe(e),a=o[t];if(a!==zo[t]){const d=a.apply(e,r);return l?tt(d):d}let f=s;o!==e&&(l?f=function(d,h){return s.call(this,St(e,d),h,e)}:s.length>2&&(f=function(d,h){return s.call(this,d,h,e)}));const c=a.call(o,f,n);return l&&i?i(c):c}function ai(e,t,s,n){const i=Ks(e);let r=s;return i!==e&&(Xe(e)?s.length>3&&(r=function(o,l,a){return s.call(this,o,l,a,e)}):r=function(o,l,a){return s.call(this,o,St(e,l),a,e)}),i[t](r,...n)}function ln(e,t,s){const n=de(e);Pe(n,"iterate",ps);const i=n[t](...s);return(i===-1||i===!1)&&Gn(s[0])?(s[0]=de(s[0]),n[t](...s)):i}function es(e,t,s=[]){gt(),Dn();const n=de(e)[t].apply(e,s);return Hn(),mt(),n}const Jo=On("__proto__,__v_isRef,__isVue"),wr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function Yo(e){bt(e)||(e=String(e));const t=de(this);return Pe(t,"has",e),t.hasOwnProperty(e)}class xr{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?ol:Cr:r?Er:Ar).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=ee(t);if(!i){let a;if(o&&(a=Ko[s]))return a;if(s==="hasOwnProperty")return Yo}const l=Reflect.get(t,s,Ne(t)?t:n);if((bt(s)?wr.has(s):Jo(s))||(i||Pe(t,"get",s),r))return l;if(Ne(l)){const a=o&&Ln(s)?l:l.value;return i&&_e(a)?wn(a):a}return _e(l)?i?wn(l):zs(l):l}}class Sr extends xr{constructor(t=!1){super(!1,t)}set(t,s,n,i){let r=t[s];const o=ee(t)&&Ln(s);if(!this._isShallow){const f=vt(r);if(!Xe(n)&&!vt(n)&&(r=de(r),n=de(n)),!o&&Ne(r)&&!Ne(n))return f||(r.value=n),!0}const l=o?Number(s)e,Ss=e=>Reflect.getPrototypeOf(e);function tl(e,t,s){return function(...n){const i=this.__v_raw,r=de(i),o=Gt(r),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,f=i[e](...n),c=s?yn:t?zt:tt;return!t&&Pe(r,"iterate",a?bn:Mt),Te(Object.create(f),{next(){const{value:d,done:h}=f.next();return h?{value:d,done:h}:{value:l?[c(d[0]),c(d[1])]:c(d),done:h}}})}}function As(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sl(e,t){const s={get(i){const r=this.__v_raw,o=de(r),l=de(i);e||(Rt(i,l)&&Pe(o,"get",i),Pe(o,"get",l));const{has:a}=Ss(o),f=t?yn:e?zt:tt;if(a.call(o,i))return f(r.get(i));if(a.call(o,l))return f(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&Pe(de(i),"iterate",Mt),i.size},has(i){const r=this.__v_raw,o=de(r),l=de(i);return e||(Rt(i,l)&&Pe(o,"has",i),Pe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,a=de(l),f=t?yn:e?zt:tt;return!e&&Pe(a,"iterate",Mt),l.forEach((c,d)=>i.call(r,f(c),f(d),o))}};return Te(s,e?{add:As("add"),set:As("set"),delete:As("delete"),clear:As("clear")}:{add(i){!t&&!Xe(i)&&!vt(i)&&(i=de(i));const r=de(this);return Ss(r).has.call(r,i)||(r.add(i),ht(r,"add",i,i)),this},set(i,r){!t&&!Xe(r)&&!vt(r)&&(r=de(r));const o=de(this),{has:l,get:a}=Ss(o);let f=l.call(o,i);f||(i=de(i),f=l.call(o,i));const c=a.call(o,i);return o.set(i,r),f?Rt(r,c)&&ht(o,"set",i,r):ht(o,"add",i,r),this},delete(i){const r=de(this),{has:o,get:l}=Ss(r);let a=o.call(r,i);a||(i=de(i),a=o.call(r,i)),l&&l.call(r,i);const f=r.delete(i);return a&&ht(r,"delete",i,void 0),f},clear(){const i=de(this),r=i.size!==0,o=i.clear();return r&&ht(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=tl(i,e,t)}),s}function Fn(e,t){const s=sl(e,t);return(n,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(fe(s,i)&&i in n?s:n,i,r)}const nl={get:Fn(!1,!1)},il={get:Fn(!1,!0)},rl={get:Fn(!0,!1)};const Ar=new WeakMap,Er=new WeakMap,Cr=new WeakMap,ol=new WeakMap;function ll(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function al(e){return e.__v_skip||!Object.isExtensible(e)?0:ll(Oo(e))}function zs(e){return vt(e)?e:Bn(e,!1,Qo,nl,Ar)}function kr(e){return Bn(e,!1,el,il,Er)}function wn(e){return Bn(e,!0,Zo,rl,Cr)}function Bn(e,t,s,n,i){if(!_e(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=al(e);if(r===0)return e;const o=i.get(e);if(o)return o;const l=new Proxy(e,r===2?n:s);return i.set(e,l),l}function Lt(e){return vt(e)?Lt(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Gn(e){return e?!!e.__v_raw:!1}function de(e){const t=e&&e.__v_raw;return t?de(t):e}function cl(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&cr(e,"__v_skip",!0),e}const tt=e=>_e(e)?zs(e):e,zt=e=>_e(e)?wn(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function Re(e){return Rr(e,!1)}function ul(e){return Rr(e,!0)}function Rr(e,t){return Ne(e)?e:new dl(e,t)}class dl{constructor(t,s){this.dep=new Vn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:de(t),this._value=s?t:tt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Xe(t)||vt(t);t=n?t:de(t),Rt(t,s)&&(this._rawValue=t,this._value=n?t:tt(t),this.dep.trigger())}}function J(e){return Ne(e)?e.value:e}const fl={get:(e,t,s)=>t==="__v_raw"?e:J(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return Ne(i)&&!Ne(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Tr(e){return Lt(e)?e:new Proxy(e,fl)}class pl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Vn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=fs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return gr(this,!0),!0}get value(){const t=this.dep.track();return _r(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,s=!1){let n,i;return te(e)?n=e:(n=e.get,i=e.set),new pl(n,i,s)}const Es={},Os=new WeakMap;let Ot;function gl(e,t=!1,s=Ot){if(s){let n=Os.get(s);n||Os.set(s,n=[]),n.push(e)}}function ml(e,t,s=ve){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:a}=s,f=g=>i?g:Xe(g)||i===!1||i===0?kt(g,1):kt(g);let c,d,h,m,I=!1,R=!1;if(Ne(e)?(d=()=>e.value,I=Xe(e)):Lt(e)?(d=()=>f(e),I=!0):ee(e)?(R=!0,I=e.some(g=>Lt(g)||Xe(g)),d=()=>e.map(g=>{if(Ne(g))return g.value;if(Lt(g))return f(g);if(te(g))return a?a(g,2):g()})):te(e)?t?d=a?()=>a(e,2):e:d=()=>{if(h){gt();try{h()}finally{mt()}}const g=Ot;Ot=c;try{return a?a(e,3,[m]):e(m)}finally{Ot=g}}:d=ct,t&&i){const g=d,$=i===!0?1/0:i;d=()=>kt(g(),$)}const L=Uo(),D=()=>{c.stop(),L&&L.active&&Mn(L.effects,c)};if(r&&t){const g=t;t=(...$)=>{g(...$),D()}}let E=R?new Array(e.length).fill(Es):Es;const _=g=>{if(!(!(c.flags&1)||!c.dirty&&!g))if(t){const $=c.run();if(i||I||(R?$.some((H,ne)=>Rt(H,E[ne])):Rt($,E))){h&&h();const H=Ot;Ot=c;try{const ne=[$,E===Es?void 0:R&&E[0]===Es?[]:E,m];E=$,a?a(t,3,ne):t(...ne)}finally{Ot=H}}}else c.run()};return l&&l(_),c=new pr(d),c.scheduler=o?()=>o(_,!1):_,m=g=>gl(g,!1,c),h=c.onStop=()=>{const g=Os.get(c);if(g){if(a)a(g,4);else for(const $ of g)$();Os.delete(c)}},t?n?_(!0):E=c.run():o?o(_.bind(null,!0),!0):c.run(),D.pause=c.pause.bind(c),D.resume=c.resume.bind(c),D.stop=D,D}function kt(e,t=1/0,s){if(t<=0||!_e(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Ne(e))kt(e.value,t,s);else if(ee(e))for(let n=0;n{kt(n,t,s)});else if(ar(e)){for(const n in e)kt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&kt(e[n],t,s)}return e}function bs(e,t,s,n){try{return n?e(...n):e()}catch(i){Js(i,t,s)}}function ut(e,t,s,n){if(te(e)){const i=bs(e,t,s,n);return i&&or(i)&&i.catch(r=>{Js(r,t,s)}),i}if(ee(e)){const i=[];for(let r=0;r>>1,i=je[n],r=hs(i);r=hs(s)?je.push(e):je.splice(_l(t),0,e),e.flags|=1,$r()}}function $r(){Ns||(Ns=Ir.then(Nr))}function bl(e){ee(e)?Ut.push(...e):At&&e.id===-1?At.splice(Vt+1,0,e):e.flags&1||(Ut.push(e),e.flags|=1),$r()}function ci(e,t,s=lt+1){for(;shs(s)-hs(n));if(Ut.length=0,At){At.push(...t);return}for(At=t,Vt=0;Vte.id==null?e.flags&2?-1:1/0:e.id;function Nr(e){try{for(lt=0;lt{n._d&&js(-1);const r=Ms(t);let o;try{o=e(...i)}finally{Ms(r),n._d&&js(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t,s,n){const i=e.dirs,r=t&&t.dirs;for(let o=0;o1)return s&&te(t)?t.call(n&&n.proxy):t}}const yl=Symbol.for("v-scx"),wl=()=>et(yl);function Wt(e,t,s){return Lr(e,t,s)}function Lr(e,t,s=ve){const{immediate:n,deep:i,flush:r,once:o}=s,l=Te({},s),a=t&&n||!t&&r!=="post";let f;if(vs){if(r==="sync"){const m=wl();f=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=ct,m.resume=ct,m.pause=ct,m}}const c=$e;l.call=(m,I,R)=>ut(m,c,I,R);let d=!1;r==="post"?l.scheduler=m=>{De(m,c&&c.suspense)}:r!=="sync"&&(d=!0,l.scheduler=(m,I)=>{I?m():Un(m)}),l.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const h=ml(e,t,l);return vs&&(f?f.push(h):a&&h()),h}function xl(e,t,s){const n=this.proxy,i=xe(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let r;te(t)?r=t:(r=t.handler,s=t);const o=xs(this),l=Lr(i,r.bind(n),s);return o(),l}function Dr(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;ie.__isTeleport,ls=e=>e&&(e.disabled||e.disabled===""),ui=e=>e&&(e.defer||e.defer===""),di=e=>typeof SVGElement<"u"&&e instanceof SVGElement,fi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,xn=(e,t)=>{const s=e&&e.to;return xe(s)?t?t(s):null:s},jr={name:"Teleport",__isTeleport:!0,process(e,t,s,n,i,r,o,l,a,f){const{mc:c,pc:d,pbc:h,o:{insert:m,querySelector:I,createText:R,createComment:L}}=f,D=ls(t.props);let{shapeFlag:E,children:_,dynamicChildren:g}=t;if(e==null){const $=t.el=R(""),H=t.anchor=R("");m($,s,n),m(H,s,n);const ne=(Y,Se)=>{E&16&&c(_,Y,Se,i,r,o,l,a)},ye=()=>{const Y=t.target=xn(t.props,I),Se=Fr(Y,t,R,m);Y&&(o!=="svg"&&di(Y)?o="svg":o!=="mathml"&&fi(Y)&&(o="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(Y),D||(ne(Y,Se),Ts(t,!1)))};D&&(ne(s,H),Ts(t,!0)),ui(t.props)?(t.el.__isMounted=!1,De(()=>{ye(),delete t.el.__isMounted},r)):ye()}else{if(ui(t.props)&&e.el.__isMounted===!1){De(()=>{jr.process(e,t,s,n,i,r,o,l,a,f)},r);return}t.el=e.el,t.targetStart=e.targetStart;const $=t.anchor=e.anchor,H=t.target=e.target,ne=t.targetAnchor=e.targetAnchor,ye=ls(e.props),Y=ye?s:H,Se=ye?$:ne;if(o==="svg"||di(H)?o="svg":(o==="mathml"||fi(H))&&(o="mathml"),g?(h(e.dynamicChildren,g,Y,i,r,o,l),zn(e,t,!0)):a||d(e,t,Y,Se,i,r,o,l,!1),D)ye?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Cs(t,s,$,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Me=t.target=xn(t.props,I);Me&&Cs(t,Me,null,f,0)}else ye&&Cs(t,H,ne,f,1);Ts(t,D)}},remove(e,t,s,{um:n,o:{remove:i}},r){const{shapeFlag:o,children:l,anchor:a,targetStart:f,targetAnchor:c,target:d,props:h}=e;if(d&&(i(f),i(c)),r&&i(a),o&16){const m=r||!ls(h);for(let I=0;Ias(I,t&&(ee(t)?t[R]:t),s,n,i));return}if(qt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&as(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?Yn(n.component):n.el,o=i?null:r,{i:l,r:a}=e,f=t&&t.r,c=l.refs===ve?l.refs={}:l.refs,d=l.setupState,h=de(d),m=d===ve?ir:I=>fe(h,I);if(f!=null&&f!==a){if(pi(t),xe(f))c[f]=null,m(f)&&(d[f]=null);else if(Ne(f)){f.value=null;const I=t;I.k&&(c[I.k]=null)}}if(te(a))bs(a,l,12,[o,c]);else{const I=xe(a),R=Ne(a);if(I||R){const L=()=>{if(e.f){const D=I?m(a)?d[a]:c[a]:a.value;if(i)ee(D)&&Mn(D,r);else if(ee(D))D.includes(r)||D.push(r);else if(I)c[a]=[r],m(a)&&(d[a]=c[a]);else{const E=[r];a.value=E,e.k&&(c[e.k]=E)}}else I?(c[a]=o,m(a)&&(d[a]=o)):R&&(a.value=o,e.k&&(c[e.k]=o))};if(o){const D=()=>{L(),Ls.delete(e)};D.id=-1,Ls.set(e,D),De(D,s)}else pi(e),L()}}}function pi(e){const t=Ls.get(e);t&&(t.flags|=8,Ls.delete(e))}Ws().requestIdleCallback;Ws().cancelIdleCallback;const qt=e=>!!e.type.__asyncLoader,Ur=e=>e.type.__isKeepAlive;function Cl(e,t){Wr(e,"a",t)}function kl(e,t){Wr(e,"da",t)}function Wr(e,t,s=$e){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ys(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Ur(i.parent.vnode)&&Rl(n,t,s,i),i=i.parent}}function Rl(e,t,s,n){const i=Ys(t,e,n,!0);qr(()=>{Mn(n[t],i)},s)}function Ys(e,t,s=$e,n=!1){if(s){const i=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...o)=>{gt();const l=xs(s),a=ut(t,s,e,o);return l(),mt(),a});return n?i.unshift(r):i.push(r),r}}const yt=e=>(t,s=$e)=>{(!vs||e==="sp")&&Ys(e,(...n)=>t(...n),s)},Tl=yt("bm"),ys=yt("m"),Il=yt("bu"),Pl=yt("u"),Ds=yt("bum"),qr=yt("um"),$l=yt("sp"),Ol=yt("rtg"),Nl=yt("rtc");function Ml(e,t=$e){Ys("ec",e,t)}const Ll="components";function ws(e,t){return Hl(Ll,e,!0,t)||e}const Dl=Symbol.for("v-ndc");function Hl(e,t,s=!0,n=!1){const i=Ve||$e;if(i){const r=i.type;{const l=Aa(r,!1);if(l&&(l===t||l===Qe(t)||l===Us(Qe(t))))return r}const o=hi(i[e]||r[e],t)||hi(i.appContext[e],t);return!o&&n?r:o}}function hi(e,t){return e&&(e[t]||e[Qe(t)]||e[Us(Qe(t))])}function Oe(e,t,s,n){let i;const r=s,o=ee(e);if(o||xe(e)){const l=o&&Lt(e);let a=!1,f=!1;l&&(a=!Xe(e),f=vt(e),e=Ks(e)),i=new Array(e.length);for(let c=0,d=e.length;ct(l,a,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let a=0,f=l.length;a0;return A(),Ke(le,null,[ae("slot",s,n)],f?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),A();const o=r&&Kr(r(s)),l=s.key||o&&o.key,a=Ke(le,{key:(l&&!bt(l)?l:`_${t}`)+(!o&&n?"_fb":"")},o||[],o&&e._===1?64:-2);return r&&r._c&&(r._d=!0),a}function Kr(e){return e.some(t=>ms(t)?!(t.type===_t||t.type===le&&!Kr(t.children)):!0)?e:null}const Sn=e=>e?fo(e)?Yn(e):Sn(e.parent):null,cs=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Sn(e.parent),$root:e=>Sn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Jr(e),$forceUpdate:e=>e.f||(e.f=()=>{Un(e.update)}),$nextTick:e=>e.n||(e.n=Pr.bind(e.proxy)),$watch:e=>xl.bind(e)}),an=(e,t)=>e!==ve&&!e.__isScriptSetup&&fe(e,t),Vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:a}=e;if(t[0]!=="$"){const h=o[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return r[t]}else{if(an(n,t))return o[t]=1,n[t];if(i!==ve&&fe(i,t))return o[t]=2,i[t];if(fe(r,t))return o[t]=3,r[t];if(s!==ve&&fe(s,t))return o[t]=4,s[t];An&&(o[t]=0)}}const f=cs[t];let c,d;if(f)return t==="$attrs"&&Pe(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(s!==ve&&fe(s,t))return o[t]=4,s[t];if(d=a.config.globalProperties,fe(d,t))return d[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:r}=e;return an(i,t)?(i[t]=s,!0):n!==ve&&fe(n,t)?(n[t]=s,!0):fe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:r,type:o}},l){let a;return!!(s[l]||e!==ve&&l[0]!=="$"&&fe(e,l)||an(t,l)||fe(r,l)||fe(n,l)||fe(cs,l)||fe(i.config.globalProperties,l)||(a=o.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:fe(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function gi(e){return ee(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let An=!0;function Fl(e){const t=Jr(e),s=e.proxy,n=e.ctx;An=!1,t.beforeCreate&&mi(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:a,inject:f,created:c,beforeMount:d,mounted:h,beforeUpdate:m,updated:I,activated:R,deactivated:L,beforeDestroy:D,beforeUnmount:E,destroyed:_,unmounted:g,render:$,renderTracked:H,renderTriggered:ne,errorCaptured:ye,serverPrefetch:Y,expose:Se,inheritAttrs:Me,components:ke,directives:k,filters:B}=t;if(f&&Bl(f,n,null),o)for(const W in o){const N=o[W];te(N)&&(n[W]=N.bind(s))}if(i){const W=i.call(s,s);_e(W)&&(e.data=zs(W))}if(An=!0,r)for(const W in r){const N=r[W],G=te(N)?N.bind(s,s):te(N.get)?N.get.bind(s,s):ct,se=!te(N)&&te(N.set)?N.set.bind(s):ct,Ie=he({get:G,set:se});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>Ie.value,set:Ce=>Ie.value=Ce})}if(l)for(const W in l)zr(l[W],n,s,W);if(a){const W=te(a)?a.call(s):a;Reflect.ownKeys(W).forEach(N=>{Rs(N,W[N])})}c&&mi(c,e,"c");function X(W,N){ee(N)?N.forEach(G=>W(G.bind(s))):N&&W(N.bind(s))}if(X(Tl,d),X(ys,h),X(Il,m),X(Pl,I),X(Cl,R),X(kl,L),X(Ml,ye),X(Nl,H),X(Ol,ne),X(Ds,E),X(qr,g),X($l,Y),ee(Se))if(Se.length){const W=e.exposed||(e.exposed={});Se.forEach(N=>{Object.defineProperty(W,N,{get:()=>s[N],set:G=>s[N]=G,enumerable:!0})})}else e.exposed||(e.exposed={});$&&e.render===ct&&(e.render=$),Me!=null&&(e.inheritAttrs=Me),ke&&(e.components=ke),k&&(e.directives=k),Y&&Gr(e)}function Bl(e,t,s=ct){ee(e)&&(e=En(e));for(const n in e){const i=e[n];let r;_e(i)?"default"in i?r=et(i.from||n,i.default,!0):r=et(i.from||n):r=et(i),Ne(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[n]=r}}function mi(e,t,s){ut(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function zr(e,t,s,n){let i=n.includes(".")?Dr(s,n):()=>s[n];if(xe(e)){const r=t[e];te(r)&&Wt(i,r)}else if(te(e))Wt(i,e.bind(s));else if(_e(e))if(ee(e))e.forEach(r=>zr(r,t,s,n));else{const r=te(e.handler)?e.handler.bind(s):t[e.handler];te(r)&&Wt(i,r,e)}}function Jr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let a;return l?a=l:!i.length&&!s&&!n?a=t:(a={},i.length&&i.forEach(f=>Hs(a,f,o,!0)),Hs(a,t,o)),_e(t)&&r.set(t,a),a}function Hs(e,t,s,n=!1){const{mixins:i,extends:r}=t;r&&Hs(e,r,s,!0),i&&i.forEach(o=>Hs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=Gl[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Gl={data:vi,props:_i,emits:_i,methods:ns,computed:ns,beforeCreate:Le,created:Le,beforeMount:Le,mounted:Le,beforeUpdate:Le,updated:Le,beforeDestroy:Le,beforeUnmount:Le,destroyed:Le,unmounted:Le,activated:Le,deactivated:Le,errorCaptured:Le,serverPrefetch:Le,components:ns,directives:ns,watch:Wl,provide:vi,inject:Ul};function vi(e,t){return t?e?function(){return Te(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Ul(e,t){return ns(En(e),En(t))}function En(e){if(ee(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dt(t)}Modifiers`];function Jl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ve;let i=s;const r=t.startsWith("update:"),o=r&&zl(n,t.slice(7));o&&(o.trim&&(i=s.map(c=>xe(c)?c.trim():c)),o.number&&(i=s.map(Lo)));let l,a=n[l=tn(t)]||n[l=tn(Qe(t))];!a&&r&&(a=n[l=tn(Dt(t))]),a&&ut(a,e,6,i);const f=n[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ut(f,e,6,i)}}const Yl=new WeakMap;function Xr(e,t,s=!1){const n=s?Yl:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!te(e)){const a=f=>{const c=Xr(f,t,!0);c&&(l=!0,Te(o,c))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(_e(e)&&n.set(e,null),null):(ee(r)?r.forEach(a=>o[a]=null):Te(o,r),_e(e)&&n.set(e,o),o)}function Xs(e,t){return!e||!Fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,Dt(t))||fe(e,t))}function bi(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:a,render:f,renderCache:c,props:d,data:h,setupState:m,ctx:I,inheritAttrs:R}=e,L=Ms(e);let D,E;try{if(s.shapeFlag&4){const g=i||n,$=g;D=at(f.call($,g,c,d,m,h,I)),E=l}else{const g=t;D=at(g.length>1?g(d,{attrs:l,slots:o,emit:a}):g(d,null)),E=t.props?l:Xl(l)}}catch(g){us.length=0,Js(g,e,1),D=ae(_t)}let _=D;if(E&&R!==!1){const g=Object.keys(E),{shapeFlag:$}=_;g.length&&$&7&&(r&&g.some(Nn)&&(E=Ql(E,r)),_=Jt(_,E,!1,!0))}return s.dirs&&(_=Jt(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(s.dirs):s.dirs),s.transition&&Wn(_,s.transition),D=_,Ms(L),D}const Xl=e=>{let t;for(const s in e)(s==="class"||s==="style"||Fs(s))&&((t||(t={}))[s]=e[s]);return t},Ql=(e,t)=>{const s={};for(const n in e)(!Nn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Zl(e,t,s){const{props:n,children:i,component:r}=e,{props:o,children:l,patchFlag:a}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?yi(n,o,f):!!o;if(a&8){const c=t.dynamicProps;for(let d=0;dObject.create(Qr),eo=e=>Object.getPrototypeOf(e)===Qr;function ta(e,t,s,n=!1){const i={},r=Zr();e.propsDefaults=Object.create(null),to(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:kr(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function sa(e,t,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=de(i),[a]=e.propsOptions;let f=!1;if((n||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let d=0;d{a=!0;const[h,m]=so(d,t,!0);Te(o,h),m&&l.push(...m)};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return _e(e)&&n.set(e,Bt),Bt;if(ee(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Kn=e=>ee(e)?e.map(at):[at(e)],ia=(e,t,s)=>{if(t._n)return t;const n=Ue((...i)=>Kn(t(...i)),s);return n._c=!1,n},no=(e,t,s)=>{const n=e._ctx;for(const i in e){if(qn(i))continue;const r=e[i];if(te(r))t[i]=ia(i,r,n);else if(r!=null){const o=Kn(r);t[i]=()=>o}}},io=(e,t)=>{const s=Kn(t);e.slots.default=()=>s},ro=(e,t,s)=>{for(const n in t)(s||!qn(n))&&(e[n]=t[n])},ra=(e,t,s)=>{const n=e.slots=Zr();if(e.vnode.shapeFlag&32){const i=t._;i?(ro(n,t,s),s&&cr(n,"_",i,!0)):no(t,n)}else t&&io(e,t)},oa=(e,t,s)=>{const{vnode:n,slots:i}=e;let r=!0,o=ve;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:ro(i,t,s):(r=!t.$stable,no(t,i)),o=t}else t&&(io(e,t),o={default:1});if(r)for(const l in i)!qn(l)&&o[l]==null&&delete i[l]},De=da;function la(e){return aa(e)}function aa(e,t){const s=Ws();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:a,setText:f,setElementText:c,parentNode:d,nextSibling:h,setScopeId:m=ct,insertStaticContent:I}=e,R=(u,p,v,y=null,S=null,w=null,M=void 0,O=null,P=!!p.dynamicChildren)=>{if(u===p)return;u&&!ts(u,p)&&(y=x(u),Ce(u,S,w,!0),u=null),p.patchFlag===-2&&(P=!1,p.dynamicChildren=null);const{type:C,ref:Q,shapeFlag:V}=p;switch(C){case Qs:L(u,p,v,y);break;case _t:D(u,p,v,y);break;case Is:u==null&&E(p,v,y,M);break;case le:ke(u,p,v,y,S,w,M,O,P);break;default:V&1?$(u,p,v,y,S,w,M,O,P):V&6?k(u,p,v,y,S,w,M,O,P):(V&64||V&128)&&C.process(u,p,v,y,S,w,M,O,P,K)}Q!=null&&S?as(Q,u&&u.ref,w,p||u,!p):Q==null&&u&&u.ref!=null&&as(u.ref,null,w,u,!0)},L=(u,p,v,y)=>{if(u==null)n(p.el=l(p.children),v,y);else{const S=p.el=u.el;p.children!==u.children&&f(S,p.children)}},D=(u,p,v,y)=>{u==null?n(p.el=a(p.children||""),v,y):p.el=u.el},E=(u,p,v,y)=>{[u.el,u.anchor]=I(u.children,p,v,y,u.el,u.anchor)},_=({el:u,anchor:p},v,y)=>{let S;for(;u&&u!==p;)S=h(u),n(u,v,y),u=S;n(p,v,y)},g=({el:u,anchor:p})=>{let v;for(;u&&u!==p;)v=h(u),i(u),u=v;i(p)},$=(u,p,v,y,S,w,M,O,P)=>{if(p.type==="svg"?M="svg":p.type==="math"&&(M="mathml"),u==null)H(p,v,y,S,w,M,O,P);else{const C=u.el&&u.el._isVueCE?u.el:null;try{C&&C._beginPatch(),Y(u,p,S,w,M,O,P)}finally{C&&C._endPatch()}}},H=(u,p,v,y,S,w,M,O)=>{let P,C;const{props:Q,shapeFlag:V,transition:z,dirs:Z}=u;if(P=u.el=o(u.type,w,Q&&Q.is,Q),V&8?c(P,u.children):V&16&&ye(u.children,P,null,y,S,cn(u,w),M,O),Z&&It(u,null,y,"created"),ne(P,u,u.scopeId,M,y),Q){for(const ge in Q)ge!=="value"&&!is(ge)&&r(P,ge,null,Q[ge],w,y);"value"in Q&&r(P,"value",null,Q.value,w),(C=Q.onVnodeBeforeMount)&&ot(C,y,u)}Z&&It(u,null,y,"beforeMount");const re=ca(S,z);re&&z.beforeEnter(P),n(P,p,v),((C=Q&&Q.onVnodeMounted)||re||Z)&&De(()=>{C&&ot(C,y,u),re&&z.enter(P),Z&&It(u,null,y,"mounted")},S)},ne=(u,p,v,y,S)=>{if(v&&m(u,v),y)for(let w=0;w{for(let C=P;C{const O=p.el=u.el;let{patchFlag:P,dynamicChildren:C,dirs:Q}=p;P|=u.patchFlag&16;const V=u.props||ve,z=p.props||ve;let Z;if(v&&Pt(v,!1),(Z=z.onVnodeBeforeUpdate)&&ot(Z,v,p,u),Q&&It(p,u,v,"beforeUpdate"),v&&Pt(v,!0),(V.innerHTML&&z.innerHTML==null||V.textContent&&z.textContent==null)&&c(O,""),C?Se(u.dynamicChildren,C,O,v,y,cn(p,S),w):M||N(u,p,O,null,v,y,cn(p,S),w,!1),P>0){if(P&16)Me(O,V,z,v,S);else if(P&2&&V.class!==z.class&&r(O,"class",null,z.class,S),P&4&&r(O,"style",V.style,z.style,S),P&8){const re=p.dynamicProps;for(let ge=0;ge{Z&&ot(Z,v,p,u),Q&&It(p,u,v,"updated")},y)},Se=(u,p,v,y,S,w,M)=>{for(let O=0;O{if(p!==v){if(p!==ve)for(const w in p)!is(w)&&!(w in v)&&r(u,w,p[w],null,S,y);for(const w in v){if(is(w))continue;const M=v[w],O=p[w];M!==O&&w!=="value"&&r(u,w,O,M,S,y)}"value"in v&&r(u,"value",p.value,v.value,S)}},ke=(u,p,v,y,S,w,M,O,P)=>{const C=p.el=u?u.el:l(""),Q=p.anchor=u?u.anchor:l("");let{patchFlag:V,dynamicChildren:z,slotScopeIds:Z}=p;Z&&(O=O?O.concat(Z):Z),u==null?(n(C,v,y),n(Q,v,y),ye(p.children||[],v,Q,S,w,M,O,P)):V>0&&V&64&&z&&u.dynamicChildren&&u.dynamicChildren.length===z.length?(Se(u.dynamicChildren,z,v,S,w,M,O),(p.key!=null||S&&p===S.subTree)&&zn(u,p,!0)):N(u,p,v,Q,S,w,M,O,P)},k=(u,p,v,y,S,w,M,O,P)=>{p.slotScopeIds=O,u==null?p.shapeFlag&512?S.ctx.activate(p,v,y,M,P):B(p,v,y,S,w,M,P):F(u,p,P)},B=(u,p,v,y,S,w,M)=>{const O=u.component=_a(u,y,S);if(Ur(u)&&(O.ctx.renderer=K),ya(O,!1,M),O.asyncDep){if(S&&S.registerDep(O,X,M),!u.el){const P=O.subTree=ae(_t);D(null,P,p,v),u.placeholder=P.el}}else X(O,u,p,v,S,w,M)},F=(u,p,v)=>{const y=p.component=u.component;if(Zl(u,p,v))if(y.asyncDep&&!y.asyncResolved){W(y,p,v);return}else y.next=p,y.update();else p.el=u.el,y.vnode=p},X=(u,p,v,y,S,w,M)=>{const O=()=>{if(u.isMounted){let{next:V,bu:z,u:Z,parent:re,vnode:ge}=u;{const it=oo(u);if(it){V&&(V.el=ge.el,W(u,V,M)),it.asyncDep.then(()=>{u.isUnmounted||O()});return}}let pe=V,Fe;Pt(u,!1),V?(V.el=ge.el,W(u,V,M)):V=ge,z&&sn(z),(Fe=V.props&&V.props.onVnodeBeforeUpdate)&&ot(Fe,re,V,ge),Pt(u,!0);const Be=bi(u),nt=u.subTree;u.subTree=Be,R(nt,Be,d(nt.el),x(nt),u,S,w),V.el=Be.el,pe===null&&ea(u,Be.el),Z&&De(Z,S),(Fe=V.props&&V.props.onVnodeUpdated)&&De(()=>ot(Fe,re,V,ge),S)}else{let V;const{el:z,props:Z}=p,{bm:re,m:ge,parent:pe,root:Fe,type:Be}=u,nt=qt(p);Pt(u,!1),re&&sn(re),!nt&&(V=Z&&Z.onVnodeBeforeMount)&&ot(V,pe,p),Pt(u,!0);{Fe.ce&&Fe.ce._def.shadowRoot!==!1&&Fe.ce._injectChildStyle(Be);const it=u.subTree=bi(u);R(null,it,v,y,u,S,w),p.el=it.el}if(ge&&De(ge,S),!nt&&(V=Z&&Z.onVnodeMounted)){const it=p;De(()=>ot(V,pe,it),S)}(p.shapeFlag&256||pe&&qt(pe.vnode)&&pe.vnode.shapeFlag&256)&&u.a&&De(u.a,S),u.isMounted=!0,p=v=y=null}};u.scope.on();const P=u.effect=new pr(O);u.scope.off();const C=u.update=P.run.bind(P),Q=u.job=P.runIfDirty.bind(P);Q.i=u,Q.id=u.uid,P.scheduler=()=>Un(Q),Pt(u,!0),C()},W=(u,p,v)=>{p.component=u;const y=u.vnode.props;u.vnode=p,u.next=null,sa(u,p.props,y,v),oa(u,p.children,v),gt(),ci(u),mt()},N=(u,p,v,y,S,w,M,O,P=!1)=>{const C=u&&u.children,Q=u?u.shapeFlag:0,V=p.children,{patchFlag:z,shapeFlag:Z}=p;if(z>0){if(z&128){se(C,V,v,y,S,w,M,O,P);return}else if(z&256){G(C,V,v,y,S,w,M,O,P);return}}Z&8?(Q&16&&ze(C,S,w),V!==C&&c(v,V)):Q&16?Z&16?se(C,V,v,y,S,w,M,O,P):ze(C,S,w,!0):(Q&8&&c(v,""),Z&16&&ye(V,v,y,S,w,M,O,P))},G=(u,p,v,y,S,w,M,O,P)=>{u=u||Bt,p=p||Bt;const C=u.length,Q=p.length,V=Math.min(C,Q);let z;for(z=0;zQ?ze(u,S,w,!0,!1,V):ye(p,v,y,S,w,M,O,P,V)},se=(u,p,v,y,S,w,M,O,P)=>{let C=0;const Q=p.length;let V=u.length-1,z=Q-1;for(;C<=V&&C<=z;){const Z=u[C],re=p[C]=P?Et(p[C]):at(p[C]);if(ts(Z,re))R(Z,re,v,null,S,w,M,O,P);else break;C++}for(;C<=V&&C<=z;){const Z=u[V],re=p[z]=P?Et(p[z]):at(p[z]);if(ts(Z,re))R(Z,re,v,null,S,w,M,O,P);else break;V--,z--}if(C>V){if(C<=z){const Z=z+1,re=Zz)for(;C<=V;)Ce(u[C],S,w,!0),C++;else{const Z=C,re=C,ge=new Map;for(C=re;C<=z;C++){const We=p[C]=P?Et(p[C]):at(p[C]);We.key!=null&&ge.set(We.key,C)}let pe,Fe=0;const Be=z-re+1;let nt=!1,it=0;const Zt=new Array(Be);for(C=0;C=Be){Ce(We,S,w,!0);continue}let rt;if(We.key!=null)rt=ge.get(We.key);else for(pe=re;pe<=z;pe++)if(Zt[pe-re]===0&&ts(We,p[pe])){rt=pe;break}rt===void 0?Ce(We,S,w,!0):(Zt[rt-re]=C+1,rt>=it?it=rt:nt=!0,R(We,p[rt],v,null,S,w,M,O,P),Fe++)}const ni=nt?ua(Zt):Bt;for(pe=ni.length-1,C=Be-1;C>=0;C--){const We=re+C,rt=p[We],ii=p[We+1],ri=We+1{const{el:w,type:M,transition:O,children:P,shapeFlag:C}=u;if(C&6){Ie(u.component.subTree,p,v,y);return}if(C&128){u.suspense.move(p,v,y);return}if(C&64){M.move(u,p,v,K);return}if(M===le){n(w,p,v);for(let V=0;VO.enter(w),S);else{const{leave:V,delayLeave:z,afterLeave:Z}=O,re=()=>{u.ctx.isUnmounted?i(w):n(w,p,v)},ge=()=>{w._isLeaving&&w[El](!0),V(w,()=>{re(),Z&&Z()})};z?z(w,re,ge):ge()}else n(w,p,v)},Ce=(u,p,v,y=!1,S=!1)=>{const{type:w,props:M,ref:O,children:P,dynamicChildren:C,shapeFlag:Q,patchFlag:V,dirs:z,cacheIndex:Z}=u;if(V===-2&&(S=!1),O!=null&&(gt(),as(O,null,v,u,!0),mt()),Z!=null&&(p.renderCache[Z]=void 0),Q&256){p.ctx.deactivate(u);return}const re=Q&1&&z,ge=!qt(u);let pe;if(ge&&(pe=M&&M.onVnodeBeforeUnmount)&&ot(pe,p,u),Q&6)Tt(u.component,v,y);else{if(Q&128){u.suspense.unmount(v,y);return}re&&It(u,null,p,"beforeUnmount"),Q&64?u.type.remove(u,p,v,K,y):C&&!C.hasOnce&&(w!==le||V>0&&V&64)?ze(C,p,v,!1,!0):(w===le&&V&384||!S&&Q&16)&&ze(P,p,v),y&&ce(u)}(ge&&(pe=M&&M.onVnodeUnmounted)||re)&&De(()=>{pe&&ot(pe,p,u),re&&It(u,null,p,"unmounted")},v)},ce=u=>{const{type:p,el:v,anchor:y,transition:S}=u;if(p===le){Ht(v,y);return}if(p===Is){g(u);return}const w=()=>{i(v),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(u.shapeFlag&1&&S&&!S.persisted){const{leave:M,delayLeave:O}=S,P=()=>M(v,w);O?O(u.el,w,P):P()}else w()},Ht=(u,p)=>{let v;for(;u!==p;)v=h(u),i(u),u=v;i(p)},Tt=(u,p,v)=>{const{bum:y,scope:S,job:w,subTree:M,um:O,m:P,a:C}=u;xi(P),xi(C),y&&sn(y),S.stop(),w&&(w.flags|=8,Ce(M,u,p,v)),O&&De(O,p),De(()=>{u.isUnmounted=!0},p)},ze=(u,p,v,y=!1,S=!1,w=0)=>{for(let M=w;M{if(u.shapeFlag&6)return x(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const p=h(u.anchor||u.el),v=p&&p[Hr];return v?h(v):p};let q=!1;const j=(u,p,v)=>{let y;u==null?p._vnode&&(Ce(p._vnode,null,null,!0),y=p._vnode.component):R(p._vnode||null,u,p,null,null,null,v),p._vnode=u,q||(q=!0,ci(y),Or(),q=!1)},K={p:R,um:Ce,m:Ie,r:ce,mt:B,mc:ye,pc:N,pbc:Se,n:x,o:e};return{render:j,hydrate:void 0,createApp:Kl(j)}}function cn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Pt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ca(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zn(e,t,s=!1){const n=e.children,i=t.children;if(ee(n)&&ee(i))for(let r=0;r>1,e[s[l]]0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=t[o];return s}function oo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oo(t)}function xi(e){if(e)for(let t=0;te.__isSuspense;function da(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const le=Symbol.for("v-fgt"),Qs=Symbol.for("v-txt"),_t=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),us=[];let qe=null;function A(e=!1){us.push(qe=e?null:[])}function fa(){us.pop(),qe=us[us.length-1]||null}let gs=1;function js(e,t=!1){gs+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function co(e){return e.dynamicChildren=gs>0?qe||Bt:null,fa(),gs>0&&qe&&qe.push(e),e}function T(e,t,s,n,i,r){return co(b(e,t,s,n,i,r,!0))}function Ke(e,t,s,n,i){return co(ae(e,t,s,n,i,!0))}function ms(e){return e?e.__v_isVNode===!0:!1}function ts(e,t){return e.type===t.type&&e.key===t.key}const uo=({key:e})=>e??null,Ps=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Ne(e)||te(e)?{i:Ve,r:e,k:t,f:!!s}:e:null);function b(e,t=null,s=null,n=0,i=null,r=e===le?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&uo(t),ref:t&&Ps(t),scopeId:Mr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ve};return l?(Jn(a,s),r&128&&e.normalize(a)):s&&(a.shapeFlag|=xe(s)?8:16),gs>0&&!o&&qe&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&qe.push(a),a}const ae=pa;function pa(e,t=null,s=null,n=0,i=null,r=!1){if((!e||e===Dl)&&(e=_t),ms(e)){const l=Jt(e,t,!0);return s&&Jn(l,s),gs>0&&!r&&qe&&(l.shapeFlag&6?qe[qe.indexOf(e)]=l:qe.push(l)),l.patchFlag=-2,l}if(Ea(e)&&(e=e.__vccOpts),t){t=ha(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=Ye(l)),_e(a)&&(Gn(a)&&!ee(a)&&(a=Te({},a)),t.style=qs(a))}const o=xe(e)?1:ao(e)?128:Sl(e)?64:_e(e)?4:te(e)?2:0;return b(e,t,s,n,i,o,r,!0)}function ha(e){return e?Gn(e)||eo(e)?Te({},e):e:null}function Jt(e,t,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:a}=e,f=t?ga(i||{},t):i,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&uo(f),ref:t&&t.ref?s&&r?ee(r)?r.concat(Ps(t)):[r,Ps(t)]:Ps(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==le?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jt(e.ssContent),ssFallback:e.ssFallback&&Jt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&Wn(c,a.clone(c)),c}function be(e=" ",t=0){return ae(Qs,null,e,t)}function Qt(e,t){const s=ae(Is,null,e);return s.staticCount=t,s}function oe(e="",t=!1){return t?(A(),Ke(_t,null,e)):ae(_t,null,e)}function at(e){return e==null||typeof e=="boolean"?ae(_t):ee(e)?ae(le,null,e.slice()):ms(e)?Et(e):ae(Qs,null,String(e))}function Et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jt(e)}function Jn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Jn(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!eo(t)?t._ctx=Ve:i===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else te(t)?(t={default:t,_ctx:Ve},s=32):(t=String(t),n&64?(s=16,t=[be(t)]):s=8);e.children=t,e.shapeFlag|=s}function ga(...e){const t={};for(let s=0;s$e||Ve;let Vs,kn;{const e=Ws(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};Vs=t("__VUE_INSTANCE_SETTERS__",s=>$e=s),kn=t("__VUE_SSR_SETTERS__",s=>vs=s)}const xs=e=>{const t=$e;return Vs(e),e.scope.on(),()=>{e.scope.off(),Vs(t)}},Si=()=>{$e&&$e.scope.off(),Vs(null)};function fo(e){return e.vnode.shapeFlag&4}let vs=!1;function ya(e,t=!1,s=!1){t&&kn(t);const{props:n,children:i}=e.vnode,r=fo(e);ta(e,n,r,t),ra(e,i,s||t);const o=r?wa(e,t):void 0;return t&&kn(!1),o}function wa(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vl);const{setup:n}=s;if(n){gt();const i=e.setupContext=n.length>1?Sa(e):null,r=xs(e),o=bs(n,e,0,[e.props,i]),l=or(o);if(mt(),r(),(l||e.sp)&&!qt(e)&&Gr(e),l){if(o.then(Si,Si),t)return o.then(a=>{Ai(e,a)}).catch(a=>{Js(a,e,0)});e.asyncDep=o}else Ai(e,o)}else po(e)}function Ai(e,t,s){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:_e(t)&&(e.setupState=Tr(t)),po(e)}function po(e,t,s){const n=e.type;e.render||(e.render=n.render||ct);{const i=xs(e);gt();try{Fl(e)}finally{mt(),i()}}}const xa={get(e,t){return Pe(e,"get",""),e[t]}};function Sa(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,xa),slots:e.slots,emit:e.emit,expose:t}}function Yn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tr(cl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in cs)return cs[s](e)},has(t,s){return s in t||s in cs}})):e.proxy}function Aa(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Ea(e){return te(e)&&"__vccOpts"in e}const he=(e,t)=>hl(e,t,vs);function ho(e,t,s){try{js(-1);const n=arguments.length;return n===2?_e(t)&&!ee(t)?ms(t)?ae(e,null,[t]):ae(e,t):ae(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&ms(s)&&(s=[s]),ae(e,t,s))}finally{js(1)}}const Ca="3.5.27";let Rn;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{Rn=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const go=Rn?e=>Rn.createHTML(e):e=>e,ka="http://www.w3.org/2000/svg",Ra="http://www.w3.org/1998/Math/MathML",pt=typeof document<"u"?document:null,Ci=pt&&pt.createElement("template"),Ta={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?pt.createElementNS(ka,e):t==="mathml"?pt.createElementNS(Ra,e):s?pt.createElement(e,{is:s}):pt.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>pt.createTextNode(e),createComment:e=>pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{Ci.innerHTML=go(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Ci.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ia=Symbol("_vtc");function Pa(e,t,s){const n=e[Ia];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ki=Symbol("_vod"),$a=Symbol("_vsh"),Oa=Symbol(""),Na=/(?:^|;)\s*display\s*:/;function Ma(e,t,s){const n=e.style,i=xe(s);let r=!1;if(s&&!i){if(t)if(xe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&$s(n,l,"")}else for(const o in t)s[o]==null&&$s(n,o,"");for(const o in s)o==="display"&&(r=!0),$s(n,o,s[o])}else if(i){if(t!==s){const o=n[Oa];o&&(s+=";"+o),n.cssText=s,r=Na.test(s)}}else t&&e.removeAttribute("style");ki in e&&(e[ki]=r?n.display:"",e[$a]&&(n.display="none"))}const Ri=/\s*!important$/;function $s(e,t,s){if(ee(s))s.forEach(n=>$s(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=La(e,t);Ri.test(s)?e.setProperty(Dt(n),s.replace(Ri,""),"important"):e[n]=s}}const Ti=["Webkit","Moz","ms"],un={};function La(e,t){const s=un[t];if(s)return s;let n=Qe(t);if(n!=="filter"&&n in e)return un[t]=n;n=Us(n);for(let i=0;idn||(Fa.then(()=>dn=0),dn=Date.now());function Ga(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ut(Ua(n,s.value),t,5,[n])};return s.value=e,s.attached=Ba(),s}function Ua(e,t){if(ee(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Mi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wa=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?Pa(e,n,o):t==="style"?Ma(e,s,n):Fs(t)?Nn(t)||ja(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qa(e,t,n,o))?($i(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Pi(e,t,n,o,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!xe(n))?$i(e,Qe(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Pi(e,t,n,o))};function qa(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Mi(t)&&te(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Mi(t)&&xe(s)?!1:t in e}const Ka=Te({patchProp:Wa},Ta);let Li;function za(){return Li||(Li=la(Ka))}const Ja=((...e)=>{const t=za().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Xa(n);if(!i)return;const r=t._component;!te(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Ya(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Ya(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xa(e){return xe(e)?document.querySelector(e):e}const Qa=[{label:"Home",to:"/"},{label:"Install",to:"/install"},{label:"API",to:"/api"},{label:"Docs",kind:"dropdown",items:[{label:"Quick Start",to:"/docs/quick-start"},{label:"Guide",to:"/docs/guide"},{label:"Tutorial",to:"/docs/tutorial"},{label:"Examples",to:"/docs/examples"}]},{label:"About",kind:"dropdown",items:[{label:"Community Guide",to:"/about/community-guide"},{label:"Releases",to:"/about/releases"},{label:"Team",to:"/about/team"},{label:"FAQ",to:"/about/faq"},{label:"The Documentary",to:"/about/documentary"}]}],Za={registry:{label:"Registry",href:"https://github.com/vixcpp/registry",badge:"Git",note:"Git-based package index"},github:{label:"GitHub",href:"https://github.com/vixcpp/vix",badge:"Source",note:"Source-first docs"}},Ae=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},ec={class:"hdr"},tc={class:"wrap"},sc={class:"nav"},nc=["onMouseenter","onMouseleave"],ic=["onClick","aria-expanded"],rc=["href"],oc={class:"pill"},lc=["href"],ac={class:"pill"},cc={key:0,class:"mnav"},uc={key:1,class:"mdd"},dc=["onClick","aria-expanded"],fc={key:0,class:"mdd-menu"},pc=["href"],hc={class:"pill"},gc=["href"],mc={class:"pill"},vc={__name:"SiteHeader",setup(e){const t=Za,s=he(()=>Qa);function n(E){return E.kind==="dropdown"?`dd:${E.label}`:`to:${E.to}`}const i=Re("");function r(E){return i.value===E}function o(E){i.value=E}function l(E){i.value===E&&(i.value="")}function a(E){i.value=i.value===E?"":E}function f(){i.value=""}function c(E){const _=E.target;_ instanceof Element&&(_.closest(".hdr")||f())}function d(E){E.key==="Escape"&&f()}ys(()=>{document.addEventListener("click",c,{passive:!0}),document.addEventListener("keydown",d)}),Ds(()=>{document.removeEventListener("click",c),document.removeEventListener("keydown",d)});const h=Re(!1),m=Re(new Set);function I(){h.value=!h.value,h.value||(m.value=new Set),document.documentElement.classList.toggle("nav-open",h.value)}function R(){h.value=!1,m.value=new Set,document.documentElement.classList.remove("nav-open")}function L(E){const _=new Set(m.value);_.has(E)?_.delete(E):_.add(E),m.value=_}function D(E){return m.value.has(E)}return Ds(()=>{document.documentElement.classList.remove("nav-open")}),(E,_)=>{const g=ws("RouterLink");return A(),T("header",ec,[b("div",tc,[ae(g,{class:"brand",to:"/"},{default:Ue(()=>[..._[4]||(_[4]=[b("span",{class:"logo"},"Vix.cpp",-1),b("span",{class:"tag"},"Modern C++ backend runtime",-1)])]),_:1}),b("nav",sc,[(A(!0),T(le,null,Oe(s.value,$=>(A(),T(le,{key:n($)},[$.kind!=="dropdown"?(A(),Ke(g,{key:0,class:"link",to:$.to,"active-class":"is-active"},{default:Ue(()=>[be(U($.label),1)]),_:2},1032,["to"])):(A(),T("div",{key:1,class:"dd",onMouseenter:H=>o($.label),onMouseleave:H=>l($.label)},[b("button",{type:"button",class:Ye(["link dd-btn",{"is-open":r($.label)}]),onClick:H=>a($.label),"aria-haspopup":"menu","aria-expanded":String(r($.label))},[be(U($.label)+" ",1),_[5]||(_[5]=b("span",{class:"chev","aria-hidden":"true"},"▾",-1))],10,ic),b("div",{class:Ye(["dd-menu",{open:r($.label)}]),role:"menu"},[(A(!0),T(le,null,Oe($.items,H=>(A(),Ke(g,{key:H.to,class:"dd-item",to:H.to,onClick:_[0]||(_[0]=ne=>f())},{default:Ue(()=>[be(U(H.label),1)]),_:2},1032,["to"]))),128))],2)],40,nc))],64))),128)),_[6]||(_[6]=b("div",{class:"spacer"},null,-1)),b("a",{class:"link ext",href:J(t).registry.href,target:"_blank",rel:"noreferrer"},[be(U(J(t).registry.label)+" ",1),b("small",oc,U(J(t).registry.badge),1)],8,rc),b("a",{class:"cta",href:J(t).github.href,target:"_blank",rel:"noreferrer"},[be(U(J(t).github.label)+" ",1),b("small",ac,U(J(t).github.badge),1)],8,lc)]),b("button",{type:"button",class:Ye(["burger",{open:h.value}]),"aria-label":"Toggle navigation",onClick:_[1]||(_[1]=$=>I())},[..._[7]||(_[7]=[b("span",null,null,-1),b("span",null,null,-1),b("span",null,null,-1)])],2)]),h.value?(A(),T("div",cc,[(A(!0),T(le,null,Oe(s.value,$=>(A(),T(le,{key:"m-"+n($)},[$.kind!=="dropdown"?(A(),Ke(g,{key:0,class:"mlink",to:$.to,onClick:_[2]||(_[2]=H=>R())},{default:Ue(()=>[be(U($.label),1)]),_:2},1032,["to"])):(A(),T("div",uc,[b("button",{type:"button",class:"mlink mdd-btn",onClick:H=>L($.label),"aria-expanded":String(D($.label))},[be(U($.label)+" ",1),_[8]||(_[8]=b("span",{class:"chev","aria-hidden":"true"},"▾",-1))],8,dc),D($.label)?(A(),T("div",fc,[(A(!0),T(le,null,Oe($.items,H=>(A(),Ke(g,{key:"m-"+H.to,class:"mdd-item",to:H.to,onClick:_[3]||(_[3]=ne=>R())},{default:Ue(()=>[be(U(H.label),1)]),_:2},1032,["to"]))),128))])):oe("",!0)]))],64))),128)),_[9]||(_[9]=b("div",{class:"msep"},null,-1)),b("a",{class:"mlink ext",href:J(t).registry.href,target:"_blank",rel:"noreferrer"},[be(U(J(t).registry.label)+" ",1),b("small",hc,U(J(t).registry.badge),1)],8,pc),b("a",{class:"mlink cta",href:J(t).github.href,target:"_blank",rel:"noreferrer"},[be(U(J(t).github.label)+" ",1),b("small",mc,U(J(t).github.badge),1)],8,gc)])):oe("",!0)])}}},_c=Ae(vc,[["__scopeId","data-v-f345a2b4"]]),bc={class:"ft"},yc={class:"wrap"},wc={class:"left"},xc={class:"muted"},Sc={class:"version"},Ac={__name:"SiteFooter",setup(e){const t="1.22.0";return(s,n)=>(A(),T("footer",bc,[b("div",yc,[b("div",wc,[n[1]||(n[1]=b("div",{class:"brand"},"Vix.cpp",-1)),b("div",xc,[n[0]||(n[0]=be(" Modern C++ backend runtime ",-1)),b("span",Sc,"v"+U(J(t)),1)])]),n[2]||(n[2]=b("div",{class:"right"},[b("a",{class:"link",href:"https://github.com/vixcpp/vix",target:"_blank",rel:"noreferrer"}," GitHub "),b("a",{class:"link",href:"https://github.com/vixcpp/vix/releases",target:"_blank",rel:"noreferrer"}," Releases "),b("a",{class:"link",href:"https://github.com/vixcpp/vix/issues",target:"_blank",rel:"noreferrer"}," Issues ")],-1))])]))}},Ec=Ae(Ac,[["__scopeId","data-v-3124d47e"]]),Cc={key:0,class:"pwa-toast-wrap",role:"status","aria-live":"polite"},kc={class:"pwa-toast"},Rc={class:"pwa-toast-left"},Tc={class:"pwa-toast-text"},Ic={class:"pwa-toast-title"},Pc={class:"pwa-toast-sub"},$c={key:0,class:"pwa-toast-version"},Oc={class:"pwa-toast-actions"},mo={__name:"PwaUpdateToast",props:{show:{type:Boolean,default:!1},message:{type:String,default:"New version available."},detail:{type:String,default:"Refresh to load the latest build."},version:{type:String,default:""}},emits:["refresh","dismiss"],setup(e,{emit:t}){const s=t;return(n,i)=>(A(),Ke(Vr,{to:"body"},[e.show?(A(),T("div",Cc,[b("div",kc,[i[3]||(i[3]=b("div",{class:"pwa-toast-glow","aria-hidden":"true"},null,-1)),b("div",Rc,[i[2]||(i[2]=b("div",{class:"pwa-toast-icon","aria-hidden":"true"},[b("span",{class:"pwa-dot pwa-dot-red"}),b("span",{class:"pwa-dot pwa-dot-yellow"}),b("span",{class:"pwa-dot pwa-dot-green"})],-1)),b("div",Tc,[b("div",Ic,U(e.message),1),b("div",Pc,[be(U(e.detail)+" ",1),e.version?(A(),T("span",$c,"v"+U(e.version),1)):oe("",!0)])])]),b("div",Oc,[b("button",{class:"pwa-btn pwa-btn-ghost",type:"button",onClick:i[0]||(i[0]=r=>s("dismiss"))}," Later "),b("button",{class:"pwa-btn pwa-btn-primary",type:"button",onClick:i[1]||(i[1]=r=>s("refresh"))}," Refresh ")])])])):oe("",!0)]))}},Nc={key:0,class:"pwa-toast-wrap",role:"status","aria-live":"polite"},Mc={class:"pwa-toast"},Lc={class:"pwa-toast-left"},Dc={class:"pwa-toast-text"},Hc={class:"pwa-toast-title"},jc={class:"pwa-toast-sub"},Vc={class:"pwa-toast-actions"},Fc=["disabled"],Bc={__name:"PwaInstallToast",props:{show:{type:Boolean,default:!1},message:{type:String,default:"Install Vix.cpp?"},detail:{type:String,default:"Get an app-like experience: offline support, faster launch."},canInstall:{type:Boolean,default:!0}},emits:["install","dismiss"],setup(e,{emit:t}){const s=e,n=t,i=he(()=>!s.canInstall);return(r,o)=>(A(),Ke(Vr,{to:"body"},[e.show?(A(),T("div",Nc,[b("div",Mc,[o[3]||(o[3]=b("div",{class:"pwa-toast-glow","aria-hidden":"true"},null,-1)),b("div",Lc,[o[2]||(o[2]=b("div",{class:"pwa-toast-icon","aria-hidden":"true"},[b("span",{class:"pwa-dot pwa-dot-red"}),b("span",{class:"pwa-dot pwa-dot-yellow"}),b("span",{class:"pwa-dot pwa-dot-green"})],-1)),b("div",Dc,[b("div",Hc,U(e.message),1),b("div",jc,U(e.detail),1)])]),b("div",Vc,[b("button",{class:"pwa-btn pwa-btn-ghost",type:"button",onClick:o[0]||(o[0]=l=>n("dismiss"))}," Not now "),b("button",{class:"pwa-btn pwa-btn-primary",type:"button",disabled:i.value,onClick:o[1]||(o[1]=l=>n("install"))}," Install ",8,Fc)])])])):oe("",!0)]))}},Gc={class:"app"},Uc={class:"main"},Di="vix_pwa_install_dismiss_until",Wc={__name:"App",setup(e){const t=et("pwaToast"),s=he(()=>t?.show?.value===!0),n="1.22.0";function i(){window.__vix_pwa_refresh__?.()}function r(){window.__vix_pwa_dismiss__?.()}const o=Re(!1),l=Re(!1);let a=null;function f(){return Date.now()}function c(){const L=Number(localStorage.getItem(Di)||"0");return f()>L}function d(L=7){const D=f()+L*24*60*60*1e3;localStorage.setItem(Di,String(D))}function h(){d(7),o.value=!1}async function m(){if(a)try{a.prompt();const L=await a.userChoice;a=null,l.value=!1,o.value=!1,L?.outcome!=="accepted"&&d(7)}catch{a=null,l.value=!1,o.value=!1,d(7)}}function I(L){L.preventDefault(),a=L,l.value=!0,c()&&setTimeout(()=>{a&&l.value&&(o.value=!0)},900)}function R(){a=null,l.value=!1,o.value=!1,d(365)}return ys(()=>{window.addEventListener("beforeinstallprompt",I),window.addEventListener("appinstalled",R)}),Ds(()=>{window.removeEventListener("beforeinstallprompt",I),window.removeEventListener("appinstalled",R)}),(L,D)=>{const E=ws("router-view");return A(),T("div",Gc,[ae(_c),b("main",Uc,[ae(E)]),ae(Ec),ae(Bc,{show:o.value,canInstall:l.value,message:"Install Vix.cpp?",detail:"Pin it like an app. Offline support, faster launch.",onInstall:m,onDismiss:h},null,8,["show","canInstall"]),ae(mo,{show:s.value,version:J(n),onRefresh:i,onDismiss:r},null,8,["show","version"])])}}},qc=Ae(Wc,[["__scopeId","data-v-6ed3c61b"]]);const Ft=typeof document<"u";function vo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Kc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&vo(e.default)}const ue=Object.assign;function fn(e,t){const s={};for(const n in t){const i=t[n];s[n]=st(i)?i.map(e):e(i)}return s}const ds=()=>{},st=Array.isArray;function Hi(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const _o=/#/g,zc=/&/g,Jc=/\//g,Yc=/=/g,Xc=/\?/g,bo=/\+/g,Qc=/%5B/g,Zc=/%5D/g,yo=/%5E/g,eu=/%60/g,wo=/%7B/g,tu=/%7C/g,xo=/%7D/g,su=/%20/g;function Xn(e){return e==null?"":encodeURI(""+e).replace(tu,"|").replace(Qc,"[").replace(Zc,"]")}function nu(e){return Xn(e).replace(wo,"{").replace(xo,"}").replace(yo,"^")}function Tn(e){return Xn(e).replace(bo,"%2B").replace(su,"+").replace(_o,"%23").replace(zc,"%26").replace(eu,"`").replace(wo,"{").replace(xo,"}").replace(yo,"^")}function iu(e){return Tn(e).replace(Yc,"%3D")}function ru(e){return Xn(e).replace(_o,"%23").replace(Xc,"%3F")}function ou(e){return ru(e).replace(Jc,"%2F")}function _s(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const lu=/\/$/,au=e=>e.replace(lu,"");function pn(e,t,s="/"){let n,i={},r="",o="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(n=t.slice(0,a),r=t.slice(a,l>0?l:t.length),i=e(r.slice(1))),l>=0&&(n=n||t.slice(0,l),o=t.slice(l,t.length)),n=fu(n??t,s),{fullPath:n+r+o,path:n,query:i,hash:_s(o)}}function cu(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function ji(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uu(e,t,s){const n=t.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Yt(t.matched[n],s.matched[i])&&So(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Yt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function So(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!du(e[s],t[s]))return!1;return!0}function du(e,t){return st(e)?Vi(e,t):st(t)?Vi(t,e):e?.valueOf()===t?.valueOf()}function Vi(e,t){return st(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function fu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let r=s.length-1,o,l;for(o=0;o1&&r--;else break;return s.slice(0,r).join("/")+"/"+n.slice(o).join("/")}const wt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let In=(function(e){return e.pop="pop",e.push="push",e})({}),hn=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function pu(e){if(!e)if(Ft){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),au(e)}const hu=/^[^#]+#/;function gu(e,t){return e.replace(hu,"#")+t}function mu(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const Zs=()=>({left:window.scrollX,top:window.scrollY});function vu(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;t=mu(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Fi(e,t){return(history.state?history.state.position-t:-1)+e}const Pn=new Map;function _u(e,t){Pn.set(e,t)}function bu(e){const t=Pn.get(e);return Pn.delete(e),t}function yu(e){return typeof e=="string"||e&&typeof e=="object"}function Ao(e){return typeof e=="string"||typeof e=="symbol"}let we=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Eo=Symbol("");we.MATCHER_NOT_FOUND+"",we.NAVIGATION_GUARD_REDIRECT+"",we.NAVIGATION_ABORTED+"",we.NAVIGATION_CANCELLED+"",we.NAVIGATION_DUPLICATED+"";function Xt(e,t){return ue(new Error,{type:e,[Eo]:!0},t)}function ft(e,t){return e instanceof Error&&Eo in e&&(t==null||!!(e.type&t))}const wu=["params","query","hash"];function xu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of wu)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Su(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;ni&&Tn(i)):[n&&Tn(n)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+s,i!=null&&(t+="="+i))})}return t}function Au(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=st(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const Eu=Symbol(""),Gi=Symbol(""),Qn=Symbol(""),Zn=Symbol(""),$n=Symbol("");function ss(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Ct(e,t,s,n,i,r=o=>o()){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((l,a)=>{const f=h=>{h===!1?a(Xt(we.NAVIGATION_ABORTED,{from:s,to:t})):h instanceof Error?a(h):yu(h)?a(Xt(we.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(o&&n.enterCallbacks[i]===o&&typeof h=="function"&&o.push(h),l())},c=r(()=>e.call(n&&n.instances[i],t,s,f));let d=Promise.resolve(c);e.length<3&&(d=d.then(f)),d.catch(h=>a(h))})}function gn(e,t,s,n,i=r=>r()){const r=[];for(const o of e)for(const l in o.components){let a=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(vo(a)){const f=(a.__vccOpts||a)[t];f&&r.push(Ct(f,s,n,o,l,i))}else{let f=a();r.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const d=Kc(c)?c.default:c;o.mods[l]=c,o.components[l]=d;const h=(d.__vccOpts||d)[t];return h&&Ct(h,s,n,o,l,i)()}))}}return r}function Cu(e,t){const s=[],n=[],i=[],r=Math.max(t.matched.length,e.matched.length);for(let o=0;oYt(f,l))?n.push(l):s.push(l));const a=e.matched[o];a&&(t.matched.find(f=>Yt(f,a))||i.push(a))}return[s,n,i]}let ku=()=>location.protocol+"//"+location.host;function Co(e,t){const{pathname:s,search:n,hash:i}=t,r=e.indexOf("#");if(r>-1){let o=i.includes(e.slice(r))?e.slice(r).length:1,l=i.slice(o);return l[0]!=="/"&&(l="/"+l),ji(l,"")}return ji(s,e)+n+i}function Ru(e,t,s,n){let i=[],r=[],o=null;const l=({state:h})=>{const m=Co(e,location),I=s.value,R=t.value;let L=0;if(h){if(s.value=m,t.value=h,o&&o===I){o=null;return}L=R?h.position-R.position:0}else n(m);i.forEach(D=>{D(s.value,I,{delta:L,type:In.pop,direction:L?L>0?hn.forward:hn.back:hn.unknown})})};function a(){o=s.value}function f(h){i.push(h);const m=()=>{const I=i.indexOf(h);I>-1&&i.splice(I,1)};return r.push(m),m}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(ue({},h.state,{scroll:Zs()}),"")}}function d(){for(const h of r)h();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:f,destroy:d}}function Ui(e,t,s,n=!1,i=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:i?Zs():null}}function Tu(e){const{history:t,location:s}=window,n={value:Co(e,s)},i={value:t.state};i.value||r(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,f,c){const d=e.indexOf("#"),h=d>-1?(s.host&&document.querySelector("base")?e:e.slice(d))+a:ku()+e+a;try{t[c?"replaceState":"pushState"](f,"",h),i.value=f}catch(m){console.error(m),s[c?"replace":"assign"](h)}}function o(a,f){r(a,ue({},t.state,Ui(i.value.back,a,i.value.forward,!0),f,{position:i.value.position}),!0),n.value=a}function l(a,f){const c=ue({},i.value,t.state,{forward:a,scroll:Zs()});r(c.current,c,!0),r(a,ue({},Ui(n.value,a,null),{position:c.position+1},f),!1),n.value=a}return{location:n,state:i,push:l,replace:o}}function Iu(e){e=pu(e);const t=Tu(e),s=Ru(e,t.state,t.location,t.replace);function n(r,o=!0){o||s.pauseListeners(),history.go(r)}const i=ue({location:"",base:e,go:n,createHref:gu.bind(null,e)},t,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}let Nt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Ee=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Ee||{});const Pu={type:Nt.Static,value:""},$u=/[a-zA-Z0-9_]/;function Ou(e){if(!e)return[[]];if(e==="/")return[[Pu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${s})/"${f}": ${m}`)}let s=Ee.Static,n=s;const i=[];let r;function o(){r&&i.push(r),r=[]}let l=0,a,f="",c="";function d(){f&&(s===Ee.Static?r.push({type:Nt.Static,value:f}):s===Ee.Param||s===Ee.ParamRegExp||s===Ee.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Nt.Param,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=a}for(;lt.length?t.length===1&&t[0]===He.Static+He.Segment?1:-1:0}function ko(e,t){let s=0;const n=e.score,i=t.score;for(;s0&&t[t.length-1]<0}const Hu={strict:!1,end:!0,sensitive:!1};function ju(e,t,s){const n=Lu(Ou(e.path),s),i=ue(n,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Vu(e,t){const s=[],n=new Map;t=Hi(Hu,t);function i(d){return n.get(d)}function r(d,h,m){const I=!m,R=zi(d);R.aliasOf=m&&m.record;const L=Hi(t,d),D=[R];if("alias"in d){const g=typeof d.alias=="string"?[d.alias]:d.alias;for(const $ of g)D.push(zi(ue({},R,{components:m?m.record.components:R.components,path:$,aliasOf:m?m.record:R})))}let E,_;for(const g of D){const{path:$}=g;if(h&&$[0]!=="/"){const H=h.record.path,ne=H[H.length-1]==="/"?"":"/";g.path=h.record.path+($&&ne+$)}if(E=ju(g,h,L),m?m.alias.push(E):(_=_||E,_!==E&&_.alias.push(E),I&&d.name&&!Ji(E)&&o(d.name)),Ro(E)&&a(E),R.children){const H=R.children;for(let ne=0;ne{o(_)}:ds}function o(d){if(Ao(d)){const h=n.get(d);h&&(n.delete(d),s.splice(s.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=s.indexOf(d);h>-1&&(s.splice(h,1),d.record.name&&n.delete(d.record.name),d.children.forEach(o),d.alias.forEach(o))}}function l(){return s}function a(d){const h=Gu(d,s);s.splice(h,0,d),d.record.name&&!Ji(d)&&n.set(d.record.name,d)}function f(d,h){let m,I={},R,L;if("name"in d&&d.name){if(m=n.get(d.name),!m)throw Xt(we.MATCHER_NOT_FOUND,{location:d});L=m.record.name,I=ue(Ki(h.params,m.keys.filter(_=>!_.optional).concat(m.parent?m.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),d.params&&Ki(d.params,m.keys.map(_=>_.name))),R=m.stringify(I)}else if(d.path!=null)R=d.path,m=s.find(_=>_.re.test(R)),m&&(I=m.parse(R),L=m.record.name);else{if(m=h.name?n.get(h.name):s.find(_=>_.re.test(h.path)),!m)throw Xt(we.MATCHER_NOT_FOUND,{location:d,currentLocation:h});L=m.record.name,I=ue({},h.params,d.params),R=m.stringify(I)}const D=[];let E=m;for(;E;)D.unshift(E.record),E=E.parent;return{name:L,path:R,params:I,matched:D,meta:Bu(D)}}e.forEach(d=>r(d));function c(){s.length=0,n.clear()}return{addRoute:r,resolve:f,removeRoute:o,clearRoutes:c,getRoutes:l,getRecordMatcher:i}}function Ki(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function zi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Fu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Fu(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function Ji(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Bu(e){return e.reduce((t,s)=>ue(t,s.meta),{})}function Gu(e,t){let s=0,n=t.length;for(;s!==n;){const r=s+n>>1;ko(e,t[r])<0?n=r:s=r+1}const i=Uu(e);return i&&(n=t.lastIndexOf(i,n-1)),n}function Uu(e){let t=e;for(;t=t.parent;)if(Ro(t)&&ko(e,t)===0)return t}function Ro({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Yi(e){const t=et(Qn),s=et(Zn),n=he(()=>{const a=J(e.to);return t.resolve(a)}),i=he(()=>{const{matched:a}=n.value,{length:f}=a,c=a[f-1],d=s.matched;if(!c||!d.length)return-1;const h=d.findIndex(Yt.bind(null,c));if(h>-1)return h;const m=Xi(a[f-2]);return f>1&&Xi(c)===m&&d[d.length-1].path!==m?d.findIndex(Yt.bind(null,a[f-2])):h}),r=he(()=>i.value>-1&&Ju(s.params,n.value.params)),o=he(()=>i.value>-1&&i.value===s.matched.length-1&&So(s.params,n.value.params));function l(a={}){if(zu(a)){const f=t[J(e.replace)?"replace":"push"](J(e.to)).catch(ds);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:n,href:he(()=>n.value.href),isActive:r,isExactActive:o,navigate:l}}function Wu(e){return e.length===1?e[0]:e}const qu=Br({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Yi,setup(e,{slots:t}){const s=zs(Yi(e)),{options:n}=et(Qn),i=he(()=>({[Qi(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Qi(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const r=t.default&&Wu(t.default(s));return e.custom?r:ho("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},r)}}}),Ku=qu;function zu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ju(e,t){for(const s in t){const n=t[s],i=e[s];if(typeof n=="string"){if(n!==i)return!1}else if(!st(i)||i.length!==n.length||n.some((r,o)=>r.valueOf()!==i[o].valueOf()))return!1}return!0}function Xi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Qi=(e,t,s)=>e??t??s,Yu=Br({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=et($n),i=he(()=>e.route||n.value),r=et(Gi,0),o=he(()=>{let f=J(r);const{matched:c}=i.value;let d;for(;(d=c[f])&&!d.components;)f++;return f}),l=he(()=>i.value.matched[o.value]);Rs(Gi,he(()=>o.value+1)),Rs(Eu,l),Rs($n,i);const a=Re();return Wt(()=>[a.value,l.value,e.name],([f,c,d],[h,m,I])=>{c&&(c.instances[d]=f,m&&m!==c&&f&&f===h&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),f&&c&&(!m||!Yt(c,m)||!h)&&(c.enterCallbacks[d]||[]).forEach(R=>R(f))},{flush:"post"}),()=>{const f=i.value,c=e.name,d=l.value,h=d&&d.components[c];if(!h)return Zi(s.default,{Component:h,route:f});const m=d.props[c],I=m?m===!0?f.params:typeof m=="function"?m(f):m:null,L=ho(h,ue({},I,t,{onVnodeUnmounted:D=>{D.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return Zi(s.default,{Component:L,route:f})||L}}});function Zi(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const Xu=Yu;function Qu(e){const t=Vu(e.routes,e),s=e.parseQuery||Su,n=e.stringifyQuery||Bi,i=e.history,r=ss(),o=ss(),l=ss(),a=ul(wt);let f=wt;Ft&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=fn.bind(null,x=>""+x),d=fn.bind(null,ou),h=fn.bind(null,_s);function m(x,q){let j,K;return Ao(x)?(j=t.getRecordMatcher(x),K=q):K=x,t.addRoute(K,j)}function I(x){const q=t.getRecordMatcher(x);q&&t.removeRoute(q)}function R(){return t.getRoutes().map(x=>x.record)}function L(x){return!!t.getRecordMatcher(x)}function D(x,q){if(q=ue({},q||a.value),typeof x=="string"){const v=pn(s,x,q.path),y=t.resolve({path:v.path},q),S=i.createHref(v.fullPath);return ue(v,y,{params:h(y.params),hash:_s(v.hash),redirectedFrom:void 0,href:S})}let j;if(x.path!=null)j=ue({},x,{path:pn(s,x.path,q.path).path});else{const v=ue({},x.params);for(const y in v)v[y]==null&&delete v[y];j=ue({},x,{params:d(v)}),q.params=d(q.params)}const K=t.resolve(j,q),ie=x.hash||"";K.params=c(h(K.params));const u=cu(n,ue({},x,{hash:nu(ie),path:K.path})),p=i.createHref(u);return ue({fullPath:u,hash:ie,query:n===Bi?Au(x.query):x.query||{}},K,{redirectedFrom:void 0,href:p})}function E(x){return typeof x=="string"?pn(s,x,a.value.path):ue({},x)}function _(x,q){if(f!==x)return Xt(we.NAVIGATION_CANCELLED,{from:q,to:x})}function g(x){return ne(x)}function $(x){return g(ue(E(x),{replace:!0}))}function H(x,q){const j=x.matched[x.matched.length-1];if(j&&j.redirect){const{redirect:K}=j;let ie=typeof K=="function"?K(x,q):K;return typeof ie=="string"&&(ie=ie.includes("?")||ie.includes("#")?ie=E(ie):{path:ie},ie.params={}),ue({query:x.query,hash:x.hash,params:ie.path!=null?{}:x.params},ie)}}function ne(x,q){const j=f=D(x),K=a.value,ie=x.state,u=x.force,p=x.replace===!0,v=H(j,K);if(v)return ne(ue(E(v),{state:typeof v=="object"?ue({},ie,v.state):ie,force:u,replace:p}),q||j);const y=j;y.redirectedFrom=q;let S;return!u&&uu(n,K,j)&&(S=Xt(we.NAVIGATION_DUPLICATED,{to:y,from:K}),Ie(K,K,!0,!1)),(S?Promise.resolve(S):Se(y,K)).catch(w=>ft(w)?ft(w,we.NAVIGATION_GUARD_REDIRECT)?w:se(w):N(w,y,K)).then(w=>{if(w){if(ft(w,we.NAVIGATION_GUARD_REDIRECT))return ne(ue({replace:p},E(w.to),{state:typeof w.to=="object"?ue({},ie,w.to.state):ie,force:u}),q||y)}else w=ke(y,K,!0,p,ie);return Me(y,K,w),w})}function ye(x,q){const j=_(x,q);return j?Promise.reject(j):Promise.resolve()}function Y(x){const q=Ht.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(x):x()}function Se(x,q){let j;const[K,ie,u]=Cu(x,q);j=gn(K.reverse(),"beforeRouteLeave",x,q);for(const v of K)v.leaveGuards.forEach(y=>{j.push(Ct(y,x,q))});const p=ye.bind(null,x,q);return j.push(p),ze(j).then(()=>{j=[];for(const v of r.list())j.push(Ct(v,x,q));return j.push(p),ze(j)}).then(()=>{j=gn(ie,"beforeRouteUpdate",x,q);for(const v of ie)v.updateGuards.forEach(y=>{j.push(Ct(y,x,q))});return j.push(p),ze(j)}).then(()=>{j=[];for(const v of u)if(v.beforeEnter)if(st(v.beforeEnter))for(const y of v.beforeEnter)j.push(Ct(y,x,q));else j.push(Ct(v.beforeEnter,x,q));return j.push(p),ze(j)}).then(()=>(x.matched.forEach(v=>v.enterCallbacks={}),j=gn(u,"beforeRouteEnter",x,q,Y),j.push(p),ze(j))).then(()=>{j=[];for(const v of o.list())j.push(Ct(v,x,q));return j.push(p),ze(j)}).catch(v=>ft(v,we.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function Me(x,q,j){l.list().forEach(K=>Y(()=>K(x,q,j)))}function ke(x,q,j,K,ie){const u=_(x,q);if(u)return u;const p=q===wt,v=Ft?history.state:{};j&&(K||p?i.replace(x.fullPath,ue({scroll:p&&v&&v.scroll},ie)):i.push(x.fullPath,ie)),a.value=x,Ie(x,q,j,p),se()}let k;function B(){k||(k=i.listen((x,q,j)=>{if(!Tt.listening)return;const K=D(x),ie=H(K,Tt.currentRoute.value);if(ie){ne(ue(ie,{replace:!0,force:!0}),K).catch(ds);return}f=K;const u=a.value;Ft&&_u(Fi(u.fullPath,j.delta),Zs()),Se(K,u).catch(p=>ft(p,we.NAVIGATION_ABORTED|we.NAVIGATION_CANCELLED)?p:ft(p,we.NAVIGATION_GUARD_REDIRECT)?(ne(ue(E(p.to),{force:!0}),K).then(v=>{ft(v,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&!j.delta&&j.type===In.pop&&i.go(-1,!1)}).catch(ds),Promise.reject()):(j.delta&&i.go(-j.delta,!1),N(p,K,u))).then(p=>{p=p||ke(K,u,!1),p&&(j.delta&&!ft(p,we.NAVIGATION_CANCELLED)?i.go(-j.delta,!1):j.type===In.pop&&ft(p,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),Me(K,u,p)}).catch(ds)}))}let F=ss(),X=ss(),W;function N(x,q,j){se(x);const K=X.list();return K.length?K.forEach(ie=>ie(x,q,j)):console.error(x),Promise.reject(x)}function G(){return W&&a.value!==wt?Promise.resolve():new Promise((x,q)=>{F.add([x,q])})}function se(x){return W||(W=!x,B(),F.list().forEach(([q,j])=>x?j(x):q()),F.reset()),x}function Ie(x,q,j,K){const{scrollBehavior:ie}=e;if(!Ft||!ie)return Promise.resolve();const u=!j&&bu(Fi(x.fullPath,0))||(K||!j)&&history.state&&history.state.scroll||null;return Pr().then(()=>ie(x,q,u)).then(p=>p&&vu(p)).catch(p=>N(p,x,q))}const Ce=x=>i.go(x);let ce;const Ht=new Set,Tt={currentRoute:a,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:L,getRoutes:R,resolve:D,options:e,push:g,replace:$,go:Ce,back:()=>Ce(-1),forward:()=>Ce(1),beforeEach:r.add,beforeResolve:o.add,afterEach:l.add,onError:X.add,isReady:G,install(x){x.component("RouterLink",Ku),x.component("RouterView",Xu),x.config.globalProperties.$router=Tt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>J(a)}),Ft&&!ce&&a.value===wt&&(ce=!0,g(i.location).catch(K=>{}));const q={};for(const K in wt)Object.defineProperty(q,K,{get:()=>a.value[K],enumerable:!0});x.provide(Qn,Tt),x.provide(Zn,kr(q)),x.provide($n,a);const j=x.unmount;Ht.add(x),x.unmount=function(){Ht.delete(x),Ht.size<1&&(f=wt,k&&k(),k=null,a.value=wt,ce=!1,W=!1),j()}}};function ze(x){return x.reduce((q,j)=>q.then(()=>Y(j)),Promise.resolve())}return Tt}function Zu(e){return et(Zn)}const ks={hero:{title:"Offline-first C++ runtime.",subtitle:"A modern C++ runtime and serious alternative to Node.js, Deno, and Bun, designed for unreliable networks and native performance.",ctas:[{label:"Get Vix.cpp",to:"/install",kind:"primary"},{label:"View on GitHub",href:"https://github.com/vixcpp/vix",kind:"secondary",external:!0}],badges:[],support:{title:"Production ready",meta:["Native C++ binaries","MIT licensed"]},examples:[{key:"http",label:"HTTP",lang:"cpp",file:"server.cpp",code:`#include +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();function $n(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ve={},Bt=[],ct=()=>{},ir=()=>!1,Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nn=e=>e.startsWith("onUpdate:"),Te=Object.assign,Mn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Oo=Object.prototype.hasOwnProperty,fe=(e,t)=>Oo.call(e,t),ee=Array.isArray,Gt=e=>Bs(e)==="[object Map]",rr=e=>Bs(e)==="[object Set]",te=e=>typeof e=="function",xe=e=>typeof e=="string",bt=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",or=e=>(_e(e)||te(e))&&te(e.then)&&te(e.catch),lr=Object.prototype.toString,Bs=e=>lr.call(e),$o=e=>Bs(e).slice(8,-1),ar=e=>Bs(e)==="[object Object]",Ln=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,is=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},No=/-\w/g,Qe=Gs(e=>e.replace(No,t=>t.slice(1).toUpperCase())),Mo=/\B([A-Z])/g,Dt=Gs(e=>e.replace(Mo,"-$1").toLowerCase()),Us=Gs(e=>e.charAt(0).toUpperCase()+e.slice(1)),tn=Gs(e=>e?`on${Us(e)}`:""),Rt=(e,t)=>!Object.is(e,t),sn=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Lo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let oi;const Ws=()=>oi||(oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qs(e){if(ee(e)){const t={};for(let s=0;s{if(s){const n=s.split(Ho);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(xe(e))t=e;else if(ee(e))for(let s=0;s!!(e&&e.__v_isRef===!0),q=e=>xe(e)?e:e==null?"":ee(e)||_e(e)&&(e.toString===lr||!te(e.toString))?fr(e)?q(e.value):JSON.stringify(e,dr,2):String(e),dr=(e,t)=>fr(t)?dr(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],r)=>(s[nn(n,r)+" =>"]=i,s),{})}:rr(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>nn(s))}:bt(t)?nn(t):_e(t)&&!ee(t)&&!ar(t)?String(t):t,nn=(e,t="")=>{var s;return bt(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Ge;class Go{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(Ge=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(os){let t=os;for(os=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;rs;){let t=rs;for(rs=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function mr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vr(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),jn(n),Wo(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function vn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_r(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _r(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ds)||(e.globalVersion=ds,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!vn(e))))return;e.flags|=2;const t=e.dep,s=me,n=Ze;me=e,Ze=!0;try{mr(e);const i=e.fn(e._value);(t.version===0||Rt(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{me=s,Ze=n,vr(e),e.flags&=-3}}function jn(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)jn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Wo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ze=!0;const br=[];function gt(){br.push(Ze),Ze=!1}function mt(){const e=br.pop();Ze=e===void 0?!0:e}function li(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let ds=0;class qo{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!me||!Ze||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new qo(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,yr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=n)}return s}trigger(t){this.version++,ds++,this.notify(t)}notify(t){Dn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Hn()}}}function yr(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)yr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _n=new WeakMap,Mt=Symbol(""),bn=Symbol(""),ps=Symbol("");function Pe(e,t,s){if(Ze&&me){let n=_n.get(e);n||_n.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new Vn),i.map=n,i.key=s),i.track()}}function ht(e,t,s,n,i,r){const o=_n.get(e);if(!o){ds++;return}const l=a=>{a&&a.trigger()};if(Dn(),t==="clear")o.forEach(l);else{const a=ee(e),d=a&&Ln(s);if(a&&s==="length"){const c=Number(n);o.forEach((f,h)=>{(h==="length"||h===ps||!bt(h)&&h>=c)&&l(f)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(ps)),t){case"add":a?d&&l(o.get("length")):(l(o.get(Mt)),Gt(e)&&l(o.get(bn)));break;case"delete":a||(l(o.get(Mt)),Gt(e)&&l(o.get(bn)));break;case"set":Gt(e)&&l(o.get(Mt));break}}Hn()}function jt(e){const t=ue(e);return t===e?t:(Pe(t,"iterate",ps),Xe(e)?t:t.map(tt))}function Ks(e){return Pe(e=ue(e),"iterate",ps),e}function St(e,t){return vt(e)?zt(Lt(e)?tt(t):t):tt(t)}const Ko={__proto__:null,[Symbol.iterator](){return on(this,Symbol.iterator,e=>St(this,e))},concat(...e){return jt(this).concat(...e.map(t=>ee(t)?jt(t):t))},entries(){return on(this,"entries",e=>(e[1]=St(this,e[1]),e))},every(e,t){return ft(this,"every",e,t,void 0,arguments)},filter(e,t){return ft(this,"filter",e,t,s=>s.map(n=>St(this,n)),arguments)},find(e,t){return ft(this,"find",e,t,s=>St(this,s),arguments)},findIndex(e,t){return ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ft(this,"findLast",e,t,s=>St(this,s),arguments)},findLastIndex(e,t){return ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return ln(this,"includes",e)},indexOf(...e){return ln(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return ln(this,"lastIndexOf",e)},map(e,t){return ft(this,"map",e,t,void 0,arguments)},pop(){return es(this,"pop")},push(...e){return es(this,"push",e)},reduce(e,...t){return ai(this,"reduce",e,t)},reduceRight(e,...t){return ai(this,"reduceRight",e,t)},shift(){return es(this,"shift")},some(e,t){return ft(this,"some",e,t,void 0,arguments)},splice(...e){return es(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return es(this,"unshift",e)},values(){return on(this,"values",e=>St(this,e))}};function on(e,t,s){const n=Ks(e),i=n[t]();return n!==e&&!Xe(e)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.done||(r.value=s(r.value)),r}),i}const zo=Array.prototype;function ft(e,t,s,n,i,r){const o=Ks(e),l=o!==e&&!Xe(e),a=o[t];if(a!==zo[t]){const f=a.apply(e,r);return l?tt(f):f}let d=s;o!==e&&(l?d=function(f,h){return s.call(this,St(e,f),h,e)}:s.length>2&&(d=function(f,h){return s.call(this,f,h,e)}));const c=a.call(o,d,n);return l&&i?i(c):c}function ai(e,t,s,n){const i=Ks(e);let r=s;return i!==e&&(Xe(e)?s.length>3&&(r=function(o,l,a){return s.call(this,o,l,a,e)}):r=function(o,l,a){return s.call(this,o,St(e,l),a,e)}),i[t](r,...n)}function ln(e,t,s){const n=ue(e);Pe(n,"iterate",ps);const i=n[t](...s);return(i===-1||i===!1)&&Gn(s[0])?(s[0]=ue(s[0]),n[t](...s)):i}function es(e,t,s=[]){gt(),Dn();const n=ue(e)[t].apply(e,s);return Hn(),mt(),n}const Jo=$n("__proto__,__v_isRef,__isVue"),wr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function Yo(e){bt(e)||(e=String(e));const t=ue(this);return Pe(t,"has",e),t.hasOwnProperty(e)}class xr{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?ol:Cr:r?Er:Ar).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=ee(t);if(!i){let a;if(o&&(a=Ko[s]))return a;if(s==="hasOwnProperty")return Yo}const l=Reflect.get(t,s,$e(t)?t:n);if((bt(s)?wr.has(s):Jo(s))||(i||Pe(t,"get",s),r))return l;if($e(l)){const a=o&&Ln(s)?l:l.value;return i&&_e(a)?wn(a):a}return _e(l)?i?wn(l):zs(l):l}}class Sr extends xr{constructor(t=!1){super(!1,t)}set(t,s,n,i){let r=t[s];const o=ee(t)&&Ln(s);if(!this._isShallow){const d=vt(r);if(!Xe(n)&&!vt(n)&&(r=ue(r),n=ue(n)),!o&&$e(r)&&!$e(n))return d||(r.value=n),!0}const l=o?Number(s)e,Ss=e=>Reflect.getPrototypeOf(e);function tl(e,t,s){return function(...n){const i=this.__v_raw,r=ue(i),o=Gt(r),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,d=i[e](...n),c=s?yn:t?zt:tt;return!t&&Pe(r,"iterate",a?bn:Mt),Te(Object.create(d),{next(){const{value:f,done:h}=d.next();return h?{value:f,done:h}:{value:l?[c(f[0]),c(f[1])]:c(f),done:h}}})}}function As(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sl(e,t){const s={get(i){const r=this.__v_raw,o=ue(r),l=ue(i);e||(Rt(i,l)&&Pe(o,"get",i),Pe(o,"get",l));const{has:a}=Ss(o),d=t?yn:e?zt:tt;if(a.call(o,i))return d(r.get(i));if(a.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&Pe(ue(i),"iterate",Mt),i.size},has(i){const r=this.__v_raw,o=ue(r),l=ue(i);return e||(Rt(i,l)&&Pe(o,"has",i),Pe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,a=ue(l),d=t?yn:e?zt:tt;return!e&&Pe(a,"iterate",Mt),l.forEach((c,f)=>i.call(r,d(c),d(f),o))}};return Te(s,e?{add:As("add"),set:As("set"),delete:As("delete"),clear:As("clear")}:{add(i){!t&&!Xe(i)&&!vt(i)&&(i=ue(i));const r=ue(this);return Ss(r).has.call(r,i)||(r.add(i),ht(r,"add",i,i)),this},set(i,r){!t&&!Xe(r)&&!vt(r)&&(r=ue(r));const o=ue(this),{has:l,get:a}=Ss(o);let d=l.call(o,i);d||(i=ue(i),d=l.call(o,i));const c=a.call(o,i);return o.set(i,r),d?Rt(r,c)&&ht(o,"set",i,r):ht(o,"add",i,r),this},delete(i){const r=ue(this),{has:o,get:l}=Ss(r);let a=o.call(r,i);a||(i=ue(i),a=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return a&&ht(r,"delete",i,void 0),d},clear(){const i=ue(this),r=i.size!==0,o=i.clear();return r&&ht(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=tl(i,e,t)}),s}function Fn(e,t){const s=sl(e,t);return(n,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(fe(s,i)&&i in n?s:n,i,r)}const nl={get:Fn(!1,!1)},il={get:Fn(!1,!0)},rl={get:Fn(!0,!1)};const Ar=new WeakMap,Er=new WeakMap,Cr=new WeakMap,ol=new WeakMap;function ll(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function al(e){return e.__v_skip||!Object.isExtensible(e)?0:ll($o(e))}function zs(e){return vt(e)?e:Bn(e,!1,Qo,nl,Ar)}function kr(e){return Bn(e,!1,el,il,Er)}function wn(e){return Bn(e,!0,Zo,rl,Cr)}function Bn(e,t,s,n,i){if(!_e(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=al(e);if(r===0)return e;const o=i.get(e);if(o)return o;const l=new Proxy(e,r===2?n:s);return i.set(e,l),l}function Lt(e){return vt(e)?Lt(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Gn(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function cl(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&cr(e,"__v_skip",!0),e}const tt=e=>_e(e)?zs(e):e,zt=e=>_e(e)?wn(e):e;function $e(e){return e?e.__v_isRef===!0:!1}function Re(e){return Rr(e,!1)}function ul(e){return Rr(e,!0)}function Rr(e,t){return $e(e)?e:new fl(e,t)}class fl{constructor(t,s){this.dep=new Vn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:ue(t),this._value=s?t:tt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Xe(t)||vt(t);t=n?t:ue(t),Rt(t,s)&&(this._rawValue=t,this._value=n?t:tt(t),this.dep.trigger())}}function Q(e){return $e(e)?e.value:e}const dl={get:(e,t,s)=>t==="__v_raw"?e:Q(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return $e(i)&&!$e(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Tr(e){return Lt(e)?e:new Proxy(e,dl)}class pl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Vn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ds-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return gr(this,!0),!0}get value(){const t=this.dep.track();return _r(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,s=!1){let n,i;return te(e)?n=e:(n=e.get,i=e.set),new pl(n,i,s)}const Es={},$s=new WeakMap;let $t;function gl(e,t=!1,s=$t){if(s){let n=$s.get(s);n||$s.set(s,n=[]),n.push(e)}}function ml(e,t,s=ve){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:a}=s,d=g=>i?g:Xe(g)||i===!1||i===0?kt(g,1):kt(g);let c,f,h,m,T=!1,R=!1;if($e(e)?(f=()=>e.value,T=Xe(e)):Lt(e)?(f=()=>d(e),T=!0):ee(e)?(R=!0,T=e.some(g=>Lt(g)||Xe(g)),f=()=>e.map(g=>{if($e(g))return g.value;if(Lt(g))return d(g);if(te(g))return a?a(g,2):g()})):te(e)?t?f=a?()=>a(e,2):e:f=()=>{if(h){gt();try{h()}finally{mt()}}const g=$t;$t=c;try{return a?a(e,3,[m]):e(m)}finally{$t=g}}:f=ct,t&&i){const g=f,O=i===!0?1/0:i;f=()=>kt(g(),O)}const L=Uo(),D=()=>{c.stop(),L&&L.active&&Mn(L.effects,c)};if(r&&t){const g=t;t=(...O)=>{g(...O),D()}}let A=R?new Array(e.length).fill(Es):Es;const _=g=>{if(!(!(c.flags&1)||!c.dirty&&!g))if(t){const O=c.run();if(i||T||(R?O.some((H,ne)=>Rt(H,A[ne])):Rt(O,A))){h&&h();const H=$t;$t=c;try{const ne=[O,A===Es?void 0:R&&A[0]===Es?[]:A,m];A=O,a?a(t,3,ne):t(...ne)}finally{$t=H}}}else c.run()};return l&&l(_),c=new pr(f),c.scheduler=o?()=>o(_,!1):_,m=g=>gl(g,!1,c),h=c.onStop=()=>{const g=$s.get(c);if(g){if(a)a(g,4);else for(const O of g)O();$s.delete(c)}},t?n?_(!0):A=c.run():o?o(_.bind(null,!0),!0):c.run(),D.pause=c.pause.bind(c),D.resume=c.resume.bind(c),D.stop=D,D}function kt(e,t=1/0,s){if(t<=0||!_e(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,$e(e))kt(e.value,t,s);else if(ee(e))for(let n=0;n{kt(n,t,s)});else if(ar(e)){for(const n in e)kt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&kt(e[n],t,s)}return e}function bs(e,t,s,n){try{return n?e(...n):e()}catch(i){Js(i,t,s)}}function ut(e,t,s,n){if(te(e)){const i=bs(e,t,s,n);return i&&or(i)&&i.catch(r=>{Js(r,t,s)}),i}if(ee(e)){const i=[];for(let r=0;r>>1,i=He[n],r=hs(i);r=hs(s)?He.push(e):He.splice(_l(t),0,e),e.flags|=1,Or()}}function Or(){Ns||(Ns=Ir.then(Nr))}function bl(e){ee(e)?Ut.push(...e):At&&e.id===-1?At.splice(Vt+1,0,e):e.flags&1||(Ut.push(e),e.flags|=1),Or()}function ci(e,t,s=lt+1){for(;shs(s)-hs(n));if(Ut.length=0,At){At.push(...t);return}for(At=t,Vt=0;Vte.id==null?e.flags&2?-1:1/0:e.id;function Nr(e){try{for(lt=0;lt{n._d&&js(-1);const r=Ms(t);let o;try{o=e(...i)}finally{Ms(r),n._d&&js(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t,s,n){const i=e.dirs,r=t&&t.dirs;for(let o=0;o1)return s&&te(t)?t.call(n&&n.proxy):t}}const yl=Symbol.for("v-scx"),wl=()=>et(yl);function Wt(e,t,s){return Lr(e,t,s)}function Lr(e,t,s=ve){const{immediate:n,deep:i,flush:r,once:o}=s,l=Te({},s),a=t&&n||!t&&r!=="post";let d;if(vs){if(r==="sync"){const m=wl();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=ct,m.resume=ct,m.pause=ct,m}}const c=Oe;l.call=(m,T,R)=>ut(m,c,T,R);let f=!1;r==="post"?l.scheduler=m=>{Le(m,c&&c.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(m,T)=>{T?m():Un(m)}),l.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const h=ml(e,t,l);return vs&&(d?d.push(h):a&&h()),h}function xl(e,t,s){const n=this.proxy,i=xe(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let r;te(t)?r=t:(r=t.handler,s=t);const o=xs(this),l=Lr(i,r.bind(n),s);return o(),l}function Dr(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;ie.__isTeleport,ls=e=>e&&(e.disabled||e.disabled===""),ui=e=>e&&(e.defer||e.defer===""),fi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,di=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,xn=(e,t)=>{const s=e&&e.to;return xe(s)?t?t(s):null:s},jr={name:"Teleport",__isTeleport:!0,process(e,t,s,n,i,r,o,l,a,d){const{mc:c,pc:f,pbc:h,o:{insert:m,querySelector:T,createText:R,createComment:L}}=d,D=ls(t.props);let{shapeFlag:A,children:_,dynamicChildren:g}=t;if(e==null){const O=t.el=R(""),H=t.anchor=R("");m(O,s,n),m(H,s,n);const ne=(J,Se)=>{A&16&&c(_,J,Se,i,r,o,l,a)},be=()=>{const J=t.target=xn(t.props,T),Se=Fr(J,t,R,m);J&&(o!=="svg"&&fi(J)?o="svg":o!=="mathml"&&di(J)&&(o="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(J),D||(ne(J,Se),Ts(t,!1)))};D&&(ne(s,H),Ts(t,!0)),ui(t.props)?(t.el.__isMounted=!1,Le(()=>{be(),delete t.el.__isMounted},r)):be()}else{if(ui(t.props)&&e.el.__isMounted===!1){Le(()=>{jr.process(e,t,s,n,i,r,o,l,a,d)},r);return}t.el=e.el,t.targetStart=e.targetStart;const O=t.anchor=e.anchor,H=t.target=e.target,ne=t.targetAnchor=e.targetAnchor,be=ls(e.props),J=be?s:H,Se=be?O:ne;if(o==="svg"||fi(H)?o="svg":(o==="mathml"||di(H))&&(o="mathml"),g?(h(e.dynamicChildren,g,J,i,r,o,l),zn(e,t,!0)):a||f(e,t,J,Se,i,r,o,l,!1),D)be?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Cs(t,s,O,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Ne=t.target=xn(t.props,T);Ne&&Cs(t,Ne,null,d,0)}else be&&Cs(t,H,ne,d,1);Ts(t,D)}},remove(e,t,s,{um:n,o:{remove:i}},r){const{shapeFlag:o,children:l,anchor:a,targetStart:d,targetAnchor:c,target:f,props:h}=e;if(f&&(i(d),i(c)),r&&i(a),o&16){const m=r||!ls(h);for(let T=0;Tas(T,t&&(ee(t)?t[R]:t),s,n,i));return}if(qt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&as(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?Yn(n.component):n.el,o=i?null:r,{i:l,r:a}=e,d=t&&t.r,c=l.refs===ve?l.refs={}:l.refs,f=l.setupState,h=ue(f),m=f===ve?ir:T=>fe(h,T);if(d!=null&&d!==a){if(pi(t),xe(d))c[d]=null,m(d)&&(f[d]=null);else if($e(d)){d.value=null;const T=t;T.k&&(c[T.k]=null)}}if(te(a))bs(a,l,12,[o,c]);else{const T=xe(a),R=$e(a);if(T||R){const L=()=>{if(e.f){const D=T?m(a)?f[a]:c[a]:a.value;if(i)ee(D)&&Mn(D,r);else if(ee(D))D.includes(r)||D.push(r);else if(T)c[a]=[r],m(a)&&(f[a]=c[a]);else{const A=[r];a.value=A,e.k&&(c[e.k]=A)}}else T?(c[a]=o,m(a)&&(f[a]=o)):R&&(a.value=o,e.k&&(c[e.k]=o))};if(o){const D=()=>{L(),Ls.delete(e)};D.id=-1,Ls.set(e,D),Le(D,s)}else pi(e),L()}}}function pi(e){const t=Ls.get(e);t&&(t.flags|=8,Ls.delete(e))}Ws().requestIdleCallback;Ws().cancelIdleCallback;const qt=e=>!!e.type.__asyncLoader,Ur=e=>e.type.__isKeepAlive;function Cl(e,t){Wr(e,"a",t)}function kl(e,t){Wr(e,"da",t)}function Wr(e,t,s=Oe){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Ys(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Ur(i.parent.vnode)&&Rl(n,t,s,i),i=i.parent}}function Rl(e,t,s,n){const i=Ys(t,e,n,!0);qr(()=>{Mn(n[t],i)},s)}function Ys(e,t,s=Oe,n=!1){if(s){const i=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...o)=>{gt();const l=xs(s),a=ut(t,s,e,o);return l(),mt(),a});return n?i.unshift(r):i.push(r),r}}const yt=e=>(t,s=Oe)=>{(!vs||e==="sp")&&Ys(e,(...n)=>t(...n),s)},Tl=yt("bm"),ys=yt("m"),Il=yt("bu"),Pl=yt("u"),Ds=yt("bum"),qr=yt("um"),Ol=yt("sp"),$l=yt("rtg"),Nl=yt("rtc");function Ml(e,t=Oe){Ys("ec",e,t)}const Ll="components";function ws(e,t){return Hl(Ll,e,!0,t)||e}const Dl=Symbol.for("v-ndc");function Hl(e,t,s=!0,n=!1){const i=je||Oe;if(i){const r=i.type;{const l=Aa(r,!1);if(l&&(l===t||l===Qe(t)||l===Us(Qe(t))))return r}const o=hi(i[e]||r[e],t)||hi(i.appContext[e],t);return!o&&n?r:o}}function hi(e,t){return e&&(e[t]||e[Qe(t)]||e[Us(Qe(t))])}function Ve(e,t,s,n){let i;const r=s,o=ee(e);if(o||xe(e)){const l=o&&Lt(e);let a=!1,d=!1;l&&(a=!Xe(e),d=vt(e),e=Ks(e)),i=new Array(e.length);for(let c=0,f=e.length;ct(l,a,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let a=0,d=l.length;a0;return k(),Je(oe,null,[le("slot",s,n)],d?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),k();const o=r&&Kr(r(s)),l=s.key||o&&o.key,a=Je(oe,{key:(l&&!bt(l)?l:`_${t}`)+(!o&&n?"_fb":"")},o||[],o&&e._===1?64:-2);return r&&r._c&&(r._d=!0),a}function Kr(e){return e.some(t=>ms(t)?!(t.type===_t||t.type===oe&&!Kr(t.children)):!0)?e:null}const Sn=e=>e?fo(e)?Yn(e):Sn(e.parent):null,cs=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Sn(e.parent),$root:e=>Sn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Jr(e),$forceUpdate:e=>e.f||(e.f=()=>{Un(e.update)}),$nextTick:e=>e.n||(e.n=Pr.bind(e.proxy)),$watch:e=>xl.bind(e)}),an=(e,t)=>e!==ve&&!e.__isScriptSetup&&fe(e,t),Vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:a}=e;if(t[0]!=="$"){const h=o[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return r[t]}else{if(an(n,t))return o[t]=1,n[t];if(i!==ve&&fe(i,t))return o[t]=2,i[t];if(fe(r,t))return o[t]=3,r[t];if(s!==ve&&fe(s,t))return o[t]=4,s[t];An&&(o[t]=0)}}const d=cs[t];let c,f;if(d)return t==="$attrs"&&Pe(e.attrs,"get",""),d(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(s!==ve&&fe(s,t))return o[t]=4,s[t];if(f=a.config.globalProperties,fe(f,t))return f[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:r}=e;return an(i,t)?(i[t]=s,!0):n!==ve&&fe(n,t)?(n[t]=s,!0):fe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:r,type:o}},l){let a;return!!(s[l]||e!==ve&&l[0]!=="$"&&fe(e,l)||an(t,l)||fe(r,l)||fe(n,l)||fe(cs,l)||fe(i.config.globalProperties,l)||(a=o.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:fe(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function gi(e){return ee(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let An=!0;function Fl(e){const t=Jr(e),s=e.proxy,n=e.ctx;An=!1,t.beforeCreate&&mi(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:a,inject:d,created:c,beforeMount:f,mounted:h,beforeUpdate:m,updated:T,activated:R,deactivated:L,beforeDestroy:D,beforeUnmount:A,destroyed:_,unmounted:g,render:O,renderTracked:H,renderTriggered:ne,errorCaptured:be,serverPrefetch:J,expose:Se,inheritAttrs:Ne,components:ke,directives:C,filters:B}=t;if(d&&Bl(d,n,null),o)for(const U in o){const N=o[U];te(N)&&(n[U]=N.bind(s))}if(i){const U=i.call(s,s);_e(U)&&(e.data=zs(U))}if(An=!0,r)for(const U in r){const N=r[U],G=te(N)?N.bind(s,s):te(N.get)?N.get.bind(s,s):ct,se=!te(N)&&te(N.set)?N.set.bind(s):ct,Ie=pe({get:G,set:se});Object.defineProperty(n,U,{enumerable:!0,configurable:!0,get:()=>Ie.value,set:Ce=>Ie.value=Ce})}if(l)for(const U in l)zr(l[U],n,s,U);if(a){const U=te(a)?a.call(s):a;Reflect.ownKeys(U).forEach(N=>{Rs(N,U[N])})}c&&mi(c,e,"c");function Y(U,N){ee(N)?N.forEach(G=>U(G.bind(s))):N&&U(N.bind(s))}if(Y(Tl,f),Y(ys,h),Y(Il,m),Y(Pl,T),Y(Cl,R),Y(kl,L),Y(Ml,be),Y(Nl,H),Y($l,ne),Y(Ds,A),Y(qr,g),Y(Ol,J),ee(Se))if(Se.length){const U=e.exposed||(e.exposed={});Se.forEach(N=>{Object.defineProperty(U,N,{get:()=>s[N],set:G=>s[N]=G,enumerable:!0})})}else e.exposed||(e.exposed={});O&&e.render===ct&&(e.render=O),Ne!=null&&(e.inheritAttrs=Ne),ke&&(e.components=ke),C&&(e.directives=C),J&&Gr(e)}function Bl(e,t,s=ct){ee(e)&&(e=En(e));for(const n in e){const i=e[n];let r;_e(i)?"default"in i?r=et(i.from||n,i.default,!0):r=et(i.from||n):r=et(i),$e(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[n]=r}}function mi(e,t,s){ut(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function zr(e,t,s,n){let i=n.includes(".")?Dr(s,n):()=>s[n];if(xe(e)){const r=t[e];te(r)&&Wt(i,r)}else if(te(e))Wt(i,e.bind(s));else if(_e(e))if(ee(e))e.forEach(r=>zr(r,t,s,n));else{const r=te(e.handler)?e.handler.bind(s):t[e.handler];te(r)&&Wt(i,r,e)}}function Jr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let a;return l?a=l:!i.length&&!s&&!n?a=t:(a={},i.length&&i.forEach(d=>Hs(a,d,o,!0)),Hs(a,t,o)),_e(t)&&r.set(t,a),a}function Hs(e,t,s,n=!1){const{mixins:i,extends:r}=t;r&&Hs(e,r,s,!0),i&&i.forEach(o=>Hs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=Gl[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Gl={data:vi,props:_i,emits:_i,methods:ns,computed:ns,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:ns,directives:ns,watch:Wl,provide:vi,inject:Ul};function vi(e,t){return t?e?function(){return Te(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Ul(e,t){return ns(En(e),En(t))}function En(e){if(ee(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dt(t)}Modifiers`];function Jl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ve;let i=s;const r=t.startsWith("update:"),o=r&&zl(n,t.slice(7));o&&(o.trim&&(i=s.map(c=>xe(c)?c.trim():c)),o.number&&(i=s.map(Lo)));let l,a=n[l=tn(t)]||n[l=tn(Qe(t))];!a&&r&&(a=n[l=tn(Dt(t))]),a&&ut(a,e,6,i);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ut(d,e,6,i)}}const Yl=new WeakMap;function Xr(e,t,s=!1){const n=s?Yl:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!te(e)){const a=d=>{const c=Xr(d,t,!0);c&&(l=!0,Te(o,c))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(_e(e)&&n.set(e,null),null):(ee(r)?r.forEach(a=>o[a]=null):Te(o,r),_e(e)&&n.set(e,o),o)}function Xs(e,t){return!e||!Fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,Dt(t))||fe(e,t))}function bi(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:a,render:d,renderCache:c,props:f,data:h,setupState:m,ctx:T,inheritAttrs:R}=e,L=Ms(e);let D,A;try{if(s.shapeFlag&4){const g=i||n,O=g;D=at(d.call(O,g,c,f,m,h,T)),A=l}else{const g=t;D=at(g.length>1?g(f,{attrs:l,slots:o,emit:a}):g(f,null)),A=t.props?l:Xl(l)}}catch(g){us.length=0,Js(g,e,1),D=le(_t)}let _=D;if(A&&R!==!1){const g=Object.keys(A),{shapeFlag:O}=_;g.length&&O&7&&(r&&g.some(Nn)&&(A=Ql(A,r)),_=Jt(_,A,!1,!0))}return s.dirs&&(_=Jt(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(s.dirs):s.dirs),s.transition&&Wn(_,s.transition),D=_,Ms(L),D}const Xl=e=>{let t;for(const s in e)(s==="class"||s==="style"||Fs(s))&&((t||(t={}))[s]=e[s]);return t},Ql=(e,t)=>{const s={};for(const n in e)(!Nn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Zl(e,t,s){const{props:n,children:i,component:r}=e,{props:o,children:l,patchFlag:a}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?yi(n,o,d):!!o;if(a&8){const c=t.dynamicProps;for(let f=0;fObject.create(Qr),eo=e=>Object.getPrototypeOf(e)===Qr;function ta(e,t,s,n=!1){const i={},r=Zr();e.propsDefaults=Object.create(null),to(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:kr(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function sa(e,t,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=ue(i),[a]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[h,m]=so(f,t,!0);Te(o,h),m&&l.push(...m)};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return _e(e)&&n.set(e,Bt),Bt;if(ee(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Kn=e=>ee(e)?e.map(at):[at(e)],ia=(e,t,s)=>{if(t._n)return t;const n=Ue((...i)=>Kn(t(...i)),s);return n._c=!1,n},no=(e,t,s)=>{const n=e._ctx;for(const i in e){if(qn(i))continue;const r=e[i];if(te(r))t[i]=ia(i,r,n);else if(r!=null){const o=Kn(r);t[i]=()=>o}}},io=(e,t)=>{const s=Kn(t);e.slots.default=()=>s},ro=(e,t,s)=>{for(const n in t)(s||!qn(n))&&(e[n]=t[n])},ra=(e,t,s)=>{const n=e.slots=Zr();if(e.vnode.shapeFlag&32){const i=t._;i?(ro(n,t,s),s&&cr(n,"_",i,!0)):no(t,n)}else t&&io(e,t)},oa=(e,t,s)=>{const{vnode:n,slots:i}=e;let r=!0,o=ve;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:ro(i,t,s):(r=!t.$stable,no(t,i)),o=t}else t&&(io(e,t),o={default:1});if(r)for(const l in i)!qn(l)&&o[l]==null&&delete i[l]},Le=fa;function la(e){return aa(e)}function aa(e,t){const s=Ws();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:a,setText:d,setElementText:c,parentNode:f,nextSibling:h,setScopeId:m=ct,insertStaticContent:T}=e,R=(u,p,v,y=null,S=null,w=null,M=void 0,$=null,I=!!p.dynamicChildren)=>{if(u===p)return;u&&!ts(u,p)&&(y=x(u),Ce(u,S,w,!0),u=null),p.patchFlag===-2&&(I=!1,p.dynamicChildren=null);const{type:E,ref:X,shapeFlag:V}=p;switch(E){case Qs:L(u,p,v,y);break;case _t:D(u,p,v,y);break;case Is:u==null&&A(p,v,y,M);break;case oe:ke(u,p,v,y,S,w,M,$,I);break;default:V&1?O(u,p,v,y,S,w,M,$,I):V&6?C(u,p,v,y,S,w,M,$,I):(V&64||V&128)&&E.process(u,p,v,y,S,w,M,$,I,K)}X!=null&&S?as(X,u&&u.ref,w,p||u,!p):X==null&&u&&u.ref!=null&&as(u.ref,null,w,u,!0)},L=(u,p,v,y)=>{if(u==null)n(p.el=l(p.children),v,y);else{const S=p.el=u.el;p.children!==u.children&&d(S,p.children)}},D=(u,p,v,y)=>{u==null?n(p.el=a(p.children||""),v,y):p.el=u.el},A=(u,p,v,y)=>{[u.el,u.anchor]=T(u.children,p,v,y,u.el,u.anchor)},_=({el:u,anchor:p},v,y)=>{let S;for(;u&&u!==p;)S=h(u),n(u,v,y),u=S;n(p,v,y)},g=({el:u,anchor:p})=>{let v;for(;u&&u!==p;)v=h(u),i(u),u=v;i(p)},O=(u,p,v,y,S,w,M,$,I)=>{if(p.type==="svg"?M="svg":p.type==="math"&&(M="mathml"),u==null)H(p,v,y,S,w,M,$,I);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),J(u,p,S,w,M,$,I)}finally{E&&E._endPatch()}}},H=(u,p,v,y,S,w,M,$)=>{let I,E;const{props:X,shapeFlag:V,transition:z,dirs:Z}=u;if(I=u.el=o(u.type,w,X&&X.is,X),V&8?c(I,u.children):V&16&&be(u.children,I,null,y,S,cn(u,w),M,$),Z&&It(u,null,y,"created"),ne(I,u,u.scopeId,M,y),X){for(const ge in X)ge!=="value"&&!is(ge)&&r(I,ge,null,X[ge],w,y);"value"in X&&r(I,"value",null,X.value,w),(E=X.onVnodeBeforeMount)&&ot(E,y,u)}Z&&It(u,null,y,"beforeMount");const re=ca(S,z);re&&z.beforeEnter(I),n(I,p,v),((E=X&&X.onVnodeMounted)||re||Z)&&Le(()=>{E&&ot(E,y,u),re&&z.enter(I),Z&&It(u,null,y,"mounted")},S)},ne=(u,p,v,y,S)=>{if(v&&m(u,v),y)for(let w=0;w{for(let E=I;E{const $=p.el=u.el;let{patchFlag:I,dynamicChildren:E,dirs:X}=p;I|=u.patchFlag&16;const V=u.props||ve,z=p.props||ve;let Z;if(v&&Pt(v,!1),(Z=z.onVnodeBeforeUpdate)&&ot(Z,v,p,u),X&&It(p,u,v,"beforeUpdate"),v&&Pt(v,!0),(V.innerHTML&&z.innerHTML==null||V.textContent&&z.textContent==null)&&c($,""),E?Se(u.dynamicChildren,E,$,v,y,cn(p,S),w):M||N(u,p,$,null,v,y,cn(p,S),w,!1),I>0){if(I&16)Ne($,V,z,v,S);else if(I&2&&V.class!==z.class&&r($,"class",null,z.class,S),I&4&&r($,"style",V.style,z.style,S),I&8){const re=p.dynamicProps;for(let ge=0;ge{Z&&ot(Z,v,p,u),X&&It(p,u,v,"updated")},y)},Se=(u,p,v,y,S,w,M)=>{for(let $=0;${if(p!==v){if(p!==ve)for(const w in p)!is(w)&&!(w in v)&&r(u,w,p[w],null,S,y);for(const w in v){if(is(w))continue;const M=v[w],$=p[w];M!==$&&w!=="value"&&r(u,w,$,M,S,y)}"value"in v&&r(u,"value",p.value,v.value,S)}},ke=(u,p,v,y,S,w,M,$,I)=>{const E=p.el=u?u.el:l(""),X=p.anchor=u?u.anchor:l("");let{patchFlag:V,dynamicChildren:z,slotScopeIds:Z}=p;Z&&($=$?$.concat(Z):Z),u==null?(n(E,v,y),n(X,v,y),be(p.children||[],v,X,S,w,M,$,I)):V>0&&V&64&&z&&u.dynamicChildren&&u.dynamicChildren.length===z.length?(Se(u.dynamicChildren,z,v,S,w,M,$),(p.key!=null||S&&p===S.subTree)&&zn(u,p,!0)):N(u,p,v,X,S,w,M,$,I)},C=(u,p,v,y,S,w,M,$,I)=>{p.slotScopeIds=$,u==null?p.shapeFlag&512?S.ctx.activate(p,v,y,M,I):B(p,v,y,S,w,M,I):F(u,p,I)},B=(u,p,v,y,S,w,M)=>{const $=u.component=_a(u,y,S);if(Ur(u)&&($.ctx.renderer=K),ya($,!1,M),$.asyncDep){if(S&&S.registerDep($,Y,M),!u.el){const I=$.subTree=le(_t);D(null,I,p,v),u.placeholder=I.el}}else Y($,u,p,v,S,w,M)},F=(u,p,v)=>{const y=p.component=u.component;if(Zl(u,p,v))if(y.asyncDep&&!y.asyncResolved){U(y,p,v);return}else y.next=p,y.update();else p.el=u.el,y.vnode=p},Y=(u,p,v,y,S,w,M)=>{const $=()=>{if(u.isMounted){let{next:V,bu:z,u:Z,parent:re,vnode:ge}=u;{const it=oo(u);if(it){V&&(V.el=ge.el,U(u,V,M)),it.asyncDep.then(()=>{u.isUnmounted||$()});return}}let de=V,Fe;Pt(u,!1),V?(V.el=ge.el,U(u,V,M)):V=ge,z&&sn(z),(Fe=V.props&&V.props.onVnodeBeforeUpdate)&&ot(Fe,re,V,ge),Pt(u,!0);const Be=bi(u),nt=u.subTree;u.subTree=Be,R(nt,Be,f(nt.el),x(nt),u,S,w),V.el=Be.el,de===null&&ea(u,Be.el),Z&&Le(Z,S),(Fe=V.props&&V.props.onVnodeUpdated)&&Le(()=>ot(Fe,re,V,ge),S)}else{let V;const{el:z,props:Z}=p,{bm:re,m:ge,parent:de,root:Fe,type:Be}=u,nt=qt(p);Pt(u,!1),re&&sn(re),!nt&&(V=Z&&Z.onVnodeBeforeMount)&&ot(V,de,p),Pt(u,!0);{Fe.ce&&Fe.ce._def.shadowRoot!==!1&&Fe.ce._injectChildStyle(Be);const it=u.subTree=bi(u);R(null,it,v,y,u,S,w),p.el=it.el}if(ge&&Le(ge,S),!nt&&(V=Z&&Z.onVnodeMounted)){const it=p;Le(()=>ot(V,de,it),S)}(p.shapeFlag&256||de&&qt(de.vnode)&&de.vnode.shapeFlag&256)&&u.a&&Le(u.a,S),u.isMounted=!0,p=v=y=null}};u.scope.on();const I=u.effect=new pr($);u.scope.off();const E=u.update=I.run.bind(I),X=u.job=I.runIfDirty.bind(I);X.i=u,X.id=u.uid,I.scheduler=()=>Un(X),Pt(u,!0),E()},U=(u,p,v)=>{p.component=u;const y=u.vnode.props;u.vnode=p,u.next=null,sa(u,p.props,y,v),oa(u,p.children,v),gt(),ci(u),mt()},N=(u,p,v,y,S,w,M,$,I=!1)=>{const E=u&&u.children,X=u?u.shapeFlag:0,V=p.children,{patchFlag:z,shapeFlag:Z}=p;if(z>0){if(z&128){se(E,V,v,y,S,w,M,$,I);return}else if(z&256){G(E,V,v,y,S,w,M,$,I);return}}Z&8?(X&16&&Ke(E,S,w),V!==E&&c(v,V)):X&16?Z&16?se(E,V,v,y,S,w,M,$,I):Ke(E,S,w,!0):(X&8&&c(v,""),Z&16&&be(V,v,y,S,w,M,$,I))},G=(u,p,v,y,S,w,M,$,I)=>{u=u||Bt,p=p||Bt;const E=u.length,X=p.length,V=Math.min(E,X);let z;for(z=0;zX?Ke(u,S,w,!0,!1,V):be(p,v,y,S,w,M,$,I,V)},se=(u,p,v,y,S,w,M,$,I)=>{let E=0;const X=p.length;let V=u.length-1,z=X-1;for(;E<=V&&E<=z;){const Z=u[E],re=p[E]=I?Et(p[E]):at(p[E]);if(ts(Z,re))R(Z,re,v,null,S,w,M,$,I);else break;E++}for(;E<=V&&E<=z;){const Z=u[V],re=p[z]=I?Et(p[z]):at(p[z]);if(ts(Z,re))R(Z,re,v,null,S,w,M,$,I);else break;V--,z--}if(E>V){if(E<=z){const Z=z+1,re=Zz)for(;E<=V;)Ce(u[E],S,w,!0),E++;else{const Z=E,re=E,ge=new Map;for(E=re;E<=z;E++){const We=p[E]=I?Et(p[E]):at(p[E]);We.key!=null&&ge.set(We.key,E)}let de,Fe=0;const Be=z-re+1;let nt=!1,it=0;const Zt=new Array(Be);for(E=0;E=Be){Ce(We,S,w,!0);continue}let rt;if(We.key!=null)rt=ge.get(We.key);else for(de=re;de<=z;de++)if(Zt[de-re]===0&&ts(We,p[de])){rt=de;break}rt===void 0?Ce(We,S,w,!0):(Zt[rt-re]=E+1,rt>=it?it=rt:nt=!0,R(We,p[rt],v,null,S,w,M,$,I),Fe++)}const ni=nt?ua(Zt):Bt;for(de=ni.length-1,E=Be-1;E>=0;E--){const We=re+E,rt=p[We],ii=p[We+1],ri=We+1{const{el:w,type:M,transition:$,children:I,shapeFlag:E}=u;if(E&6){Ie(u.component.subTree,p,v,y);return}if(E&128){u.suspense.move(p,v,y);return}if(E&64){M.move(u,p,v,K);return}if(M===oe){n(w,p,v);for(let V=0;V$.enter(w),S);else{const{leave:V,delayLeave:z,afterLeave:Z}=$,re=()=>{u.ctx.isUnmounted?i(w):n(w,p,v)},ge=()=>{w._isLeaving&&w[El](!0),V(w,()=>{re(),Z&&Z()})};z?z(w,re,ge):ge()}else n(w,p,v)},Ce=(u,p,v,y=!1,S=!1)=>{const{type:w,props:M,ref:$,children:I,dynamicChildren:E,shapeFlag:X,patchFlag:V,dirs:z,cacheIndex:Z}=u;if(V===-2&&(S=!1),$!=null&&(gt(),as($,null,v,u,!0),mt()),Z!=null&&(p.renderCache[Z]=void 0),X&256){p.ctx.deactivate(u);return}const re=X&1&&z,ge=!qt(u);let de;if(ge&&(de=M&&M.onVnodeBeforeUnmount)&&ot(de,p,u),X&6)Tt(u.component,v,y);else{if(X&128){u.suspense.unmount(v,y);return}re&&It(u,null,p,"beforeUnmount"),X&64?u.type.remove(u,p,v,K,y):E&&!E.hasOnce&&(w!==oe||V>0&&V&64)?Ke(E,p,v,!1,!0):(w===oe&&V&384||!S&&X&16)&&Ke(I,p,v),y&&ae(u)}(ge&&(de=M&&M.onVnodeUnmounted)||re)&&Le(()=>{de&&ot(de,p,u),re&&It(u,null,p,"unmounted")},v)},ae=u=>{const{type:p,el:v,anchor:y,transition:S}=u;if(p===oe){Ht(v,y);return}if(p===Is){g(u);return}const w=()=>{i(v),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(u.shapeFlag&1&&S&&!S.persisted){const{leave:M,delayLeave:$}=S,I=()=>M(v,w);$?$(u.el,w,I):I()}else w()},Ht=(u,p)=>{let v;for(;u!==p;)v=h(u),i(u),u=v;i(p)},Tt=(u,p,v)=>{const{bum:y,scope:S,job:w,subTree:M,um:$,m:I,a:E}=u;xi(I),xi(E),y&&sn(y),S.stop(),w&&(w.flags|=8,Ce(M,u,p,v)),$&&Le($,p),Le(()=>{u.isUnmounted=!0},p)},Ke=(u,p,v,y=!1,S=!1,w=0)=>{for(let M=w;M{if(u.shapeFlag&6)return x(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const p=h(u.anchor||u.el),v=p&&p[Hr];return v?h(v):p};let W=!1;const j=(u,p,v)=>{let y;u==null?p._vnode&&(Ce(p._vnode,null,null,!0),y=p._vnode.component):R(p._vnode||null,u,p,null,null,null,v),p._vnode=u,W||(W=!0,ci(y),$r(),W=!1)},K={p:R,um:Ce,m:Ie,r:ae,mt:B,mc:be,pc:N,pbc:Se,n:x,o:e};return{render:j,hydrate:void 0,createApp:Kl(j)}}function cn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Pt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ca(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zn(e,t,s=!1){const n=e.children,i=t.children;if(ee(n)&&ee(i))for(let r=0;r>1,e[s[l]]0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=t[o];return s}function oo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oo(t)}function xi(e){if(e)for(let t=0;te.__isSuspense;function fa(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const oe=Symbol.for("v-fgt"),Qs=Symbol.for("v-txt"),_t=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),us=[];let qe=null;function k(e=!1){us.push(qe=e?null:[])}function da(){us.pop(),qe=us[us.length-1]||null}let gs=1;function js(e,t=!1){gs+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function co(e){return e.dynamicChildren=gs>0?qe||Bt:null,da(),gs>0&&qe&&qe.push(e),e}function P(e,t,s,n,i,r){return co(b(e,t,s,n,i,r,!0))}function Je(e,t,s,n,i){return co(le(e,t,s,n,i,!0))}function ms(e){return e?e.__v_isVNode===!0:!1}function ts(e,t){return e.type===t.type&&e.key===t.key}const uo=({key:e})=>e??null,Ps=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||$e(e)||te(e)?{i:je,r:e,k:t,f:!!s}:e:null);function b(e,t=null,s=null,n=0,i=null,r=e===oe?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&uo(t),ref:t&&Ps(t),scopeId:Mr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:je};return l?(Jn(a,s),r&128&&e.normalize(a)):s&&(a.shapeFlag|=xe(s)?8:16),gs>0&&!o&&qe&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&qe.push(a),a}const le=pa;function pa(e,t=null,s=null,n=0,i=null,r=!1){if((!e||e===Dl)&&(e=_t),ms(e)){const l=Jt(e,t,!0);return s&&Jn(l,s),gs>0&&!r&&qe&&(l.shapeFlag&6?qe[qe.indexOf(e)]=l:qe.push(l)),l.patchFlag=-2,l}if(Ea(e)&&(e=e.__vccOpts),t){t=ha(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=Ye(l)),_e(a)&&(Gn(a)&&!ee(a)&&(a=Te({},a)),t.style=qs(a))}const o=xe(e)?1:ao(e)?128:Sl(e)?64:_e(e)?4:te(e)?2:0;return b(e,t,s,n,i,o,r,!0)}function ha(e){return e?Gn(e)||eo(e)?Te({},e):e:null}function Jt(e,t,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:a}=e,d=t?ga(i||{},t):i,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&uo(d),ref:t&&t.ref?s&&r?ee(r)?r.concat(Ps(t)):[r,Ps(t)]:Ps(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==oe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jt(e.ssContent),ssFallback:e.ssFallback&&Jt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&Wn(c,a.clone(c)),c}function we(e=" ",t=0){return le(Qs,null,e,t)}function Qt(e,t){const s=le(Is,null,e);return s.staticCount=t,s}function he(e="",t=!1){return t?(k(),Je(_t,null,e)):le(_t,null,e)}function at(e){return e==null||typeof e=="boolean"?le(_t):ee(e)?le(oe,null,e.slice()):ms(e)?Et(e):le(Qs,null,String(e))}function Et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jt(e)}function Jn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Jn(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!eo(t)?t._ctx=je:i===3&&je&&(je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else te(t)?(t={default:t,_ctx:je},s=32):(t=String(t),n&64?(s=16,t=[we(t)]):s=8);e.children=t,e.shapeFlag|=s}function ga(...e){const t={};for(let s=0;sOe||je;let Vs,kn;{const e=Ws(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};Vs=t("__VUE_INSTANCE_SETTERS__",s=>Oe=s),kn=t("__VUE_SSR_SETTERS__",s=>vs=s)}const xs=e=>{const t=Oe;return Vs(e),e.scope.on(),()=>{e.scope.off(),Vs(t)}},Si=()=>{Oe&&Oe.scope.off(),Vs(null)};function fo(e){return e.vnode.shapeFlag&4}let vs=!1;function ya(e,t=!1,s=!1){t&&kn(t);const{props:n,children:i}=e.vnode,r=fo(e);ta(e,n,r,t),ra(e,i,s||t);const o=r?wa(e,t):void 0;return t&&kn(!1),o}function wa(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vl);const{setup:n}=s;if(n){gt();const i=e.setupContext=n.length>1?Sa(e):null,r=xs(e),o=bs(n,e,0,[e.props,i]),l=or(o);if(mt(),r(),(l||e.sp)&&!qt(e)&&Gr(e),l){if(o.then(Si,Si),t)return o.then(a=>{Ai(e,a)}).catch(a=>{Js(a,e,0)});e.asyncDep=o}else Ai(e,o)}else po(e)}function Ai(e,t,s){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:_e(t)&&(e.setupState=Tr(t)),po(e)}function po(e,t,s){const n=e.type;e.render||(e.render=n.render||ct);{const i=xs(e);gt();try{Fl(e)}finally{mt(),i()}}}const xa={get(e,t){return Pe(e,"get",""),e[t]}};function Sa(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,xa),slots:e.slots,emit:e.emit,expose:t}}function Yn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tr(cl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in cs)return cs[s](e)},has(t,s){return s in t||s in cs}})):e.proxy}function Aa(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Ea(e){return te(e)&&"__vccOpts"in e}const pe=(e,t)=>hl(e,t,vs);function ho(e,t,s){try{js(-1);const n=arguments.length;return n===2?_e(t)&&!ee(t)?ms(t)?le(e,null,[t]):le(e,t):le(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&ms(s)&&(s=[s]),le(e,t,s))}finally{js(1)}}const Ca="3.5.27";let Rn;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{Rn=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const go=Rn?e=>Rn.createHTML(e):e=>e,ka="http://www.w3.org/2000/svg",Ra="http://www.w3.org/1998/Math/MathML",pt=typeof document<"u"?document:null,Ci=pt&&pt.createElement("template"),Ta={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?pt.createElementNS(ka,e):t==="mathml"?pt.createElementNS(Ra,e):s?pt.createElement(e,{is:s}):pt.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>pt.createTextNode(e),createComment:e=>pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{Ci.innerHTML=go(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Ci.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ia=Symbol("_vtc");function Pa(e,t,s){const n=e[Ia];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ki=Symbol("_vod"),Oa=Symbol("_vsh"),$a=Symbol(""),Na=/(?:^|;)\s*display\s*:/;function Ma(e,t,s){const n=e.style,i=xe(s);let r=!1;if(s&&!i){if(t)if(xe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Os(n,l,"")}else for(const o in t)s[o]==null&&Os(n,o,"");for(const o in s)o==="display"&&(r=!0),Os(n,o,s[o])}else if(i){if(t!==s){const o=n[$a];o&&(s+=";"+o),n.cssText=s,r=Na.test(s)}}else t&&e.removeAttribute("style");ki in e&&(e[ki]=r?n.display:"",e[Oa]&&(n.display="none"))}const Ri=/\s*!important$/;function Os(e,t,s){if(ee(s))s.forEach(n=>Os(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=La(e,t);Ri.test(s)?e.setProperty(Dt(n),s.replace(Ri,""),"important"):e[n]=s}}const Ti=["Webkit","Moz","ms"],un={};function La(e,t){const s=un[t];if(s)return s;let n=Qe(t);if(n!=="filter"&&n in e)return un[t]=n;n=Us(n);for(let i=0;ifn||(Fa.then(()=>fn=0),fn=Date.now());function Ga(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ut(Ua(n,s.value),t,5,[n])};return s.value=e,s.attached=Ba(),s}function Ua(e,t){if(ee(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Mi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wa=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?Pa(e,n,o):t==="style"?Ma(e,s,n):Fs(t)?Nn(t)||ja(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qa(e,t,n,o))?(Oi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Pi(e,t,n,o,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!xe(n))?Oi(e,Qe(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Pi(e,t,n,o))};function qa(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Mi(t)&&te(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Mi(t)&&xe(s)?!1:t in e}const Ka=Te({patchProp:Wa},Ta);let Li;function za(){return Li||(Li=la(Ka))}const Ja=((...e)=>{const t=za().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Xa(n);if(!i)return;const r=t._component;!te(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Ya(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Ya(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Xa(e){return xe(e)?document.querySelector(e):e}const Qa=[{label:"Home",to:"/"},{label:"Install",to:"/install"},{label:"API",to:"/api"},{label:"Docs",kind:"dropdown",items:[{label:"Quick Start",to:"/docs/quick-start"},{label:"Guide",to:"/docs/guide"},{label:"Tutorial",to:"/docs/tutorial"},{label:"Examples",to:"/docs/examples"}]},{label:"About",kind:"dropdown",items:[{label:"Community Guide",to:"/about/community-guide"},{label:"Releases",to:"/about/releases"},{label:"Team",to:"/about/team"},{label:"FAQ",to:"/about/faq"},{label:"The Documentary",to:"/about/documentary"}]}],Za={registry:{label:"Registry",href:"https://github.com/vixcpp/registry",badge:"Git",note:"Git-based package index"},github:{label:"GitHub",href:"https://github.com/vixcpp/vix",badge:"Source",note:"Source-first docs"}},Ee=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},ec={class:"hdr"},tc={class:"wrap"},sc={class:"nav"},nc=["onMouseenter","onMouseleave"],ic=["onClick","aria-expanded"],rc=["href"],oc={class:"pill"},lc=["href"],ac={class:"pill"},cc={key:0,class:"mnav"},uc={key:1,class:"mdd"},fc=["onClick","aria-expanded"],dc={key:0,class:"mdd-menu"},pc=["href"],hc={class:"pill"},gc=["href"],mc={class:"pill"},vc={__name:"SiteHeader",setup(e){const t=Za,s=pe(()=>Qa);function n(A){return A.kind==="dropdown"?`dd:${A.label}`:`to:${A.to}`}const i=Re("");function r(A){return i.value===A}function o(A){i.value=A}function l(A){i.value===A&&(i.value="")}function a(A){i.value=i.value===A?"":A}function d(){i.value=""}function c(A){const _=A.target;_ instanceof Element&&(_.closest(".hdr")||d())}function f(A){A.key==="Escape"&&d()}ys(()=>{document.addEventListener("click",c,{passive:!0}),document.addEventListener("keydown",f)}),Ds(()=>{document.removeEventListener("click",c),document.removeEventListener("keydown",f)});const h=Re(!1),m=Re(new Set);function T(){h.value=!h.value,h.value||(m.value=new Set),document.documentElement.classList.toggle("nav-open",h.value)}function R(){h.value=!1,m.value=new Set,document.documentElement.classList.remove("nav-open")}function L(A){const _=new Set(m.value);_.has(A)?_.delete(A):_.add(A),m.value=_}function D(A){return m.value.has(A)}return Ds(()=>{document.documentElement.classList.remove("nav-open")}),(A,_)=>{const g=ws("RouterLink");return k(),P("header",ec,[b("div",tc,[le(g,{class:"brand",to:"/"},{default:Ue(()=>[..._[4]||(_[4]=[b("span",{class:"logo"},"Vix.cpp",-1),b("span",{class:"tag"},"Modern C++ backend runtime",-1)])]),_:1}),b("nav",sc,[(k(!0),P(oe,null,Ve(s.value,O=>(k(),P(oe,{key:n(O)},[O.kind!=="dropdown"?(k(),Je(g,{key:0,class:"link",to:O.to,"active-class":"is-active"},{default:Ue(()=>[we(q(O.label),1)]),_:2},1032,["to"])):(k(),P("div",{key:1,class:"dd",onMouseenter:H=>o(O.label),onMouseleave:H=>l(O.label)},[b("button",{type:"button",class:Ye(["link dd-btn",{"is-open":r(O.label)}]),onClick:H=>a(O.label),"aria-haspopup":"menu","aria-expanded":String(r(O.label))},[we(q(O.label)+" ",1),_[5]||(_[5]=b("span",{class:"chev","aria-hidden":"true"},"▾",-1))],10,ic),b("div",{class:Ye(["dd-menu",{open:r(O.label)}]),role:"menu"},[(k(!0),P(oe,null,Ve(O.items,H=>(k(),Je(g,{key:H.to,class:"dd-item",to:H.to,onClick:_[0]||(_[0]=ne=>d())},{default:Ue(()=>[we(q(H.label),1)]),_:2},1032,["to"]))),128))],2)],40,nc))],64))),128)),_[6]||(_[6]=b("div",{class:"spacer"},null,-1)),b("a",{class:"link ext",href:Q(t).registry.href,target:"_blank",rel:"noreferrer"},[we(q(Q(t).registry.label)+" ",1),b("small",oc,q(Q(t).registry.badge),1)],8,rc),b("a",{class:"cta",href:Q(t).github.href,target:"_blank",rel:"noreferrer"},[we(q(Q(t).github.label)+" ",1),b("small",ac,q(Q(t).github.badge),1)],8,lc)]),b("button",{type:"button",class:Ye(["burger",{open:h.value}]),"aria-label":"Toggle navigation",onClick:_[1]||(_[1]=O=>T())},[..._[7]||(_[7]=[b("span",null,null,-1),b("span",null,null,-1),b("span",null,null,-1)])],2)]),h.value?(k(),P("div",cc,[(k(!0),P(oe,null,Ve(s.value,O=>(k(),P(oe,{key:"m-"+n(O)},[O.kind!=="dropdown"?(k(),Je(g,{key:0,class:"mlink",to:O.to,onClick:_[2]||(_[2]=H=>R())},{default:Ue(()=>[we(q(O.label),1)]),_:2},1032,["to"])):(k(),P("div",uc,[b("button",{type:"button",class:"mlink mdd-btn",onClick:H=>L(O.label),"aria-expanded":String(D(O.label))},[we(q(O.label)+" ",1),_[8]||(_[8]=b("span",{class:"chev","aria-hidden":"true"},"▾",-1))],8,fc),D(O.label)?(k(),P("div",dc,[(k(!0),P(oe,null,Ve(O.items,H=>(k(),Je(g,{key:"m-"+H.to,class:"mdd-item",to:H.to,onClick:_[3]||(_[3]=ne=>R())},{default:Ue(()=>[we(q(H.label),1)]),_:2},1032,["to"]))),128))])):he("",!0)]))],64))),128)),_[9]||(_[9]=b("div",{class:"msep"},null,-1)),b("a",{class:"mlink ext",href:Q(t).registry.href,target:"_blank",rel:"noreferrer"},[we(q(Q(t).registry.label)+" ",1),b("small",hc,q(Q(t).registry.badge),1)],8,pc),b("a",{class:"mlink cta",href:Q(t).github.href,target:"_blank",rel:"noreferrer"},[we(q(Q(t).github.label)+" ",1),b("small",mc,q(Q(t).github.badge),1)],8,gc)])):he("",!0)])}}},_c=Ee(vc,[["__scopeId","data-v-f345a2b4"]]),bc={class:"ft"},yc={class:"wrap"},wc={class:"left"},xc={class:"muted"},Sc={class:"version"},Ac={__name:"SiteFooter",setup(e){const t="1.22.0";return(s,n)=>(k(),P("footer",bc,[b("div",yc,[b("div",wc,[n[1]||(n[1]=b("div",{class:"brand"},"Vix.cpp",-1)),b("div",xc,[n[0]||(n[0]=we(" Modern C++ backend runtime ",-1)),b("span",Sc,"v"+q(Q(t)),1)])]),n[2]||(n[2]=b("div",{class:"right"},[b("a",{class:"link",href:"https://github.com/vixcpp/vix",target:"_blank",rel:"noreferrer"}," GitHub "),b("a",{class:"link",href:"https://github.com/vixcpp/vix/releases",target:"_blank",rel:"noreferrer"}," Releases "),b("a",{class:"link",href:"https://github.com/vixcpp/vix/issues",target:"_blank",rel:"noreferrer"}," Issues ")],-1))])]))}},Ec=Ee(Ac,[["__scopeId","data-v-3124d47e"]]),Cc={key:0,class:"pwa-toast-wrap",role:"status","aria-live":"polite"},kc={class:"pwa-toast"},Rc={class:"pwa-toast-left"},Tc={class:"pwa-toast-text"},Ic={class:"pwa-toast-title"},Pc={class:"pwa-toast-sub"},Oc={key:0,class:"pwa-toast-version"},$c={class:"pwa-toast-actions"},mo={__name:"PwaUpdateToast",props:{show:{type:Boolean,default:!1},message:{type:String,default:"New version available."},detail:{type:String,default:"Refresh to load the latest build."},version:{type:String,default:""}},emits:["refresh","dismiss"],setup(e,{emit:t}){const s=t;return(n,i)=>(k(),Je(Vr,{to:"body"},[e.show?(k(),P("div",Cc,[b("div",kc,[i[3]||(i[3]=b("div",{class:"pwa-toast-glow","aria-hidden":"true"},null,-1)),b("div",Rc,[i[2]||(i[2]=b("div",{class:"pwa-toast-icon","aria-hidden":"true"},[b("span",{class:"pwa-dot pwa-dot-red"}),b("span",{class:"pwa-dot pwa-dot-yellow"}),b("span",{class:"pwa-dot pwa-dot-green"})],-1)),b("div",Tc,[b("div",Ic,q(e.message),1),b("div",Pc,[we(q(e.detail)+" ",1),e.version?(k(),P("span",Oc,"v"+q(e.version),1)):he("",!0)])])]),b("div",$c,[b("button",{class:"pwa-btn pwa-btn-ghost",type:"button",onClick:i[0]||(i[0]=r=>s("dismiss"))}," Later "),b("button",{class:"pwa-btn pwa-btn-primary",type:"button",onClick:i[1]||(i[1]=r=>s("refresh"))}," Refresh ")])])])):he("",!0)]))}},Nc={key:0,class:"pwa-toast-wrap",role:"status","aria-live":"polite"},Mc={class:"pwa-toast"},Lc={class:"pwa-toast-left"},Dc={class:"pwa-toast-text"},Hc={class:"pwa-toast-title"},jc={class:"pwa-toast-sub"},Vc={class:"pwa-toast-actions"},Fc=["disabled"],Bc={__name:"PwaInstallToast",props:{show:{type:Boolean,default:!1},message:{type:String,default:"Install Vix.cpp?"},detail:{type:String,default:"Get an app-like experience: offline support, faster launch."},canInstall:{type:Boolean,default:!0}},emits:["install","dismiss"],setup(e,{emit:t}){const s=e,n=t,i=pe(()=>!s.canInstall);return(r,o)=>(k(),Je(Vr,{to:"body"},[e.show?(k(),P("div",Nc,[b("div",Mc,[o[3]||(o[3]=b("div",{class:"pwa-toast-glow","aria-hidden":"true"},null,-1)),b("div",Lc,[o[2]||(o[2]=b("div",{class:"pwa-toast-icon","aria-hidden":"true"},[b("span",{class:"pwa-dot pwa-dot-red"}),b("span",{class:"pwa-dot pwa-dot-yellow"}),b("span",{class:"pwa-dot pwa-dot-green"})],-1)),b("div",Dc,[b("div",Hc,q(e.message),1),b("div",jc,q(e.detail),1)])]),b("div",Vc,[b("button",{class:"pwa-btn pwa-btn-ghost",type:"button",onClick:o[0]||(o[0]=l=>n("dismiss"))}," Not now "),b("button",{class:"pwa-btn pwa-btn-primary",type:"button",disabled:i.value,onClick:o[1]||(o[1]=l=>n("install"))}," Install ",8,Fc)])])])):he("",!0)]))}},Gc={class:"app"},Uc={class:"main"},Di="vix_pwa_install_dismiss_until",Wc={__name:"App",setup(e){const t=et("pwaToast"),s=pe(()=>t?.show?.value===!0),n="1.22.0";function i(){window.__vix_pwa_refresh__?.()}function r(){window.__vix_pwa_dismiss__?.()}const o=Re(!1),l=Re(!1);let a=null;function d(){return Date.now()}function c(){const L=Number(localStorage.getItem(Di)||"0");return d()>L}function f(L=7){const D=d()+L*24*60*60*1e3;localStorage.setItem(Di,String(D))}function h(){f(7),o.value=!1}async function m(){if(a)try{a.prompt();const L=await a.userChoice;a=null,l.value=!1,o.value=!1,L?.outcome!=="accepted"&&f(7)}catch{a=null,l.value=!1,o.value=!1,f(7)}}function T(L){L.preventDefault(),a=L,l.value=!0,c()&&setTimeout(()=>{a&&l.value&&(o.value=!0)},900)}function R(){a=null,l.value=!1,o.value=!1,f(365)}return ys(()=>{window.addEventListener("beforeinstallprompt",T),window.addEventListener("appinstalled",R)}),Ds(()=>{window.removeEventListener("beforeinstallprompt",T),window.removeEventListener("appinstalled",R)}),(L,D)=>{const A=ws("router-view");return k(),P("div",Gc,[le(_c),b("main",Uc,[le(A)]),le(Ec),le(Bc,{show:o.value,canInstall:l.value,message:"Install Vix.cpp?",detail:"Pin it like an app. Offline support, faster launch.",onInstall:m,onDismiss:h},null,8,["show","canInstall"]),le(mo,{show:s.value,version:Q(n),onRefresh:i,onDismiss:r},null,8,["show","version"])])}}},qc=Ee(Wc,[["__scopeId","data-v-6ed3c61b"]]);const Ft=typeof document<"u";function vo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Kc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&vo(e.default)}const ce=Object.assign;function dn(e,t){const s={};for(const n in t){const i=t[n];s[n]=st(i)?i.map(e):e(i)}return s}const fs=()=>{},st=Array.isArray;function Hi(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const _o=/#/g,zc=/&/g,Jc=/\//g,Yc=/=/g,Xc=/\?/g,bo=/\+/g,Qc=/%5B/g,Zc=/%5D/g,yo=/%5E/g,eu=/%60/g,wo=/%7B/g,tu=/%7C/g,xo=/%7D/g,su=/%20/g;function Xn(e){return e==null?"":encodeURI(""+e).replace(tu,"|").replace(Qc,"[").replace(Zc,"]")}function nu(e){return Xn(e).replace(wo,"{").replace(xo,"}").replace(yo,"^")}function Tn(e){return Xn(e).replace(bo,"%2B").replace(su,"+").replace(_o,"%23").replace(zc,"%26").replace(eu,"`").replace(wo,"{").replace(xo,"}").replace(yo,"^")}function iu(e){return Tn(e).replace(Yc,"%3D")}function ru(e){return Xn(e).replace(_o,"%23").replace(Xc,"%3F")}function ou(e){return ru(e).replace(Jc,"%2F")}function _s(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const lu=/\/$/,au=e=>e.replace(lu,"");function pn(e,t,s="/"){let n,i={},r="",o="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(n=t.slice(0,a),r=t.slice(a,l>0?l:t.length),i=e(r.slice(1))),l>=0&&(n=n||t.slice(0,l),o=t.slice(l,t.length)),n=du(n??t,s),{fullPath:n+r+o,path:n,query:i,hash:_s(o)}}function cu(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function ji(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uu(e,t,s){const n=t.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Yt(t.matched[n],s.matched[i])&&So(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Yt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function So(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!fu(e[s],t[s]))return!1;return!0}function fu(e,t){return st(e)?Vi(e,t):st(t)?Vi(t,e):e?.valueOf()===t?.valueOf()}function Vi(e,t){return st(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function du(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let r=s.length-1,o,l;for(o=0;o1&&r--;else break;return s.slice(0,r).join("/")+"/"+n.slice(o).join("/")}const wt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let In=(function(e){return e.pop="pop",e.push="push",e})({}),hn=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function pu(e){if(!e)if(Ft){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),au(e)}const hu=/^[^#]+#/;function gu(e,t){return e.replace(hu,"#")+t}function mu(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const Zs=()=>({left:window.scrollX,top:window.scrollY});function vu(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;t=mu(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Fi(e,t){return(history.state?history.state.position-t:-1)+e}const Pn=new Map;function _u(e,t){Pn.set(e,t)}function bu(e){const t=Pn.get(e);return Pn.delete(e),t}function yu(e){return typeof e=="string"||e&&typeof e=="object"}function Ao(e){return typeof e=="string"||typeof e=="symbol"}let ye=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Eo=Symbol("");ye.MATCHER_NOT_FOUND+"",ye.NAVIGATION_GUARD_REDIRECT+"",ye.NAVIGATION_ABORTED+"",ye.NAVIGATION_CANCELLED+"",ye.NAVIGATION_DUPLICATED+"";function Xt(e,t){return ce(new Error,{type:e,[Eo]:!0},t)}function dt(e,t){return e instanceof Error&&Eo in e&&(t==null||!!(e.type&t))}const wu=["params","query","hash"];function xu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of wu)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Su(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;ni&&Tn(i)):[n&&Tn(n)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+s,i!=null&&(t+="="+i))})}return t}function Au(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=st(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const Eu=Symbol(""),Gi=Symbol(""),Qn=Symbol(""),Zn=Symbol(""),On=Symbol("");function ss(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Ct(e,t,s,n,i,r=o=>o()){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((l,a)=>{const d=h=>{h===!1?a(Xt(ye.NAVIGATION_ABORTED,{from:s,to:t})):h instanceof Error?a(h):yu(h)?a(Xt(ye.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(o&&n.enterCallbacks[i]===o&&typeof h=="function"&&o.push(h),l())},c=r(()=>e.call(n&&n.instances[i],t,s,d));let f=Promise.resolve(c);e.length<3&&(f=f.then(d)),f.catch(h=>a(h))})}function gn(e,t,s,n,i=r=>r()){const r=[];for(const o of e)for(const l in o.components){let a=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(vo(a)){const d=(a.__vccOpts||a)[t];d&&r.push(Ct(d,s,n,o,l,i))}else{let d=a();r.push(()=>d.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const f=Kc(c)?c.default:c;o.mods[l]=c,o.components[l]=f;const h=(f.__vccOpts||f)[t];return h&&Ct(h,s,n,o,l,i)()}))}}return r}function Cu(e,t){const s=[],n=[],i=[],r=Math.max(t.matched.length,e.matched.length);for(let o=0;oYt(d,l))?n.push(l):s.push(l));const a=e.matched[o];a&&(t.matched.find(d=>Yt(d,a))||i.push(a))}return[s,n,i]}let ku=()=>location.protocol+"//"+location.host;function Co(e,t){const{pathname:s,search:n,hash:i}=t,r=e.indexOf("#");if(r>-1){let o=i.includes(e.slice(r))?e.slice(r).length:1,l=i.slice(o);return l[0]!=="/"&&(l="/"+l),ji(l,"")}return ji(s,e)+n+i}function Ru(e,t,s,n){let i=[],r=[],o=null;const l=({state:h})=>{const m=Co(e,location),T=s.value,R=t.value;let L=0;if(h){if(s.value=m,t.value=h,o&&o===T){o=null;return}L=R?h.position-R.position:0}else n(m);i.forEach(D=>{D(s.value,T,{delta:L,type:In.pop,direction:L?L>0?hn.forward:hn.back:hn.unknown})})};function a(){o=s.value}function d(h){i.push(h);const m=()=>{const T=i.indexOf(h);T>-1&&i.splice(T,1)};return r.push(m),m}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(ce({},h.state,{scroll:Zs()}),"")}}function f(){for(const h of r)h();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:d,destroy:f}}function Ui(e,t,s,n=!1,i=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:i?Zs():null}}function Tu(e){const{history:t,location:s}=window,n={value:Co(e,s)},i={value:t.state};i.value||r(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,d,c){const f=e.indexOf("#"),h=f>-1?(s.host&&document.querySelector("base")?e:e.slice(f))+a:ku()+e+a;try{t[c?"replaceState":"pushState"](d,"",h),i.value=d}catch(m){console.error(m),s[c?"replace":"assign"](h)}}function o(a,d){r(a,ce({},t.state,Ui(i.value.back,a,i.value.forward,!0),d,{position:i.value.position}),!0),n.value=a}function l(a,d){const c=ce({},i.value,t.state,{forward:a,scroll:Zs()});r(c.current,c,!0),r(a,ce({},Ui(n.value,a,null),{position:c.position+1},d),!1),n.value=a}return{location:n,state:i,push:l,replace:o}}function Iu(e){e=pu(e);const t=Tu(e),s=Ru(e,t.state,t.location,t.replace);function n(r,o=!0){o||s.pauseListeners(),history.go(r)}const i=ce({location:"",base:e,go:n,createHref:gu.bind(null,e)},t,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}let Nt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Ae=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Ae||{});const Pu={type:Nt.Static,value:""},Ou=/[a-zA-Z0-9_]/;function $u(e){if(!e)return[[]];if(e==="/")return[[Pu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${s})/"${d}": ${m}`)}let s=Ae.Static,n=s;const i=[];let r;function o(){r&&i.push(r),r=[]}let l=0,a,d="",c="";function f(){d&&(s===Ae.Static?r.push({type:Nt.Static,value:d}):s===Ae.Param||s===Ae.ParamRegExp||s===Ae.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Nt.Param,value:d,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),d="")}function h(){d+=a}for(;lt.length?t.length===1&&t[0]===De.Static+De.Segment?1:-1:0}function ko(e,t){let s=0;const n=e.score,i=t.score;for(;s0&&t[t.length-1]<0}const Hu={strict:!1,end:!0,sensitive:!1};function ju(e,t,s){const n=Lu($u(e.path),s),i=ce(n,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Vu(e,t){const s=[],n=new Map;t=Hi(Hu,t);function i(f){return n.get(f)}function r(f,h,m){const T=!m,R=zi(f);R.aliasOf=m&&m.record;const L=Hi(t,f),D=[R];if("alias"in f){const g=typeof f.alias=="string"?[f.alias]:f.alias;for(const O of g)D.push(zi(ce({},R,{components:m?m.record.components:R.components,path:O,aliasOf:m?m.record:R})))}let A,_;for(const g of D){const{path:O}=g;if(h&&O[0]!=="/"){const H=h.record.path,ne=H[H.length-1]==="/"?"":"/";g.path=h.record.path+(O&&ne+O)}if(A=ju(g,h,L),m?m.alias.push(A):(_=_||A,_!==A&&_.alias.push(A),T&&f.name&&!Ji(A)&&o(f.name)),Ro(A)&&a(A),R.children){const H=R.children;for(let ne=0;ne{o(_)}:fs}function o(f){if(Ao(f)){const h=n.get(f);h&&(n.delete(f),s.splice(s.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=s.indexOf(f);h>-1&&(s.splice(h,1),f.record.name&&n.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function l(){return s}function a(f){const h=Gu(f,s);s.splice(h,0,f),f.record.name&&!Ji(f)&&n.set(f.record.name,f)}function d(f,h){let m,T={},R,L;if("name"in f&&f.name){if(m=n.get(f.name),!m)throw Xt(ye.MATCHER_NOT_FOUND,{location:f});L=m.record.name,T=ce(Ki(h.params,m.keys.filter(_=>!_.optional).concat(m.parent?m.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),f.params&&Ki(f.params,m.keys.map(_=>_.name))),R=m.stringify(T)}else if(f.path!=null)R=f.path,m=s.find(_=>_.re.test(R)),m&&(T=m.parse(R),L=m.record.name);else{if(m=h.name?n.get(h.name):s.find(_=>_.re.test(h.path)),!m)throw Xt(ye.MATCHER_NOT_FOUND,{location:f,currentLocation:h});L=m.record.name,T=ce({},h.params,f.params),R=m.stringify(T)}const D=[];let A=m;for(;A;)D.unshift(A.record),A=A.parent;return{name:L,path:R,params:T,matched:D,meta:Bu(D)}}e.forEach(f=>r(f));function c(){s.length=0,n.clear()}return{addRoute:r,resolve:d,removeRoute:o,clearRoutes:c,getRoutes:l,getRecordMatcher:i}}function Ki(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function zi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Fu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Fu(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function Ji(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Bu(e){return e.reduce((t,s)=>ce(t,s.meta),{})}function Gu(e,t){let s=0,n=t.length;for(;s!==n;){const r=s+n>>1;ko(e,t[r])<0?n=r:s=r+1}const i=Uu(e);return i&&(n=t.lastIndexOf(i,n-1)),n}function Uu(e){let t=e;for(;t=t.parent;)if(Ro(t)&&ko(e,t)===0)return t}function Ro({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Yi(e){const t=et(Qn),s=et(Zn),n=pe(()=>{const a=Q(e.to);return t.resolve(a)}),i=pe(()=>{const{matched:a}=n.value,{length:d}=a,c=a[d-1],f=s.matched;if(!c||!f.length)return-1;const h=f.findIndex(Yt.bind(null,c));if(h>-1)return h;const m=Xi(a[d-2]);return d>1&&Xi(c)===m&&f[f.length-1].path!==m?f.findIndex(Yt.bind(null,a[d-2])):h}),r=pe(()=>i.value>-1&&Ju(s.params,n.value.params)),o=pe(()=>i.value>-1&&i.value===s.matched.length-1&&So(s.params,n.value.params));function l(a={}){if(zu(a)){const d=t[Q(e.replace)?"replace":"push"](Q(e.to)).catch(fs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:n,href:pe(()=>n.value.href),isActive:r,isExactActive:o,navigate:l}}function Wu(e){return e.length===1?e[0]:e}const qu=Br({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Yi,setup(e,{slots:t}){const s=zs(Yi(e)),{options:n}=et(Qn),i=pe(()=>({[Qi(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Qi(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const r=t.default&&Wu(t.default(s));return e.custom?r:ho("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},r)}}}),Ku=qu;function zu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ju(e,t){for(const s in t){const n=t[s],i=e[s];if(typeof n=="string"){if(n!==i)return!1}else if(!st(i)||i.length!==n.length||n.some((r,o)=>r.valueOf()!==i[o].valueOf()))return!1}return!0}function Xi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Qi=(e,t,s)=>e??t??s,Yu=Br({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=et(On),i=pe(()=>e.route||n.value),r=et(Gi,0),o=pe(()=>{let d=Q(r);const{matched:c}=i.value;let f;for(;(f=c[d])&&!f.components;)d++;return d}),l=pe(()=>i.value.matched[o.value]);Rs(Gi,pe(()=>o.value+1)),Rs(Eu,l),Rs(On,i);const a=Re();return Wt(()=>[a.value,l.value,e.name],([d,c,f],[h,m,T])=>{c&&(c.instances[f]=d,m&&m!==c&&d&&d===h&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),d&&c&&(!m||!Yt(c,m)||!h)&&(c.enterCallbacks[f]||[]).forEach(R=>R(d))},{flush:"post"}),()=>{const d=i.value,c=e.name,f=l.value,h=f&&f.components[c];if(!h)return Zi(s.default,{Component:h,route:d});const m=f.props[c],T=m?m===!0?d.params:typeof m=="function"?m(d):m:null,L=ho(h,ce({},T,t,{onVnodeUnmounted:D=>{D.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return Zi(s.default,{Component:L,route:d})||L}}});function Zi(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const Xu=Yu;function Qu(e){const t=Vu(e.routes,e),s=e.parseQuery||Su,n=e.stringifyQuery||Bi,i=e.history,r=ss(),o=ss(),l=ss(),a=ul(wt);let d=wt;Ft&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=dn.bind(null,x=>""+x),f=dn.bind(null,ou),h=dn.bind(null,_s);function m(x,W){let j,K;return Ao(x)?(j=t.getRecordMatcher(x),K=W):K=x,t.addRoute(K,j)}function T(x){const W=t.getRecordMatcher(x);W&&t.removeRoute(W)}function R(){return t.getRoutes().map(x=>x.record)}function L(x){return!!t.getRecordMatcher(x)}function D(x,W){if(W=ce({},W||a.value),typeof x=="string"){const v=pn(s,x,W.path),y=t.resolve({path:v.path},W),S=i.createHref(v.fullPath);return ce(v,y,{params:h(y.params),hash:_s(v.hash),redirectedFrom:void 0,href:S})}let j;if(x.path!=null)j=ce({},x,{path:pn(s,x.path,W.path).path});else{const v=ce({},x.params);for(const y in v)v[y]==null&&delete v[y];j=ce({},x,{params:f(v)}),W.params=f(W.params)}const K=t.resolve(j,W),ie=x.hash||"";K.params=c(h(K.params));const u=cu(n,ce({},x,{hash:nu(ie),path:K.path})),p=i.createHref(u);return ce({fullPath:u,hash:ie,query:n===Bi?Au(x.query):x.query||{}},K,{redirectedFrom:void 0,href:p})}function A(x){return typeof x=="string"?pn(s,x,a.value.path):ce({},x)}function _(x,W){if(d!==x)return Xt(ye.NAVIGATION_CANCELLED,{from:W,to:x})}function g(x){return ne(x)}function O(x){return g(ce(A(x),{replace:!0}))}function H(x,W){const j=x.matched[x.matched.length-1];if(j&&j.redirect){const{redirect:K}=j;let ie=typeof K=="function"?K(x,W):K;return typeof ie=="string"&&(ie=ie.includes("?")||ie.includes("#")?ie=A(ie):{path:ie},ie.params={}),ce({query:x.query,hash:x.hash,params:ie.path!=null?{}:x.params},ie)}}function ne(x,W){const j=d=D(x),K=a.value,ie=x.state,u=x.force,p=x.replace===!0,v=H(j,K);if(v)return ne(ce(A(v),{state:typeof v=="object"?ce({},ie,v.state):ie,force:u,replace:p}),W||j);const y=j;y.redirectedFrom=W;let S;return!u&&uu(n,K,j)&&(S=Xt(ye.NAVIGATION_DUPLICATED,{to:y,from:K}),Ie(K,K,!0,!1)),(S?Promise.resolve(S):Se(y,K)).catch(w=>dt(w)?dt(w,ye.NAVIGATION_GUARD_REDIRECT)?w:se(w):N(w,y,K)).then(w=>{if(w){if(dt(w,ye.NAVIGATION_GUARD_REDIRECT))return ne(ce({replace:p},A(w.to),{state:typeof w.to=="object"?ce({},ie,w.to.state):ie,force:u}),W||y)}else w=ke(y,K,!0,p,ie);return Ne(y,K,w),w})}function be(x,W){const j=_(x,W);return j?Promise.reject(j):Promise.resolve()}function J(x){const W=Ht.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(x):x()}function Se(x,W){let j;const[K,ie,u]=Cu(x,W);j=gn(K.reverse(),"beforeRouteLeave",x,W);for(const v of K)v.leaveGuards.forEach(y=>{j.push(Ct(y,x,W))});const p=be.bind(null,x,W);return j.push(p),Ke(j).then(()=>{j=[];for(const v of r.list())j.push(Ct(v,x,W));return j.push(p),Ke(j)}).then(()=>{j=gn(ie,"beforeRouteUpdate",x,W);for(const v of ie)v.updateGuards.forEach(y=>{j.push(Ct(y,x,W))});return j.push(p),Ke(j)}).then(()=>{j=[];for(const v of u)if(v.beforeEnter)if(st(v.beforeEnter))for(const y of v.beforeEnter)j.push(Ct(y,x,W));else j.push(Ct(v.beforeEnter,x,W));return j.push(p),Ke(j)}).then(()=>(x.matched.forEach(v=>v.enterCallbacks={}),j=gn(u,"beforeRouteEnter",x,W,J),j.push(p),Ke(j))).then(()=>{j=[];for(const v of o.list())j.push(Ct(v,x,W));return j.push(p),Ke(j)}).catch(v=>dt(v,ye.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function Ne(x,W,j){l.list().forEach(K=>J(()=>K(x,W,j)))}function ke(x,W,j,K,ie){const u=_(x,W);if(u)return u;const p=W===wt,v=Ft?history.state:{};j&&(K||p?i.replace(x.fullPath,ce({scroll:p&&v&&v.scroll},ie)):i.push(x.fullPath,ie)),a.value=x,Ie(x,W,j,p),se()}let C;function B(){C||(C=i.listen((x,W,j)=>{if(!Tt.listening)return;const K=D(x),ie=H(K,Tt.currentRoute.value);if(ie){ne(ce(ie,{replace:!0,force:!0}),K).catch(fs);return}d=K;const u=a.value;Ft&&_u(Fi(u.fullPath,j.delta),Zs()),Se(K,u).catch(p=>dt(p,ye.NAVIGATION_ABORTED|ye.NAVIGATION_CANCELLED)?p:dt(p,ye.NAVIGATION_GUARD_REDIRECT)?(ne(ce(A(p.to),{force:!0}),K).then(v=>{dt(v,ye.NAVIGATION_ABORTED|ye.NAVIGATION_DUPLICATED)&&!j.delta&&j.type===In.pop&&i.go(-1,!1)}).catch(fs),Promise.reject()):(j.delta&&i.go(-j.delta,!1),N(p,K,u))).then(p=>{p=p||ke(K,u,!1),p&&(j.delta&&!dt(p,ye.NAVIGATION_CANCELLED)?i.go(-j.delta,!1):j.type===In.pop&&dt(p,ye.NAVIGATION_ABORTED|ye.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),Ne(K,u,p)}).catch(fs)}))}let F=ss(),Y=ss(),U;function N(x,W,j){se(x);const K=Y.list();return K.length?K.forEach(ie=>ie(x,W,j)):console.error(x),Promise.reject(x)}function G(){return U&&a.value!==wt?Promise.resolve():new Promise((x,W)=>{F.add([x,W])})}function se(x){return U||(U=!x,B(),F.list().forEach(([W,j])=>x?j(x):W()),F.reset()),x}function Ie(x,W,j,K){const{scrollBehavior:ie}=e;if(!Ft||!ie)return Promise.resolve();const u=!j&&bu(Fi(x.fullPath,0))||(K||!j)&&history.state&&history.state.scroll||null;return Pr().then(()=>ie(x,W,u)).then(p=>p&&vu(p)).catch(p=>N(p,x,W))}const Ce=x=>i.go(x);let ae;const Ht=new Set,Tt={currentRoute:a,listening:!0,addRoute:m,removeRoute:T,clearRoutes:t.clearRoutes,hasRoute:L,getRoutes:R,resolve:D,options:e,push:g,replace:O,go:Ce,back:()=>Ce(-1),forward:()=>Ce(1),beforeEach:r.add,beforeResolve:o.add,afterEach:l.add,onError:Y.add,isReady:G,install(x){x.component("RouterLink",Ku),x.component("RouterView",Xu),x.config.globalProperties.$router=Tt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>Q(a)}),Ft&&!ae&&a.value===wt&&(ae=!0,g(i.location).catch(K=>{}));const W={};for(const K in wt)Object.defineProperty(W,K,{get:()=>a.value[K],enumerable:!0});x.provide(Qn,Tt),x.provide(Zn,kr(W)),x.provide(On,a);const j=x.unmount;Ht.add(x),x.unmount=function(){Ht.delete(x),Ht.size<1&&(d=wt,C&&C(),C=null,a.value=wt,ae=!1,U=!1),j()}}};function Ke(x){return x.reduce((W,j)=>W.then(()=>J(j)),Promise.resolve())}return Tt}function Zu(e){return et(Zn)}const ks={hero:{title:"Offline-first C++ runtime.",subtitle:"A modern C++ runtime and serious alternative to Node.js, Deno, and Bun, designed for unreliable networks and native performance.",ctas:[{label:"Get Vix.cpp",to:"/install",kind:"primary"},{label:"View on GitHub",href:"https://github.com/vixcpp/vix",kind:"secondary",external:!0}],badges:[],support:{title:"Production ready",meta:["Native C++ binaries","MIT licensed"]},examples:[{key:"http",label:"HTTP",lang:"cpp",file:"server.cpp",code:`#include using namespace vix; int main() @@ -49,22 +49,20 @@ int main() i Hint: Ctrl+C to stop`}]},signals:{title:"Open-source project signals",subtitle:`Vix.cpp is an open-source project developed in the open. These signals reflect real community activity and ongoing maintenance.`,items:[{title:"Stars",kind:"github",field:"stars",meta:["Stars on GitHub"]},{title:"Forks",kind:"github",field:"forks",meta:["Community forks"]},{title:"Open issues",kind:"github",field:"open_issues",meta:["Active issues"]}]},batteries:{title:"Batteries included",subtitle:"Vix ships a complete CLI workflow to create, build, develop, package, and verify C++ backend projects.",items:[{title:"Project workflow",text:"Create projects and iterate fast with dev mode and one-command runs.",href:"/docs/cli",preview:{title:"project",lines:["$ vix new api","$ cd api && vix dev","$ vix run server.cpp"]}},{title:"Packaging & verification",text:"Package builds and verify artifacts with a security-focused workflow.",href:"/docs/packaging",preview:{title:"pack + verify",lines:["$ vix pack --version 1.0.0","$ vix verify"]}},{title:"Modules system",text:"Opt-in modules to keep projects minimal and explicit.",href:"/docs/modules",preview:{title:"modules",lines:["$ vix modules init","$ vix modules add websocket"]}},{title:"Offline registry",text:"Sync once, search locally, and pin dependencies via vix.lock.",href:"/docs/registry",preview:{title:"registry",lines:["$ vix registry sync","$ vix search websocket","$ vix deps"]}}]},getStarted:{title:"Get started in under a minute",subtitle:"Create a project, start dev mode, and iterate with hot-reload.",code:`vix new api cd api -vix dev`,note:"Start with dev hot-reload, then switch to run or package when ready.",ctas:[{label:"Install Vix.cpp",to:"/install",kind:"primary"},{label:"View on GitHub",href:"https://github.com/vixcpp/vix",kind:"secondary",external:!0}]}},ed={class:"hero"},td={class:"container hero-inner"},sd={class:"hero-copy"},nd={class:"hero-title"},id={class:"hero-subtitle"},rd={key:0,class:"hero-ctas"},od=["href"],ld={key:1,class:"hero-support"},ad={class:"hero-support-title"},cd={class:"hero-support-text"},ud={key:0,class:"hero-support-meta"},dd={key:0,class:"sep"},fd={key:2,class:"hero-badges"},pd={key:0,class:"hero-side"},hd={class:"code-head"},gd={class:"head-scroll"},md={class:"head-left"},vd={class:"head-title"},_d={key:0,class:"tabs",role:"tablist","aria-label":"Hero examples"},bd=["aria-selected","onClick"],yd=["title"],wd={key:0,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},xd={key:1,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Sd={class:"code-body",role:"region","aria-label":"Hero code example"},Ad={class:"code-pre"},Ed=["innerHTML"],Cd={__name:"Hero",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},ctas:{type:Array,default:()=>[]},badges:{type:Array,default:()=>[]},support:{type:Object,default:null},examples:{type:Array,default:()=>[]},defaultTab:{type:String,default:""}},setup(e){const t=e,s=Re(!1),n=Re(!1),i=Re("");function r(_){return!!(_?.external||_?.href)}function o(_){return _?.href||_?.to||"#"}function l(_){return _==="primary"?"btn cta-main":"btn cta-secondary"}const a=he(()=>(t.examples||[]).filter(_=>_&&_.key&&_.label&&typeof _.code=="string").map(_=>({key:_.key,label:_.label,lang:_.lang||"cpp",file:_.file||"",code:_.code||""})));Wt(()=>a.value.map(_=>_.key).join(","),()=>{const _=a.value[0]?.key||"",g=t.defaultTab||_;i.value=a.value.some($=>$.key===g)?g:_},{immediate:!0});const f=he(()=>a.value.find(_=>_.key===i.value)||a.value[0]||null),c=he(()=>f.value?.code||""),d=he(()=>f.value?.lang||"cpp"),h=he(()=>{const _=f.value;if(!_)return"";const g=_.file?` ${_.file}`:"";return`${_.label}${g}`});function m(_){return String(_??"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function I(_){return String(_??"").split(` -`).map($=>$.replace(/^\s*>\s?/,"")).join(` -`)}function R(_){const $=String(_??"").split(` -`),H=new Set(["alignas","alignof","and","and_eq","asm","auto","bitand","bitor","bool","break","case","catch","char","char8_t","char16_t","char32_t","class","compl","concept","const","consteval","constexpr","constinit","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","inline","int","long","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq"]),ne=new Set(["size_t","ssize_t","string","string_view","vector","map","unordered_map","set","unordered_set","optional","variant","expected","unique_ptr","shared_ptr","weak_ptr","App","Request","Response","Context"]),ye=new Set(["std","vix","asio","net","http","ws"]);function Y(k,B){return`${m(B)}`}function Se(k){let B=!1,F=!1;for(let X=0;X\n]*>)(.*)$/);if(N)return W+=m(N[1]),W+=Y("cpp-include",N[2]),W+=ke(N[3]||""),W;const G=X.match(/^(\s*)("([^"\\]|\\.)*")(.*)$/);return G?(W+=m(G[1]),W+=Y("cpp-include",G[2]),W+=ke(G[4]||""),W):(W+=ke(X),W)}function ke(k){let B="",F=0;const X=N=>/[A-Za-z_]/.test(N),W=N=>/[A-Za-z0-9_]/.test(N);for(;F{for(let ce=F-1;ce>=0;ce--)if(k[ce]!==" "&&k[ce]!==" ")return k[ce];return""})(),Ce=(()=>{for(let ce=G;ce"?B+=Y("cpp-member",se):B+=Y("cpp-ident",se),F=G;continue}if(/[\(\)\{\}\[\]\;\,\.\:\=\+\-\*\/\<\>\!\&\|\?]/.test(N)){if(k.startsWith("::",F)){B+=Y("cpp-op","::"),F+=2;continue}if(k.startsWith("->",F)){B+=Y("cpp-op","->"),F+=2;continue}B+=Y("cpp-op",N),F++;continue}B+=m(N),F++}return B=B.replace(/(https?:\/\/[^\s<]+)/g,'$1'),B}return $.map(k=>{const{code:B,comment:F}=Se(k),W=Me(B)??ke(B),N=F?`${m(F)}`:"";return W+N}).join(` -`)}function L(_){let g=m(I(_));return g=g.replace(/^(\s*(?:~|\/[^$]*)?\s*\$)/gm,'$1'),g=g.replace(/(^\s*(?:.*?<\/span>\s*)?)([a-zA-Z0-9_.\/-]+)(\s+)/gm,'$1$2$3'),g=g.replace(/(\s--?[a-zA-Z0-9_-]+(?:=[^\s]+)?)/g,'$1'),g=g.replace(/(https?:\/\/[^\s]+)/g,'$1'),g=g.replace(/(\s(?:\.{0,2}\/[^\s]+))/g,'$1'),g=g.replace(/(:\d{2,5}\b)/g,'$1'),g=g.replace(/^(HTTP\/\d\.\d\s+\d+\s+.*)$/gm,'$1'),g=g.replace(/^([A-Za-z-]+:\s*)(.*)$/gm,'$1$2'),g}const D=he(()=>{const _=c.value||"";return d.value==="shell"?L(_):R(_)});async function E(_){try{await navigator.clipboard.writeText(_),n.value=!0,window.clearTimeout(E._t),E._t=window.setTimeout(()=>n.value=!1,900)}catch{const g=document.createElement("textarea");g.value=_,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.focus(),g.select();try{document.execCommand("copy"),n.value=!0,window.clearTimeout(E._t),E._t=window.setTimeout(()=>n.value=!1,900)}finally{document.body.removeChild(g)}}}return(_,g)=>{const $=ws("RouterLink");return A(),T("section",ed,[b("div",td,[b("div",sd,[b("h1",nd,U(e.title),1),b("p",id,U(e.subtitle),1),e.ctas?.length?(A(),T("div",rd,[(A(!0),T(le,null,Oe(e.ctas,H=>(A(),T(le,{key:H.label},[H.to&&!r(H)?(A(),Ke($,{key:0,to:H.to,class:Ye(l(H.kind))},{default:Ue(()=>[be(U(H.label),1)]),_:2},1032,["to","class"])):(A(),T("a",{key:1,href:o(H),class:Ye(l(H.kind)),target:"_blank",rel:"noreferrer"},U(H.label),11,od))],64))),128))])):oe("",!0),t.support?(A(),T("div",ld,[b("div",ad,U(t.support.title),1),b("div",cd,U(t.support.text),1),t.support.meta?.length?(A(),T("div",ud,[g[3]||(g[3]=b("span",{class:"meta-dot"},null,-1)),(A(!0),T(le,null,Oe(t.support.meta,(H,ne)=>(A(),T(le,{key:ne},[b("span",null,U(H),1),ne(A(),T("span",{key:H,class:"pill"},U(H),1))),128))])):oe("",!0)]),a.value.length?(A(),T("div",pd,[b("div",{class:"code-card",onMouseenter:g[1]||(g[1]=H=>s.value=!0),onMouseleave:g[2]||(g[2]=H=>s.value=!1)},[b("div",hd,[b("div",gd,[b("div",md,[g[4]||(g[4]=b("span",{class:"dot dot-red"},null,-1)),g[5]||(g[5]=b("span",{class:"dot dot-yellow"},null,-1)),g[6]||(g[6]=b("span",{class:"dot dot-green"},null,-1)),b("span",vd,U(h.value),1)]),a.value.length>1?(A(),T("div",_d,[(A(!0),T(le,null,Oe(a.value,H=>(A(),T("button",{key:H.key,type:"button",class:Ye(["tab",{active:i.value===H.key}]),role:"tab","aria-selected":i.value===H.key,onClick:ne=>i.value=H.key},U(H.label),11,bd))),128))])):oe("",!0)]),c.value?(A(),T("button",{key:0,type:"button",class:"copy-btn",onClick:g[0]||(g[0]=H=>E(c.value)),title:n.value?"Copied":"Copy","aria-label":"Copy"},[n.value?(A(),T("svg",xd,[...g[8]||(g[8]=[b("path",{d:"M20 7L10 17l-4-4",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(A(),T("svg",wd,[...g[7]||(g[7]=[b("path",{d:"M9 9h10v10H9V9Z",stroke:"currentColor","stroke-width":"1.7","stroke-linejoin":"round"},null,-1),b("path",{d:"M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,yd)):oe("",!0)]),b("div",Sd,[b("pre",Ad,[b("code",{class:"code-code",innerHTML:D.value},null,8,Ed)])])],32)])):oe("",!0)])])}}},kd=Ae(Cd,[["__scopeId","data-v-362c406f"]]),Rd=["id"],Td={class:"container"},Id={class:"section-head"},Pd={class:"section-title"},$d={key:0,class:"section-subtitle"},Od={class:"section-body"},Nd={__name:"Section",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},alt:{type:Boolean,default:!1},id:{type:String,default:""},tight:{type:Boolean,default:!1}},setup(e){return(t,s)=>(A(),T("section",{class:Ye(["section",{alt:e.alt,tight:e.tight}]),id:e.id||null},[b("div",Td,[b("header",Id,[b("h2",Pd,U(e.title),1),e.subtitle?(A(),T("p",$d,U(e.subtitle),1)):oe("",!0)]),b("div",Od,[jl(t.$slots,"default",{},void 0)])])],10,Rd))}},Md=Ae(Nd,[["__scopeId","data-v-b068929b"]]),Ld={class:"code-head"},Dd={class:"head-left"},Hd={class:"head-title"},jd={key:0,class:"chips"},Vd={class:"head-right"},Fd={key:0,class:"tabs"},Bd=["onClick"],Gd=["title"],Ud={key:0,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Wd={key:1,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},qd={class:"code-pre"},Kd=["innerHTML"],zd={key:0,class:"code-foot"},Jd={class:"code-note"},Yd={__name:"CodeBlock",props:{title:{type:String,default:""},code:{type:String,default:""},run:{type:String,default:""},out:{type:String,default:""},note:{type:String,default:""},lang:{type:String,default:""},chips:{type:Array,default:()=>[]},maxHeight:{type:[Number,String],default:380}},setup(e){const t=e,s=Re(!1),n=Re("code"),i=Re(!1),r=he(()=>{const _=[];return t.code?.trim()&&_.push({key:"code",label:"Code",text:t.code,lang:h("code")}),t.run?.trim()&&_.push({key:"run",label:"Run",text:t.run,lang:"shell"}),t.out?.trim()&&_.push({key:"out",label:"Output",text:t.out,lang:"shell"}),_});Wt(()=>r.value.map(_=>_.key).join(","),()=>{r.value.find(_=>_.key===n.value)||(n.value=r.value[0]?.key||"code")},{immediate:!0});const o=he(()=>r.value.find(_=>_.key===n.value)||r.value[0]),l=he(()=>o.value?.text||""),a=he(()=>o.value?.lang||h(n.value)),f=he(()=>n.value==="run"?"Run":n.value==="out"?"Output":a.value==="shell"?"Shell":"C++"),c=he(()=>(t.chips||[]).filter(Boolean)),d=he(()=>{const _=t.maxHeight;return typeof _=="number"?`${_}px`:typeof _=="string"&&_.trim()?_:"380px"});function h(_){if(t.lang)return t.lang;if(_==="run"||_==="out")return"shell";const g=(t.code||"").trim();return g.includes("#include")||g.includes("int main")||g.includes("std::")?"cpp":g.startsWith("~$")||g.includes(" vix ")||g.includes("$ ")?"shell":"cpp"}function m(_){return String(_).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function I(_){return String(_??"").split(` -`).map($=>{let H=$.replace(/^\s*>\s?/,"");return H=H.replace(/\s*>\s*:(\d{2,5})/g," :$1"),H}).join(` -`)}function R(_){const $=String(_??"").split(` -`),H=new Set(["alignas","alignof","and","and_eq","asm","auto","bitand","bitor","bool","break","case","catch","char","char8_t","char16_t","char32_t","class","compl","concept","const","consteval","constexpr","constinit","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","inline","int","long","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq"]),ne=new Set(["size_t","ssize_t","string","string_view","vector","map","unordered_map","set","unordered_set","optional","variant","expected","unique_ptr","shared_ptr","weak_ptr","App","Request","Response","Context"]),ye=new Set(["std","vix","asio","net","http","ws"]);function Y(k,B){return`${m(B)}`}function Se(k){let B=!1,F=!1;for(let X=0;X\n]*>)(.*)$/);if(N)return W+=m(N[1]),W+=Y("cpp-include",N[2]),W+=ke(N[3]||""),W;const G=X.match(/^(\s*)("([^"\\]|\\.)*")(.*)$/);return G?(W+=m(G[1]),W+=Y("cpp-include",G[2]),W+=ke(G[4]||""),W):(W+=ke(X),W)}function ke(k){let B="",F=0;const X=N=>/[A-Za-z_]/.test(N),W=N=>/[A-Za-z0-9_]/.test(N);for(;F{for(let ce=F-1;ce>=0;ce--)if(k[ce]!==" "&&k[ce]!==" ")return k[ce];return""})(),Ce=(()=>{for(let ce=G;ce"?B+=Y("cpp-member",se):B+=Y("cpp-ident",se),F=G;continue}if(/[\(\)\{\}\[\]\;\,\.\:\=\+\-\*\/\<\>\!\&\|\?]/.test(N)){if(k.startsWith("::",F)){B+=Y("cpp-op","::"),F+=2;continue}if(k.startsWith("->",F)){B+=Y("cpp-op","->"),F+=2;continue}B+=Y("cpp-op",N),F++;continue}B+=m(N),F++}return B=B.replace(/(https?:\/\/[^\s<]+)/g,'$1'),B}return $.map(k=>{const{code:B,comment:F}=Se(k),W=Me(B)??ke(B),N=F?`${m(F)}`:"";return W+N}).join(` -`)}function L(_){let g=m(I(_));return g=g.replace(/^(\s*(?:~|\/[^$]*)?\s*\$)/gm,'$1'),g=g.replace(/(^\s*(?:.*?<\/span>\s*)?)([a-zA-Z0-9_.\/-]+)(\s+)/gm,'$1$2$3'),g=g.replace(/(\s--?[a-zA-Z0-9_-]+(?:=[^\s]+)?)/g,'$1'),g=g.replace(/(https?:\/\/[^\s]+)/g,'$1'),g=g.replace(/(\s(?:\.{0,2}\/[^\s]+))/g,'$1'),g=g.replace(/(:\d{2,5}\b)/g,'$1'),g=g.replace(/(\s\|\|\s|\s\|\s)/g,'$1'),g=g.replace(/^(HTTP\/\d\.\d\s+\d+\s+.*)$/gm,'$1'),g=g.replace(/^([A-Za-z-]+:\s*)(.*)$/gm,'$1$2'),g}const D=he(()=>{const _=l.value||"";return a.value==="shell"?L(_):R(_)});async function E(_){try{await navigator.clipboard.writeText(_),s.value=!0,window.clearTimeout(E._t),E._t=window.setTimeout(()=>s.value=!1,900)}catch{const g=document.createElement("textarea");g.value=_,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.focus(),g.select();try{document.execCommand("copy"),s.value=!0,window.clearTimeout(E._t),E._t=window.setTimeout(()=>s.value=!1,900)}finally{document.body.removeChild(g)}}}return(_,g)=>(A(),T("div",{class:"code-card",onMouseenter:g[1]||(g[1]=$=>i.value=!0),onMouseleave:g[2]||(g[2]=$=>i.value=!1)},[b("div",Ld,[b("div",Dd,[g[3]||(g[3]=b("span",{class:"dot dot-red"},null,-1)),g[4]||(g[4]=b("span",{class:"dot dot-yellow"},null,-1)),g[5]||(g[5]=b("span",{class:"dot dot-green"},null,-1)),b("span",Hd,U(e.title||f.value),1),c.value.length?(A(),T("div",jd,[(A(!0),T(le,null,Oe(c.value,$=>(A(),T("span",{key:$,class:"chip"},U($),1))),128))])):oe("",!0)]),b("div",Vd,[r.value.length>1?(A(),T("div",Fd,[(A(!0),T(le,null,Oe(r.value,$=>(A(),T("button",{key:$.key,type:"button",class:Ye(["tab",{active:n.value===$.key}]),onClick:H=>n.value=$.key},U($.label),11,Bd))),128))])):oe("",!0),l.value?(A(),T("button",{key:1,type:"button",class:"copy-btn",onClick:g[0]||(g[0]=$=>E(l.value)),title:s.value?"Copied":"Copy","aria-label":"Copy"},[s.value?(A(),T("svg",Wd,[...g[7]||(g[7]=[b("path",{d:"M20 7L10 17l-4-4",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(A(),T("svg",Ud,[...g[6]||(g[6]=[b("path",{d:"M9 9h10v10H9V9Z",stroke:"currentColor","stroke-width":"1.7","stroke-linejoin":"round"},null,-1),b("path",{d:"M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,Gd)):oe("",!0)])]),b("div",{class:"code-body",style:qs({maxHeight:d.value}),role:"region","aria-label":"Code block"},[b("pre",qd,[b("code",{class:"code-code",innerHTML:D.value},null,8,Kd)])],4),e.note?(A(),T("div",zd,[b("p",Jd,U(e.note),1)])):oe("",!0)],32))}},ei=Ae(Yd,[["__scopeId","data-v-4a7f74a5"]]),Xd={class:"signals"},Qd={class:"pill"},Zd={class:"value"},ef={key:0,class:"sub"},tf={__name:"SignalsGrid",props:{items:{type:Array,default:()=>[]},github:{type:Object,default:null}},setup(e){function t(i){const r=Number(i);return Number.isFinite(r)?r.toLocaleString():""}function s(i,r){return i?.kind==="github"&&r&&i?.field?t(r[i.field]):i?.value??""}function n(i){return Array.isArray(i?.meta)&&i.meta.length?i.meta[0]:""}return(i,r)=>(A(),T("div",Xd,[(A(!0),T(le,null,Oe(Array.isArray(e.items)?e.items:[],(o,l)=>(A(),T("div",{key:o.field||o.title||l,class:"signal"},[b("span",Qd,U(o.title),1),b("div",Zd,U(s(o,e.github)),1),n(o)?(A(),T("div",ef,U(n(o)),1)):oe("",!0)]))),128))]))}},sf=Ae(tf,[["__scopeId","data-v-91543e28"]]),nf={class:"batteries"},rf={class:"container"},of={class:"head"},lf={class:"title"},af={key:0,class:"subtitle"},cf={class:"grid"},uf={class:"card-top"},df={class:"card-title"},ff={key:0,class:"card-text"},pf=["href","target","rel"],hf={key:0,class:"preview"},gf={class:"preview-head"},mf={key:0,class:"preview-title"},vf={class:"preview-body"},_f={class:"preview-pre"},bf={class:"preview-code"},yf={__name:"BatteriesIncluded",props:{title:{type:String,default:""},subtitle:{type:String,default:""},items:{type:Array,default:()=>[]}},setup(e){function t(r){return r?.href||r?.to||""}function s(r){return!!(r?.preview?.code||r?.preview?.lines?.length)}function n(r){if(Array.isArray(r?.preview?.lines))return r.preview.lines;const o=r?.preview?.code;return typeof o=="string"&&o.trim()?o.split(` -`):[]}function i(r){const o=n(r);return(Array.isArray(o)?o.join(` -`):"").replaceAll("\r","")}return(r,o)=>(A(),T("section",nf,[b("div",rf,[b("header",of,[b("h2",lf,U(e.title),1),e.subtitle?(A(),T("p",af,U(e.subtitle),1)):oe("",!0)]),b("div",cf,[(A(!0),T(le,null,Oe(Array.isArray(e.items)?e.items:[],(l,a)=>(A(),T("article",{key:l.title||a,class:"card"},[b("div",uf,[b("h3",df,U(l.title),1),l.text?(A(),T("p",ff,U(l.text),1)):oe("",!0),t(l)?(A(),T("a",{key:1,class:"learn",href:t(l),target:l.external?"_blank":null,rel:l.external?"noreferrer":null},[...o[0]||(o[0]=[be(" Learn more ",-1),b("span",{class:"arrow"},"›",-1)])],8,pf)):oe("",!0)]),s(l)?(A(),T("div",hf,[b("div",gf,[o[1]||(o[1]=b("span",{class:"dot dot-red"},null,-1)),o[2]||(o[2]=b("span",{class:"dot dot-yellow"},null,-1)),o[3]||(o[3]=b("span",{class:"dot dot-green"},null,-1)),l.preview?.title?(A(),T("span",mf,U(l.preview.title),1)):oe("",!0)]),b("div",vf,[b("pre",_f,[b("code",bf,U(i(l)),1)])])])):oe("",!0)]))),128))])])]))}},wf=Ae(yf,[["__scopeId","data-v-7f0be1df"]]),en="vixcpp/vix",xf=`https://api.github.com/repos/${en}`,To=`vix_github_stats_${en}`,Sf=360*60*1e3;function Af(e){if(!e)return!1;const t=new Date(e).getTime();return Number.isFinite(t)&&Date.now()-tt.abort(),e);try{const n=await fetch(xf,{signal:t.signal,headers:{Accept:"application/vnd.github+json"}});if(!n.ok)return null;const i=await n.json(),r={repo:en,fetched_at:new Date().toISOString(),stars:i.stargazers_count??0,forks:i.forks_count??0,open_issues:i.open_issues_count??0,watchers:i.subscribers_count??0};return Cf(r),r}catch{return null}finally{clearTimeout(s)}}const If={class:"page"},Pf={key:0,class:"container loading"},$f={key:2,class:"signals"},Of={class:"container signals-layout"},Nf={class:"signals-left"},Mf={class:"signals-title"},Lf={class:"signals-subtitle"},Df={class:"signals-right"},Hf={key:0,class:"cta-row"},jf=["href","target","rel"],Vf={__name:"Home",setup(e){const t=ks??ks??ks?.HOME??ks?.default??null,s=Re(null);return ys(async()=>{s.value=await Rf();const n=await Tf({timeoutMs:1200});n&&(s.value=n)}),(n,i)=>(A(),T("div",If,[J(t)?oe("",!0):(A(),T("div",Pf,[...i[0]||(i[0]=[b("h2",{class:"loading-title"},"Loading…",-1),b("p",{class:"loading-sub"},[be(" HOME is null. Check export in "),b("code",null,"@/data/home"),be(". ")],-1)])])),J(t)?.hero?(A(),Ke(kd,{key:1,title:J(t).hero.title,subtitle:J(t).hero.subtitle,ctas:J(t).hero.ctas,badges:J(t).hero.badges,examples:J(t).hero.examples,support:J(t).hero.support},null,8,["title","subtitle","ctas","badges","examples","support"])):oe("",!0),J(t)?.signals?(A(),T("section",$f,[b("div",Of,[b("div",Nf,[b("h2",Mf,U(J(t).signals.title),1),b("p",Lf,U(J(t).signals.subtitle),1)]),b("div",Df,[ae(sf,{items:J(t).signals.items||[],github:s.value},null,8,["items","github"])])])])):oe("",!0),J(t)?.batteries?(A(),Ke(wf,{key:3,title:J(t).batteries.title,subtitle:J(t).batteries.subtitle,items:J(t).batteries.items||[]},null,8,["title","subtitle","items"])):oe("",!0),J(t)?.getStarted?(A(),Ke(Md,{key:4,title:J(t).getStarted.title,subtitle:J(t).getStarted.subtitle,alt:""},{default:Ue(()=>[ae(ei,{code:J(t).getStarted.code||"",note:J(t).getStarted.note||""},null,8,["code","note"]),J(t).getStarted.ctas?.length?(A(),T("div",Hf,[(A(!0),T(le,null,Oe(J(t).getStarted.ctas,r=>(A(),T("a",{key:r.label,href:r.href||r.to,class:Ye(["btn",r.kind]),target:r.external?"_blank":null,rel:r.external?"noreferrer":null},U(r.label),11,jf))),128))])):oe("",!0)]),_:1},8,["title","subtitle"])):oe("",!0)]))}},Ff=Ae(Vf,[["__scopeId","data-v-c8505a9c"]]),$t={title:"Install Vix.cpp",subtitle:"Install the Vix.cpp CLI in minutes. Simple, explicit, and reproducible.",sections:[{id:"linux",title:"Linux (recommended)",desc:"Install using the official installer. This downloads a prebuilt, signed binary and installs it in a standard user location.",code:"curl -fsSL https://vixcpp.com/install.sh | bash",note:"The installer is idempotent and safe to re-run. By default, Vix is installed to ~/.local/bin/vix. No system files are modified."},{id:"mac",title:"macOS",desc:"Install using the official installer. This downloads a signed macOS binary and installs it locally.",code:"curl -fsSL https://vixcpp.com/install.sh | bash",note:"macOS uses the same installer as Linux. Homebrew is intentionally not supported to keep installs explicit and reproducible."},{id:"windows",title:"Windows",desc:"Install using the official PowerShell installer. This downloads a signed binary and installs it for the current user.",code:"irm https://vixcpp.com/install.ps1 | iex",note:"The installer does not require administrator privileges. The binary is typically installed under %LOCALAPPDATA%\\Vix."},{id:"verify",title:"Verify installation",desc:"Confirm that Vix.cpp is installed correctly and available in your shell.",code:`vix -h +vix dev`,note:"Start with dev hot-reload, then switch to run or package when ready.",ctas:[{label:"Install Vix.cpp",to:"/install",kind:"primary"},{label:"View on GitHub",href:"https://github.com/vixcpp/vix",kind:"secondary",external:!0}]}},ef={class:"hero"},tf={class:"container hero-inner"},sf={class:"hero-copy"},nf={class:"hero-title"},rf={class:"hero-subtitle"},of={key:0,class:"hero-ctas"},lf=["href"],af={key:1,class:"hero-support"},cf={class:"hero-support-title"},uf={class:"hero-support-text"},ff={key:0,class:"hero-support-meta"},df={key:0,class:"sep"},pf={key:2,class:"hero-badges"},hf={key:0,class:"hero-side"},gf={class:"code-head"},mf={class:"head-scroll"},vf={class:"head-left"},_f={class:"head-title"},bf={key:0,class:"tabs",role:"tablist","aria-label":"Hero examples"},yf=["aria-selected","onClick"],wf=["title"],xf={key:0,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Sf={key:1,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Af={class:"code-body",role:"region","aria-label":"Hero code example"},Ef={class:"code-pre"},Cf=["innerHTML"],kf={__name:"Hero",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},ctas:{type:Array,default:()=>[]},badges:{type:Array,default:()=>[]},support:{type:Object,default:null},examples:{type:Array,default:()=>[]},defaultTab:{type:String,default:""}},setup(e){const t=e,s=Re(!1),n=Re(!1),i=Re("");function r(_){return!!(_?.external||_?.href)}function o(_){return _?.href||_?.to||"#"}function l(_){return _==="primary"?"btn cta-main":"btn cta-secondary"}const a=pe(()=>(t.examples||[]).filter(_=>_&&_.key&&_.label&&typeof _.code=="string").map(_=>({key:_.key,label:_.label,lang:_.lang||"cpp",file:_.file||"",code:_.code||""})));Wt(()=>a.value.map(_=>_.key).join(","),()=>{const _=a.value[0]?.key||"",g=t.defaultTab||_;i.value=a.value.some(O=>O.key===g)?g:_},{immediate:!0});const d=pe(()=>a.value.find(_=>_.key===i.value)||a.value[0]||null),c=pe(()=>d.value?.code||""),f=pe(()=>d.value?.lang||"cpp"),h=pe(()=>{const _=d.value;if(!_)return"";const g=_.file?` ${_.file}`:"";return`${_.label}${g}`});function m(_){return String(_??"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function T(_){return String(_??"").split(` +`).map(O=>O.replace(/^\s*>\s?/,"")).join(` +`)}function R(_){const O=String(_??"").split(` +`),H=new Set(["alignas","alignof","and","and_eq","asm","auto","bitand","bitor","bool","break","case","catch","char","char8_t","char16_t","char32_t","class","compl","concept","const","consteval","constexpr","constinit","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","inline","int","long","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq"]),ne=new Set(["size_t","ssize_t","string","string_view","vector","map","unordered_map","set","unordered_set","optional","variant","expected","unique_ptr","shared_ptr","weak_ptr","App","Request","Response","Context"]),be=new Set(["std","vix","asio","net","http","ws"]);function J(C,B){return`${m(B)}`}function Se(C){let B=!1,F=!1;for(let Y=0;Y\n]*>)(.*)$/);if(N)return U+=m(N[1]),U+=J("cpp-include",N[2]),U+=ke(N[3]||""),U;const G=Y.match(/^(\s*)("([^"\\]|\\.)*")(.*)$/);return G?(U+=m(G[1]),U+=J("cpp-include",G[2]),U+=ke(G[4]||""),U):(U+=ke(Y),U)}function ke(C){let B="",F=0;const Y=N=>/[A-Za-z_]/.test(N),U=N=>/[A-Za-z0-9_]/.test(N);for(;F{for(let ae=F-1;ae>=0;ae--)if(C[ae]!==" "&&C[ae]!==" ")return C[ae];return""})(),Ce=(()=>{for(let ae=G;ae"?B+=J("cpp-member",se):B+=J("cpp-ident",se),F=G;continue}if(/[\(\)\{\}\[\]\;\,\.\:\=\+\-\*\/\<\>\!\&\|\?]/.test(N)){if(C.startsWith("::",F)){B+=J("cpp-op","::"),F+=2;continue}if(C.startsWith("->",F)){B+=J("cpp-op","->"),F+=2;continue}B+=J("cpp-op",N),F++;continue}B+=m(N),F++}return B=B.replace(/(https?:\/\/[^\s<]+)/g,'$1'),B}return O.map(C=>{const{code:B,comment:F}=Se(C),U=Ne(B)??ke(B),N=F?`${m(F)}`:"";return U+N}).join(` +`)}function L(_){let g=m(T(_));return g=g.replace(/^(\s*(?:~|\/[^$]*)?\s*\$)/gm,'$1'),g=g.replace(/(^\s*(?:.*?<\/span>\s*)?)([a-zA-Z0-9_.\/-]+)(\s+)/gm,'$1$2$3'),g=g.replace(/(\s--?[a-zA-Z0-9_-]+(?:=[^\s]+)?)/g,'$1'),g=g.replace(/(https?:\/\/[^\s]+)/g,'$1'),g=g.replace(/(\s(?:\.{0,2}\/[^\s]+))/g,'$1'),g=g.replace(/(:\d{2,5}\b)/g,'$1'),g=g.replace(/^(HTTP\/\d\.\d\s+\d+\s+.*)$/gm,'$1'),g=g.replace(/^([A-Za-z-]+:\s*)(.*)$/gm,'$1$2'),g}const D=pe(()=>{const _=c.value||"";return f.value==="shell"?L(_):R(_)});async function A(_){try{await navigator.clipboard.writeText(_),n.value=!0,window.clearTimeout(A._t),A._t=window.setTimeout(()=>n.value=!1,900)}catch{const g=document.createElement("textarea");g.value=_,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.focus(),g.select();try{document.execCommand("copy"),n.value=!0,window.clearTimeout(A._t),A._t=window.setTimeout(()=>n.value=!1,900)}finally{document.body.removeChild(g)}}}return(_,g)=>{const O=ws("RouterLink");return k(),P("section",ef,[b("div",tf,[b("div",sf,[b("h1",nf,q(e.title),1),b("p",rf,q(e.subtitle),1),e.ctas?.length?(k(),P("div",of,[(k(!0),P(oe,null,Ve(e.ctas,H=>(k(),P(oe,{key:H.label},[H.to&&!r(H)?(k(),Je(O,{key:0,to:H.to,class:Ye(l(H.kind))},{default:Ue(()=>[we(q(H.label),1)]),_:2},1032,["to","class"])):(k(),P("a",{key:1,href:o(H),class:Ye(l(H.kind)),target:"_blank",rel:"noreferrer"},q(H.label),11,lf))],64))),128))])):he("",!0),t.support?(k(),P("div",af,[b("div",cf,q(t.support.title),1),b("div",uf,q(t.support.text),1),t.support.meta?.length?(k(),P("div",ff,[g[3]||(g[3]=b("span",{class:"meta-dot"},null,-1)),(k(!0),P(oe,null,Ve(t.support.meta,(H,ne)=>(k(),P(oe,{key:ne},[b("span",null,q(H),1),ne(k(),P("span",{key:H,class:"pill"},q(H),1))),128))])):he("",!0)]),a.value.length?(k(),P("div",hf,[b("div",{class:"code-card",onMouseenter:g[1]||(g[1]=H=>s.value=!0),onMouseleave:g[2]||(g[2]=H=>s.value=!1)},[b("div",gf,[b("div",mf,[b("div",vf,[g[4]||(g[4]=b("span",{class:"dot dot-red"},null,-1)),g[5]||(g[5]=b("span",{class:"dot dot-yellow"},null,-1)),g[6]||(g[6]=b("span",{class:"dot dot-green"},null,-1)),b("span",_f,q(h.value),1)]),a.value.length>1?(k(),P("div",bf,[(k(!0),P(oe,null,Ve(a.value,H=>(k(),P("button",{key:H.key,type:"button",class:Ye(["tab",{active:i.value===H.key}]),role:"tab","aria-selected":i.value===H.key,onClick:ne=>i.value=H.key},q(H.label),11,yf))),128))])):he("",!0)]),c.value?(k(),P("button",{key:0,type:"button",class:"copy-btn",onClick:g[0]||(g[0]=H=>A(c.value)),title:n.value?"Copied":"Copy","aria-label":"Copy"},[n.value?(k(),P("svg",Sf,[...g[8]||(g[8]=[b("path",{d:"M20 7L10 17l-4-4",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(k(),P("svg",xf,[...g[7]||(g[7]=[b("path",{d:"M9 9h10v10H9V9Z",stroke:"currentColor","stroke-width":"1.7","stroke-linejoin":"round"},null,-1),b("path",{d:"M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,wf)):he("",!0)]),b("div",Af,[b("pre",Ef,[b("code",{class:"code-code",innerHTML:D.value},null,8,Cf)])])],32)])):he("",!0)])])}}},Rf=Ee(kf,[["__scopeId","data-v-362c406f"]]),Tf=["id"],If={class:"container"},Pf={class:"section-head"},Of={class:"section-title"},$f={key:0,class:"section-subtitle"},Nf={class:"section-body"},Mf={__name:"Section",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},alt:{type:Boolean,default:!1},id:{type:String,default:""},tight:{type:Boolean,default:!1}},setup(e){return(t,s)=>(k(),P("section",{class:Ye(["section",{alt:e.alt,tight:e.tight}]),id:e.id||null},[b("div",If,[b("header",Pf,[b("h2",Of,q(e.title),1),e.subtitle?(k(),P("p",$f,q(e.subtitle),1)):he("",!0)]),b("div",Nf,[jl(t.$slots,"default",{},void 0)])])],10,Tf))}},Lf=Ee(Mf,[["__scopeId","data-v-b068929b"]]),Df={class:"code-head"},Hf={class:"head-left"},jf={class:"head-title"},Vf={key:0,class:"chips"},Ff={class:"head-right"},Bf={key:0,class:"tabs"},Gf=["onClick"],Uf=["title"],Wf={key:0,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},qf={key:1,class:"ico",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Kf={class:"code-pre"},zf=["innerHTML"],Jf={key:0,class:"code-foot"},Yf={class:"code-note"},Xf={__name:"CodeBlock",props:{title:{type:String,default:""},code:{type:String,default:""},run:{type:String,default:""},out:{type:String,default:""},note:{type:String,default:""},lang:{type:String,default:""},chips:{type:Array,default:()=>[]},maxHeight:{type:[Number,String],default:380}},setup(e){const t=e,s=Re(!1),n=Re("code"),i=Re(!1),r=pe(()=>{const _=[];return t.code?.trim()&&_.push({key:"code",label:"Code",text:t.code,lang:h("code")}),t.run?.trim()&&_.push({key:"run",label:"Run",text:t.run,lang:"shell"}),t.out?.trim()&&_.push({key:"out",label:"Output",text:t.out,lang:"shell"}),_});Wt(()=>r.value.map(_=>_.key).join(","),()=>{r.value.find(_=>_.key===n.value)||(n.value=r.value[0]?.key||"code")},{immediate:!0});const o=pe(()=>r.value.find(_=>_.key===n.value)||r.value[0]),l=pe(()=>o.value?.text||""),a=pe(()=>o.value?.lang||h(n.value)),d=pe(()=>n.value==="run"?"Run":n.value==="out"?"Output":a.value==="shell"?"Shell":"C++"),c=pe(()=>(t.chips||[]).filter(Boolean)),f=pe(()=>{const _=t.maxHeight;return typeof _=="number"?`${_}px`:typeof _=="string"&&_.trim()?_:"380px"});function h(_){if(t.lang)return t.lang;if(_==="run"||_==="out")return"shell";const g=(t.code||"").trim();return g.includes("#include")||g.includes("int main")||g.includes("std::")?"cpp":g.startsWith("~$")||g.includes(" vix ")||g.includes("$ ")?"shell":"cpp"}function m(_){return String(_).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function T(_){return String(_??"").split(` +`).map(O=>{let H=O.replace(/^\s*>\s?/,"");return H=H.replace(/\s*>\s*:(\d{2,5})/g," :$1"),H}).join(` +`)}function R(_){const O=String(_??"").split(` +`),H=new Set(["alignas","alignof","and","and_eq","asm","auto","bitand","bitor","bool","break","case","catch","char","char8_t","char16_t","char32_t","class","compl","concept","const","consteval","constexpr","constinit","const_cast","continue","co_await","co_return","co_yield","decltype","default","delete","do","double","dynamic_cast","else","enum","explicit","export","extern","false","float","for","friend","goto","if","inline","int","long","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","private","protected","public","register","reinterpret_cast","requires","return","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","while","xor","xor_eq"]),ne=new Set(["size_t","ssize_t","string","string_view","vector","map","unordered_map","set","unordered_set","optional","variant","expected","unique_ptr","shared_ptr","weak_ptr","App","Request","Response","Context"]),be=new Set(["std","vix","asio","net","http","ws"]);function J(C,B){return`${m(B)}`}function Se(C){let B=!1,F=!1;for(let Y=0;Y\n]*>)(.*)$/);if(N)return U+=m(N[1]),U+=J("cpp-include",N[2]),U+=ke(N[3]||""),U;const G=Y.match(/^(\s*)("([^"\\]|\\.)*")(.*)$/);return G?(U+=m(G[1]),U+=J("cpp-include",G[2]),U+=ke(G[4]||""),U):(U+=ke(Y),U)}function ke(C){let B="",F=0;const Y=N=>/[A-Za-z_]/.test(N),U=N=>/[A-Za-z0-9_]/.test(N);for(;F{for(let ae=F-1;ae>=0;ae--)if(C[ae]!==" "&&C[ae]!==" ")return C[ae];return""})(),Ce=(()=>{for(let ae=G;ae"?B+=J("cpp-member",se):B+=J("cpp-ident",se),F=G;continue}if(/[\(\)\{\}\[\]\;\,\.\:\=\+\-\*\/\<\>\!\&\|\?]/.test(N)){if(C.startsWith("::",F)){B+=J("cpp-op","::"),F+=2;continue}if(C.startsWith("->",F)){B+=J("cpp-op","->"),F+=2;continue}B+=J("cpp-op",N),F++;continue}B+=m(N),F++}return B=B.replace(/(https?:\/\/[^\s<]+)/g,'$1'),B}return O.map(C=>{const{code:B,comment:F}=Se(C),U=Ne(B)??ke(B),N=F?`${m(F)}`:"";return U+N}).join(` +`)}function L(_){let g=m(T(_));return g=g.replace(/^(\s*(?:~|\/[^$]*)?\s*\$)/gm,'$1'),g=g.replace(/(^\s*(?:.*?<\/span>\s*)?)([a-zA-Z0-9_.\/-]+)(\s+)/gm,'$1$2$3'),g=g.replace(/(\s--?[a-zA-Z0-9_-]+(?:=[^\s]+)?)/g,'$1'),g=g.replace(/(https?:\/\/[^\s]+)/g,'$1'),g=g.replace(/(\s(?:\.{0,2}\/[^\s]+))/g,'$1'),g=g.replace(/(:\d{2,5}\b)/g,'$1'),g=g.replace(/(\s\|\|\s|\s\|\s)/g,'$1'),g=g.replace(/^(HTTP\/\d\.\d\s+\d+\s+.*)$/gm,'$1'),g=g.replace(/^([A-Za-z-]+:\s*)(.*)$/gm,'$1$2'),g}const D=pe(()=>{const _=l.value||"";return a.value==="shell"?L(_):R(_)});async function A(_){try{await navigator.clipboard.writeText(_),s.value=!0,window.clearTimeout(A._t),A._t=window.setTimeout(()=>s.value=!1,900)}catch{const g=document.createElement("textarea");g.value=_,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.focus(),g.select();try{document.execCommand("copy"),s.value=!0,window.clearTimeout(A._t),A._t=window.setTimeout(()=>s.value=!1,900)}finally{document.body.removeChild(g)}}}return(_,g)=>(k(),P("div",{class:"code-card",onMouseenter:g[1]||(g[1]=O=>i.value=!0),onMouseleave:g[2]||(g[2]=O=>i.value=!1)},[b("div",Df,[b("div",Hf,[g[3]||(g[3]=b("span",{class:"dot dot-red"},null,-1)),g[4]||(g[4]=b("span",{class:"dot dot-yellow"},null,-1)),g[5]||(g[5]=b("span",{class:"dot dot-green"},null,-1)),b("span",jf,q(e.title||d.value),1),c.value.length?(k(),P("div",Vf,[(k(!0),P(oe,null,Ve(c.value,O=>(k(),P("span",{key:O,class:"chip"},q(O),1))),128))])):he("",!0)]),b("div",Ff,[r.value.length>1?(k(),P("div",Bf,[(k(!0),P(oe,null,Ve(r.value,O=>(k(),P("button",{key:O.key,type:"button",class:Ye(["tab",{active:n.value===O.key}]),onClick:H=>n.value=O.key},q(O.label),11,Gf))),128))])):he("",!0),l.value?(k(),P("button",{key:1,type:"button",class:"copy-btn",onClick:g[0]||(g[0]=O=>A(l.value)),title:s.value?"Copied":"Copy","aria-label":"Copy"},[s.value?(k(),P("svg",qf,[...g[7]||(g[7]=[b("path",{d:"M20 7L10 17l-4-4",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(k(),P("svg",Wf,[...g[6]||(g[6]=[b("path",{d:"M9 9h10v10H9V9Z",stroke:"currentColor","stroke-width":"1.7","stroke-linejoin":"round"},null,-1),b("path",{d:"M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,Uf)):he("",!0)])]),b("div",{class:"code-body",style:qs({maxHeight:f.value}),role:"region","aria-label":"Code block"},[b("pre",Kf,[b("code",{class:"code-code",innerHTML:D.value},null,8,zf)])],4),e.note?(k(),P("div",Jf,[b("p",Yf,q(e.note),1)])):he("",!0)],32))}},ei=Ee(Xf,[["__scopeId","data-v-4a7f74a5"]]),Qf={class:"signals"},Zf={class:"pill"},ed={class:"value"},td={key:0,class:"sub"},sd={__name:"SignalsGrid",props:{items:{type:Array,default:()=>[]},github:{type:Object,default:null}},setup(e){function t(i){const r=Number(i);return Number.isFinite(r)?r.toLocaleString():""}function s(i,r){return i?.kind==="github"&&r&&i?.field?t(r[i.field]):i?.value??""}function n(i){return Array.isArray(i?.meta)&&i.meta.length?i.meta[0]:""}return(i,r)=>(k(),P("div",Qf,[(k(!0),P(oe,null,Ve(Array.isArray(e.items)?e.items:[],(o,l)=>(k(),P("div",{key:o.field||o.title||l,class:"signal"},[b("span",Zf,q(o.title),1),b("div",ed,q(s(o,e.github)),1),n(o)?(k(),P("div",td,q(n(o)),1)):he("",!0)]))),128))]))}},nd=Ee(sd,[["__scopeId","data-v-91543e28"]]),en="vixcpp/vix",id=`https://api.github.com/repos/${en}`,To=`vix_github_stats_${en}`,rd=360*60*1e3;function od(e){if(!e)return!1;const t=new Date(e).getTime();return Number.isFinite(t)&&Date.now()-tt.abort(),e);try{const n=await fetch(id,{signal:t.signal,headers:{Accept:"application/vnd.github+json"}});if(!n.ok)return null;const i=await n.json(),r={repo:en,fetched_at:new Date().toISOString(),stars:i.stargazers_count??0,forks:i.forks_count??0,open_issues:i.open_issues_count??0,watchers:i.subscribers_count??0};return ad(r),r}catch{return null}finally{clearTimeout(s)}}const dd={class:"page"},pd={key:0,class:"container loading"},hd={key:2,class:"signals"},gd={class:"container signals-layout"},md={class:"signals-left"},vd={class:"signals-title"},_d={class:"signals-subtitle"},bd={class:"signals-right"},yd={key:0,class:"cta-row"},wd=["href","target","rel"],xd={__name:"Home",setup(e){const t=ks??ks??ks?.HOME??ks?.default??null,s=Re(null);return ys(async()=>{s.value=await ud();const n=await fd({timeoutMs:1200});n&&(s.value=n)}),(n,i)=>(k(),P("div",dd,[Q(t)?he("",!0):(k(),P("div",pd,[...i[0]||(i[0]=[b("h2",{class:"loading-title"},"Loading…",-1),b("p",{class:"loading-sub"},[we(" HOME is null. Check export in "),b("code",null,"@/data/home"),we(". ")],-1)])])),Q(t)?.hero?(k(),Je(Rf,{key:1,title:Q(t).hero.title,subtitle:Q(t).hero.subtitle,ctas:Q(t).hero.ctas,badges:Q(t).hero.badges,examples:Q(t).hero.examples,support:Q(t).hero.support},null,8,["title","subtitle","ctas","badges","examples","support"])):he("",!0),Q(t)?.signals?(k(),P("section",hd,[b("div",gd,[b("div",md,[b("h2",vd,q(Q(t).signals.title),1),b("p",_d,q(Q(t).signals.subtitle),1)]),b("div",bd,[le(nd,{items:Q(t).signals.items||[],github:s.value},null,8,["items","github"])])])])):he("",!0),Q(t)?.getStarted?(k(),Je(Lf,{key:3,title:Q(t).getStarted.title,subtitle:Q(t).getStarted.subtitle,alt:""},{default:Ue(()=>[le(ei,{code:Q(t).getStarted.code||"",note:Q(t).getStarted.note||""},null,8,["code","note"]),Q(t).getStarted.ctas?.length?(k(),P("div",yd,[(k(!0),P(oe,null,Ve(Q(t).getStarted.ctas,r=>(k(),P("a",{key:r.label,href:r.href||r.to,class:Ye(["btn",r.kind]),target:r.external?"_blank":null,rel:r.external?"noreferrer":null},q(r.label),11,wd))),128))])):he("",!0)]),_:1},8,["title","subtitle"])):he("",!0)]))}},Sd=Ee(xd,[["__scopeId","data-v-5810e8ad"]]),Ot={title:"Install Vix.cpp",subtitle:"Install the Vix.cpp CLI in minutes. Simple, explicit, and reproducible.",sections:[{id:"linux",title:"Linux (recommended)",desc:"Install using the official installer. This downloads a prebuilt, signed binary and installs it in a standard user location.",code:"curl -fsSL https://vixcpp.com/install.sh | bash",note:"The installer is idempotent and safe to re-run. By default, Vix is installed to ~/.local/bin/vix. No system files are modified."},{id:"mac",title:"macOS",desc:"Install using the official installer. This downloads a signed macOS binary and installs it locally.",code:"curl -fsSL https://vixcpp.com/install.sh | bash",note:"macOS uses the same installer as Linux. Homebrew is intentionally not supported to keep installs explicit and reproducible."},{id:"windows",title:"Windows",desc:"Install using the official PowerShell installer. This downloads a signed binary and installs it for the current user.",code:"irm https://vixcpp.com/install.ps1 | iex",note:"The installer does not require administrator privileges. The binary is typically installed under %LOCALAPPDATA%\\Vix."},{id:"verify",title:"Verify installation",desc:"Confirm that Vix.cpp is installed correctly and available in your shell.",code:`vix -h vix --version`,note:"If both commands succeed and a version is displayed, the installation is complete."},{id:"update",title:"Update",desc:"Update Vix.cpp to the latest release using the same installer.",code:"curl -fsSL https://vixcpp.com/install.sh | bash",note:"Updates are safe and repeatable. Existing projects, caches, and configuration are preserved."},{id:"uninstall",title:"Uninstall",desc:"Remove Vix.cpp from your system.",code:`# Linux / macOS (default install location) rm -f ~/.local/bin/vix # optional: remove local cache, registry, and state -rm -rf ~/.vix`,note:"Paths may differ if you installed the binary manually or changed the install prefix."}],external:{releasesLabel:"GitHub Releases",releasesHref:"https://github.com/vixcpp/vix/releases",sourceLabel:"Source code",sourceHref:"https://github.com/vixcpp/vix"}},Bf={class:"wrap"},Gf={class:"top"},Uf={class:"h1"},Wf={class:"p"},qf={class:"links"},Kf=["href"],zf=["href"],Jf={class:"h2"},Yf={class:"muted"},Xf={key:0,class:"note"},Qf={__name:"Install",setup(e){return(t,s)=>(A(),T("div",Bf,[b("header",Gf,[b("h1",Uf,U(J($t).title),1),b("p",Wf,U(J($t).subtitle),1),b("div",qf,[b("a",{class:"btn",href:J($t).external.releasesHref,target:"_blank",rel:"noreferrer"},U(J($t).external.releasesLabel),9,Kf),b("a",{class:"btn",href:J($t).external.sourceHref,target:"_blank",rel:"noreferrer"},U(J($t).external.sourceLabel),9,zf)])]),(A(!0),T(le,null,Oe(J($t).sections,n=>(A(),T("section",{key:n.id,class:"sec"},[b("h2",Jf,U(n.title),1),b("p",Yf,U(n.desc),1),ae(ei,{code:n.code},null,8,["code"]),n.note?(A(),T("p",Xf,U(n.note),1)):oe("",!0)]))),128))]))}},Zf=Ae(Qf,[["__scopeId","data-v-fb1fc97e"]]),mn={title:"Examples",subtitle:"Copy/paste ready examples. Each one shows: code → run → expected output.",items:[{id:"http-ping",title:"HTTP: /api/ping",desc:"A minimal JSON ping route.",code:`#include +rm -rf ~/.vix`,note:"Paths may differ if you installed the binary manually or changed the install prefix."}],external:{releasesLabel:"GitHub Releases",releasesHref:"https://github.com/vixcpp/vix/releases",sourceLabel:"Source code",sourceHref:"https://github.com/vixcpp/vix"}},Ad={class:"wrap"},Ed={class:"top"},Cd={class:"h1"},kd={class:"p"},Rd={class:"links"},Td=["href"],Id=["href"],Pd={class:"h2"},Od={class:"muted"},$d={key:0,class:"note"},Nd={__name:"Install",setup(e){return(t,s)=>(k(),P("div",Ad,[b("header",Ed,[b("h1",Cd,q(Q(Ot).title),1),b("p",kd,q(Q(Ot).subtitle),1),b("div",Rd,[b("a",{class:"btn",href:Q(Ot).external.releasesHref,target:"_blank",rel:"noreferrer"},q(Q(Ot).external.releasesLabel),9,Td),b("a",{class:"btn",href:Q(Ot).external.sourceHref,target:"_blank",rel:"noreferrer"},q(Q(Ot).external.sourceLabel),9,Id)])]),(k(!0),P(oe,null,Ve(Q(Ot).sections,n=>(k(),P("section",{key:n.id,class:"sec"},[b("h2",Pd,q(n.title),1),b("p",Od,q(n.desc),1),le(ei,{code:n.code},null,8,["code"]),n.note?(k(),P("p",$d,q(n.note),1)):he("",!0)]))),128))]))}},Md=Ee(Nd,[["__scopeId","data-v-fb1fc97e"]]),mn={title:"Examples",subtitle:"Copy/paste ready examples. Each one shows: code → run → expected output.",items:[{id:"http-ping",title:"HTTP: /api/ping",desc:"A minimal JSON ping route.",code:`#include using namespace vix; int main() @@ -209,4 +207,4 @@ vix add gaspardkirira/tree@0.7.0 # Publish a package (example) vix publish 0.7.0 --notes "Add tree helper"`,run:"vix add /@",out:`✔ added: gaspardkirira/tree@0.7.0 -✔ configured: include paths + CMake integration`,note:"Keep outputs short and stable; avoid promising features not shipped yet."}]},ep={class:"wrap"},tp={class:"top"},sp={class:"h1"},np={class:"p"},ip={class:"head"},rp={class:"h2"},op={class:"muted"},lp={__name:"Examples",setup(e){return(t,s)=>(A(),T("div",ep,[b("header",tp,[b("h1",sp,U(J(mn).title),1),b("p",np,U(J(mn).subtitle),1)]),(A(!0),T(le,null,Oe(J(mn).items,n=>(A(),T("section",{key:n.id,class:"ex"},[b("div",ip,[b("h2",rp,U(n.title),1),b("p",op,U(n.desc),1)]),ae(ei,{title:n.blockTitle,code:n.code,run:n.run,out:n.out,note:n.note,lang:n.lang,maxHeight:n.maxHeight||420},null,8,["title","code","run","out","note","lang","maxHeight"])]))),128))]))}},ap=Ae(lp,[["__scopeId","data-v-d455a725"]]),cp={},up={class:"wrap"};function dp(e,t){return A(),T("div",up,[...t[0]||(t[0]=[Qt('

Community

Vix.cpp is built in the open. If you like performance, clean DX, and practical tooling, you’ll feel at home here.

Open-sourcePerformance-firstDX-focused

Links

Official places to follow, report issues, and contribute.

Best place for bugsGitHub Issues
Best place for PRsvixcpp/vix

How to contribute

Small, focused PRs are the fastest to merge.

  1. 1
    Pick a small issue
    Start with docs, examples, or one CLI hint.
  2. 2
    One idea per PR
    Keep it tight: easier review, faster merge.
  3. 3
    Add a minimal test/example
    When relevant, include expected output.
  4. 4
    Explain what & why
    Clear title + short reasoning in the PR body.

Tip: the best contributions are tiny, precise, and easy to review.

Good first contributions

If you’re new to the codebase, these are high-impact and low-risk entry points.

Docs
Add one example with expected output.
Low risk
CLI
Improve help text or one error hint.
High leverage
Website
Add one section/page without redesigning everything.
Fast feedback
',3)])])}const fp=Ae(cp,[["render",dp],["__scopeId","data-v-8484eeed"]]),pp={},hp={class:"page"};function gp(e,t){return A(),T("section",hp,[...t[0]||(t[0]=[b("h1",null,"Blog",-1),b("p",{class:"intro"}," Updates, design notes and technical insights about Vix.cpp. ",-1),b("div",{class:"post"},[b("h3",null,"Why Vix.cpp exists"),b("p",null," Most backend runtimes assume perfect networks. Vix.cpp starts from the opposite assumption. ")],-1),b("div",{class:"post"},[b("h3",null,"Offline-first as a systems principle"),b("p",null," Offline-first is not a UX trick. It is a correctness requirement. ")],-1)])])}const mp=Ae(pp,[["render",gp],["__scopeId","data-v-09160c59"]]),vp={class:"wrap"},_p={key:0,class:"notfound"},bp={class:"row"},yp={key:1,class:"post"},wp={class:"header"},xp={class:"h1"},Sp={class:"meta"},Ap={key:0},Ep={key:0,class:"excerpt"},Cp={class:"content"},kp={class:"footer"},Rp={__name:"Post",setup(e){const s=Zu().params.slug,n=Re(null);return ys(async()=>{try{const i=await fetch("/posts.json");if(!i.ok){n.value=null;return}const r=await i.json();n.value=r.find(o=>o.slug===s)||null}catch{n.value=null}}),(i,r)=>{const o=ws("router-link");return A(),T("div",vp,[n.value?(A(),T("article",yp,[b("header",wp,[b("h1",xp,U(n.value.title),1),b("p",Sp,[b("span",null,U(n.value.date),1),n.value.tag?(A(),T("span",Ap,"· "+U(n.value.tag),1)):oe("",!0)]),n.value.excerpt?(A(),T("p",Ep,U(n.value.excerpt),1)):oe("",!0)]),b("section",Cp,[(A(!0),T(le,null,Oe(n.value.content,(l,a)=>(A(),T("p",{key:a,class:"paragraph"},U(l),1))),128))]),b("footer",kp,[ae(o,{class:"btn",to:"/blog"},{default:Ue(()=>[...r[4]||(r[4]=[be("← Back to blog",-1)])]),_:1})])])):(A(),T("div",_p,[r[2]||(r[2]=b("h1",{class:"h1"},"Post not found",-1)),r[3]||(r[3]=b("p",{class:"p"}," The requested article does not exist or has been removed. ",-1)),b("div",bp,[ae(o,{class:"btn",to:"/"},{default:Ue(()=>[...r[0]||(r[0]=[be("Home",-1)])]),_:1}),ae(o,{class:"btn",to:"/blog"},{default:Ue(()=>[...r[1]||(r[1]=[be("Blog",-1)])]),_:1})])]))])}}},Tp=Ae(Rp,[["__scopeId","data-v-b313d2d0"]]),Ip={},Pp={class:"wrap"},$p={class:"row"};function Op(e,t){const s=ws("router-link");return A(),T("div",Pp,[t[3]||(t[3]=b("h1",{class:"h1"},"404",-1)),t[4]||(t[4]=b("p",{class:"p"},"This page doesn’t exist.",-1)),b("div",$p,[ae(s,{class:"btn",to:"/"},{default:Ue(()=>[...t[0]||(t[0]=[be("Go home",-1)])]),_:1}),ae(s,{class:"btn",to:"/docs/examples"},{default:Ue(()=>[...t[1]||(t[1]=[be("Examples",-1)])]),_:1}),ae(s,{class:"btn",to:"/install"},{default:Ue(()=>[...t[2]||(t[2]=[be("Install",-1)])]),_:1})])])}const Np=Ae(Ip,[["render",Op],["__scopeId","data-v-280b74d2"]]),Mp={},Lp={class:"wrap"};function Dp(e,t){return A(),T("div",Lp,[...t[0]||(t[0]=[Qt('

Community Guide

Contributing should be predictable. One idea per PR. Clear why. Clean diffs. Fast reviews.

The PR contract

1) What changed

State the concrete change. No story, just facts.

2) Why it matters

What real problem it fixes (DX, perf, correctness).

3) The fix

Explain the approach in 2–4 lines. Keep it local.

4) Why it solves it

Result: clearer output, fewer edge cases, stable behavior.

This structure matches Vix.cpp communication: concrete → problem → action → benefit.

Good first PRs

  • Docs: add one example with expected output.
  • CLI: improve one error hint or one help section.
  • Website: add one small section without redesigning everything.

Review expectations

  • Keep diffs small and scoped.
  • No behavior changes without an example/test when possible.
  • Prefer explicit naming over cleverness.
  • Don’t break stable outputs used in docs/screenshots.
',4)])])}const Hp=Ae(Mp,[["render",Dp],["__scopeId","data-v-27c9f54c"]]),jp={},Vp={class:"wrap"};function Fp(e,t){return A(),T("div",Vp,[...t[0]||(t[0]=[Qt('

Releases

Vix.cpp ships fast, but predictable. Releases are about stable behavior, not surprise.

Versioning

  • Patch: bugfixes, output stability, docs, internal refactors.
  • Minor: new features that keep existing behavior stable.
  • Major: breaking changes with migration notes.

Stability rules

  • CLI outputs shown in docs should stay stable.
  • New flags must not change defaults silently.
  • Error messages: clearer is good, shape changes are controlled.

If a change breaks docs/screenshots, it needs an explicit reason and updated examples.

',3)])])}const Bp=Ae(jp,[["render",Fp],["__scopeId","data-v-933a9e79"]]),Gp={},Up={class:"wrap"};function Wp(e,t){return A(),T("div",Up,[...t[0]||(t[0]=[Qt('

Team

Vix.cpp is built by people who care about correctness, performance, and developer experience.

Maintainers

This page can list maintainers once roles are finalized. For now, the canonical contact is GitHub Issues.

Collaboration

  • Propose a small scoped PR first.
  • Prefer measurable improvements (perf, DX, correctness).
  • Keep discussions concrete and reproducible.
',3)])])}const qp=Ae(Gp,[["render",Wp],["__scopeId","data-v-887b3690"]]),Kp={},zp={class:"wrap"};function Jp(e,t){return A(),T("div",zp,[...t[0]||(t[0]=[Qt('

FAQ

Short answers. Concrete scope. No fluff.

Is Vix.cpp only for backend?

Vix.cpp targets backend runtimes: HTTP, WebSocket, middleware, and tooling. It’s built for server processes.

Can I serve HTML files?

Yes. You can serve static content (HTML/CSS/JS) like any HTTP server. Docs/examples will include a minimal static-file sample.

What about package management?

Vix Registry focuses on discoverability + clean reuse. It’s complementary to vcpkg/Conan depending on your workflow.

What’s the philosophy?

Performance-first, but predictable. Good DX. Clear outputs. No magic.

',5)])])}const Yp=Ae(Kp,[["render",Jp],["__scopeId","data-v-62147ac1"]]),Xp={},Qp={class:"wrap"};function Zp(e,t){return A(),T("div",Qp,[...t[0]||(t[0]=[Qt('

The Documentary

The story is simple: real systems need clarity, speed, and predictable tools under real constraints.

Why it exists

C++ can be insanely fast, but the “runtime experience” often feels fragmented: hard onboarding, unclear errors, integration friction, and too much glue code.

What changed

Vix.cpp focuses on a consistent runtime workflow: build/run/dev, predictable logs, clean middleware, and examples that match real output.

What’s next

More real examples, more stable contracts, and better developer experience without sacrificing performance.

',4)])])}const eh=Ae(Xp,[["render",Zp],["__scopeId","data-v-e6de332b"]]),xt={siteName:"Vix.cpp",title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",baseUrl:"https://vixcpp.com",twitter:"@vix_cpp",image:"https://res.cloudinary.com/dwjbed2xb/image/upload/v1769499528/vix_banniere_zljwdt.png"};function Je(e,t,s){const n=s?`meta[property="${e}"]`:`meta[name="${e}"]`;let i=document.head.querySelector(n);i||(i=document.createElement("meta"),s?i.setAttribute("property",e):i.setAttribute("name",e),document.head.appendChild(i)),i.setAttribute("content",t)}function th(e,t){let s=document.head.querySelector(`link[rel="${e}"]`);s||(s=document.createElement("link"),s.setAttribute("rel",e),document.head.appendChild(s)),s.setAttribute("href",t)}function er(e,t){return t?t.startsWith("http://")||t.startsWith("https://")?t:t.startsWith("/")?e.replace(/\/+$/,"")+t:e.replace(/\/+$/,"")+"/"+t:e}function Io(e){const t=document.getElementById(e);t&&t.parentNode&&t.parentNode.removeChild(t)}function sh(e,t){Io(e);const s=document.createElement("script");s.type="application/ld+json",s.id=e,s.text=JSON.stringify(t),document.head.appendChild(s)}function tr(e={}){const t=xt.siteName,s=(e.title||xt.title).trim();let n=s;!s.includes(t)&&s!==xt.title&&(n=`${s} | ${t}`);const i=(e.description||xt.description).trim(),r=e.canonical?e.canonical:er(xt.baseUrl,e.path||window.location.pathname),o=er(xt.baseUrl,e.image||xt.image),l=e.type||"website";document.title=n,Je("description",i,!1),th("canonical",r),Je("og:site_name",t,!0),Je("og:title",n,!0),Je("og:description",i,!0),Je("og:url",r,!0),Je("og:type",l,!0),Je("og:image",o,!0),Je("twitter:card","summary_large_image",!1),Je("twitter:title",n,!1),Je("twitter:description",i,!1),Je("twitter:image",o,!1),Je("twitter:site",xt.twitter,!1);const a="vix-jsonld";e.jsonLd===null?Io(a):e.jsonLd&&typeof e.jsonLd=="object"&&sh(a,e.jsonLd)}const nh=[{path:"/",name:"home",component:Ff,meta:{seo:{title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",path:"/",type:"website",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Vix.cpp",applicationCategory:"DeveloperApplication",operatingSystem:"Linux, macOS, Windows",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",url:"https://vixcpp.com/"}}}},{path:"/install",name:"install",component:Zf,meta:{seo:{title:"Install",description:"Install Vix.cpp in minutes. Verify, update, and uninstall cleanly.",path:"/install"}}},{path:"/docs/examples",name:"examples",component:ap,meta:{seo:{title:"Examples",description:"Copy/paste ready Vix.cpp examples: HTTP, middleware, JSON logs, WebSocket, registry workflow.",path:"/docs/examples"}}},{path:"/community",name:"community",component:fp,meta:{seo:{title:"Community",description:"Contribute to Vix.cpp. Issues, PR guidelines, and good first contributions.",path:"/community"}}},{path:"/blog",name:"blog",component:mp,meta:{seo:{title:"Blog",description:"Short, concrete updates about Vix.cpp: performance, DX, middleware, and the registry workflow.",path:"/blog"}}},{path:"/blog/:slug",name:"post",component:Tp,props:!0,meta:{seo:{title:"Post",description:"Vix.cpp blog post.",path:"/blog"}}},{path:"/about/community-guide",name:"community_guide",component:Hp,meta:{seo:{title:"Community Guide",description:"How to contribute to Vix.cpp: rules, PR structure, examples, and review expectations.",path:"/about/community-guide"}}},{path:"/about/releases",name:"releases",component:Bp,meta:{seo:{title:"Releases",description:"Release policy and versioning notes for Vix.cpp (CLI, modules, stability guarantees).",path:"/about/releases"}}},{path:"/about/team",name:"team",component:qp,meta:{seo:{title:"Team",description:"People behind Vix.cpp and how to get in touch for collaboration.",path:"/about/team"}}},{path:"/about/faq",name:"faq",component:Yp,meta:{seo:{title:"FAQ",description:"Frequently asked questions about Vix.cpp: scope, use cases, registry, and platform support.",path:"/about/faq"}}},{path:"/about/documentary",name:"documentary",component:eh,meta:{seo:{title:"The Documentary",description:"The story behind Vix.cpp: why it exists, what it solves, and what’s next.",path:"/about/documentary"}}},{path:"/:pathMatch(.*)*",name:"notfound",component:Np,meta:{seo:{title:"404",description:"Page not found.",path:"/404"}}}],Po=Qu({history:Iu(),routes:nh,scrollBehavior(){return{top:0}}});Po.afterEach(e=>{const t=e.meta?.seo;tr(t||{title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun.",path:"/"}),window.gtag&&window.gtag("event","page_view",{page_path:e.fullPath,page_title:document.title})});const ih="modulepreload",rh=function(e){return"/"+e},sr={},oh=function(t,s,n){let i=Promise.resolve();if(s&&s.length>0){let a=function(f){return Promise.all(f.map(c=>Promise.resolve(c).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=a(s.map(f=>{if(f=rh(f),f in sr)return;sr[f]=!0;const c=f.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${d}`))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":ih,c||(h.as="script"),h.crossOrigin="",h.href=f,l&&h.setAttribute("nonce",l),document.head.appendChild(h),c)return new Promise((m,I)=>{h.addEventListener("load",m),h.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${f}`)))})}))}function r(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&r(l.reason);return t().catch(r)})};function lh(e={}){const{immediate:t=!1,onNeedRefresh:s,onOfflineReady:n,onRegistered:i,onRegisteredSW:r,onRegisterError:o}=e;let l,a;const f=async(d=!0)=>{await a};async function c(){if("serviceWorker"in navigator){if(l=await oh(async()=>{const{Workbox:d}=await import("./workbox-window.prod.es5-BIl4cyR9.js");return{Workbox:d}},[]).then(({Workbox:d})=>new d("/sw.js",{scope:"/",type:"classic"})).catch(d=>{o?.(d)}),!l)return;l.addEventListener("activated",d=>{(d.isUpdate||d.isExternal)&&window.location.reload()}),l.addEventListener("installed",d=>{d.isUpdate||n?.()}),l.register({immediate:t}).then(d=>{r?r("/sw.js",d):i?.(d)}).catch(d=>{o?.(d)})}}return a=c(),f}const nr=sessionStorage.getItem("redirect");nr&&(sessionStorage.removeItem("redirect"),window.history.replaceState(null,"",nr));const ti=Ja(qc),si=Re(!1),ah=Re("New version available."),ch=Re("Refresh to load the latest build.");ti.component("PwaUpdateToast",mo);ti.provide("pwaToast",{show:si,message:ah,detail:ch});ti.use(Po).mount("#app");const uh=lh({immediate:!0,onNeedRefresh(){si.value=!0},onOfflineReady(){}});window.__vix_pwa_refresh__=()=>uh(!0);window.__vix_pwa_dismiss__=()=>{si.value=!1}; +✔ configured: include paths + CMake integration`,note:"Keep outputs short and stable; avoid promising features not shipped yet."}]},Ld={class:"wrap"},Dd={class:"top"},Hd={class:"h1"},jd={class:"p"},Vd={class:"head"},Fd={class:"h2"},Bd={class:"muted"},Gd={__name:"Examples",setup(e){return(t,s)=>(k(),P("div",Ld,[b("header",Dd,[b("h1",Hd,q(Q(mn).title),1),b("p",jd,q(Q(mn).subtitle),1)]),(k(!0),P(oe,null,Ve(Q(mn).items,n=>(k(),P("section",{key:n.id,class:"ex"},[b("div",Vd,[b("h2",Fd,q(n.title),1),b("p",Bd,q(n.desc),1)]),le(ei,{title:n.blockTitle,code:n.code,run:n.run,out:n.out,note:n.note,lang:n.lang,maxHeight:n.maxHeight||420},null,8,["title","code","run","out","note","lang","maxHeight"])]))),128))]))}},Ud=Ee(Gd,[["__scopeId","data-v-d455a725"]]),Wd={},qd={class:"wrap"};function Kd(e,t){return k(),P("div",qd,[...t[0]||(t[0]=[Qt('

Community

Vix.cpp is built in the open. If you like performance, clean DX, and practical tooling, you’ll feel at home here.

Open-sourcePerformance-firstDX-focused

Links

Official places to follow, report issues, and contribute.

Best place for bugsGitHub Issues
Best place for PRsvixcpp/vix

How to contribute

Small, focused PRs are the fastest to merge.

  1. 1
    Pick a small issue
    Start with docs, examples, or one CLI hint.
  2. 2
    One idea per PR
    Keep it tight: easier review, faster merge.
  3. 3
    Add a minimal test/example
    When relevant, include expected output.
  4. 4
    Explain what & why
    Clear title + short reasoning in the PR body.

Tip: the best contributions are tiny, precise, and easy to review.

Good first contributions

If you’re new to the codebase, these are high-impact and low-risk entry points.

Docs
Add one example with expected output.
Low risk
CLI
Improve help text or one error hint.
High leverage
Website
Add one section/page without redesigning everything.
Fast feedback
',3)])])}const zd=Ee(Wd,[["render",Kd],["__scopeId","data-v-8484eeed"]]),Jd={},Yd={class:"page"};function Xd(e,t){return k(),P("section",Yd,[...t[0]||(t[0]=[b("h1",null,"Blog",-1),b("p",{class:"intro"}," Updates, design notes and technical insights about Vix.cpp. ",-1),b("div",{class:"post"},[b("h3",null,"Why Vix.cpp exists"),b("p",null," Most backend runtimes assume perfect networks. Vix.cpp starts from the opposite assumption. ")],-1),b("div",{class:"post"},[b("h3",null,"Offline-first as a systems principle"),b("p",null," Offline-first is not a UX trick. It is a correctness requirement. ")],-1)])])}const Qd=Ee(Jd,[["render",Xd],["__scopeId","data-v-09160c59"]]),Zd={class:"wrap"},ep={key:0,class:"notfound"},tp={class:"row"},sp={key:1,class:"post"},np={class:"header"},ip={class:"h1"},rp={class:"meta"},op={key:0},lp={key:0,class:"excerpt"},ap={class:"content"},cp={class:"footer"},up={__name:"Post",setup(e){const s=Zu().params.slug,n=Re(null);return ys(async()=>{try{const i=await fetch("/posts.json");if(!i.ok){n.value=null;return}const r=await i.json();n.value=r.find(o=>o.slug===s)||null}catch{n.value=null}}),(i,r)=>{const o=ws("router-link");return k(),P("div",Zd,[n.value?(k(),P("article",sp,[b("header",np,[b("h1",ip,q(n.value.title),1),b("p",rp,[b("span",null,q(n.value.date),1),n.value.tag?(k(),P("span",op,"· "+q(n.value.tag),1)):he("",!0)]),n.value.excerpt?(k(),P("p",lp,q(n.value.excerpt),1)):he("",!0)]),b("section",ap,[(k(!0),P(oe,null,Ve(n.value.content,(l,a)=>(k(),P("p",{key:a,class:"paragraph"},q(l),1))),128))]),b("footer",cp,[le(o,{class:"btn",to:"/blog"},{default:Ue(()=>[...r[4]||(r[4]=[we("← Back to blog",-1)])]),_:1})])])):(k(),P("div",ep,[r[2]||(r[2]=b("h1",{class:"h1"},"Post not found",-1)),r[3]||(r[3]=b("p",{class:"p"}," The requested article does not exist or has been removed. ",-1)),b("div",tp,[le(o,{class:"btn",to:"/"},{default:Ue(()=>[...r[0]||(r[0]=[we("Home",-1)])]),_:1}),le(o,{class:"btn",to:"/blog"},{default:Ue(()=>[...r[1]||(r[1]=[we("Blog",-1)])]),_:1})])]))])}}},fp=Ee(up,[["__scopeId","data-v-b313d2d0"]]),dp={},pp={class:"wrap"},hp={class:"row"};function gp(e,t){const s=ws("router-link");return k(),P("div",pp,[t[3]||(t[3]=b("h1",{class:"h1"},"404",-1)),t[4]||(t[4]=b("p",{class:"p"},"This page doesn’t exist.",-1)),b("div",hp,[le(s,{class:"btn",to:"/"},{default:Ue(()=>[...t[0]||(t[0]=[we("Go home",-1)])]),_:1}),le(s,{class:"btn",to:"/docs/examples"},{default:Ue(()=>[...t[1]||(t[1]=[we("Examples",-1)])]),_:1}),le(s,{class:"btn",to:"/install"},{default:Ue(()=>[...t[2]||(t[2]=[we("Install",-1)])]),_:1})])])}const mp=Ee(dp,[["render",gp],["__scopeId","data-v-280b74d2"]]),vp={},_p={class:"wrap"};function bp(e,t){return k(),P("div",_p,[...t[0]||(t[0]=[Qt('

Community Guide

Contributing should be predictable. One idea per PR. Clear why. Clean diffs. Fast reviews.

The PR contract

1) What changed

State the concrete change. No story, just facts.

2) Why it matters

What real problem it fixes (DX, perf, correctness).

3) The fix

Explain the approach in 2–4 lines. Keep it local.

4) Why it solves it

Result: clearer output, fewer edge cases, stable behavior.

This structure matches Vix.cpp communication: concrete → problem → action → benefit.

Good first PRs

  • Docs: add one example with expected output.
  • CLI: improve one error hint or one help section.
  • Website: add one small section without redesigning everything.

Review expectations

  • Keep diffs small and scoped.
  • No behavior changes without an example/test when possible.
  • Prefer explicit naming over cleverness.
  • Don’t break stable outputs used in docs/screenshots.
',4)])])}const yp=Ee(vp,[["render",bp],["__scopeId","data-v-27c9f54c"]]),wp={},xp={class:"wrap"};function Sp(e,t){return k(),P("div",xp,[...t[0]||(t[0]=[Qt('

Releases

Vix.cpp ships fast, but predictable. Releases are about stable behavior, not surprise.

Versioning

  • Patch: bugfixes, output stability, docs, internal refactors.
  • Minor: new features that keep existing behavior stable.
  • Major: breaking changes with migration notes.

Stability rules

  • CLI outputs shown in docs should stay stable.
  • New flags must not change defaults silently.
  • Error messages: clearer is good, shape changes are controlled.

If a change breaks docs/screenshots, it needs an explicit reason and updated examples.

',3)])])}const Ap=Ee(wp,[["render",Sp],["__scopeId","data-v-933a9e79"]]),Ep={},Cp={class:"wrap"};function kp(e,t){return k(),P("div",Cp,[...t[0]||(t[0]=[Qt('

Team

Vix.cpp is built by people who care about correctness, performance, and developer experience.

Maintainers

This page can list maintainers once roles are finalized. For now, the canonical contact is GitHub Issues.

Collaboration

  • Propose a small scoped PR first.
  • Prefer measurable improvements (perf, DX, correctness).
  • Keep discussions concrete and reproducible.
',3)])])}const Rp=Ee(Ep,[["render",kp],["__scopeId","data-v-887b3690"]]),Tp={},Ip={class:"wrap"};function Pp(e,t){return k(),P("div",Ip,[...t[0]||(t[0]=[Qt('

FAQ

Short answers. Concrete scope. No fluff.

Is Vix.cpp only for backend?

Vix.cpp targets backend runtimes: HTTP, WebSocket, middleware, and tooling. It’s built for server processes.

Can I serve HTML files?

Yes. You can serve static content (HTML/CSS/JS) like any HTTP server. Docs/examples will include a minimal static-file sample.

What about package management?

Vix Registry focuses on discoverability + clean reuse. It’s complementary to vcpkg/Conan depending on your workflow.

What’s the philosophy?

Performance-first, but predictable. Good DX. Clear outputs. No magic.

',5)])])}const Op=Ee(Tp,[["render",Pp],["__scopeId","data-v-62147ac1"]]),$p={},Np={class:"wrap"};function Mp(e,t){return k(),P("div",Np,[...t[0]||(t[0]=[Qt('

The Documentary

The story is simple: real systems need clarity, speed, and predictable tools under real constraints.

Why it exists

C++ can be insanely fast, but the “runtime experience” often feels fragmented: hard onboarding, unclear errors, integration friction, and too much glue code.

What changed

Vix.cpp focuses on a consistent runtime workflow: build/run/dev, predictable logs, clean middleware, and examples that match real output.

What’s next

More real examples, more stable contracts, and better developer experience without sacrificing performance.

',4)])])}const Lp=Ee($p,[["render",Mp],["__scopeId","data-v-e6de332b"]]),xt={siteName:"Vix.cpp",title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",baseUrl:"https://vixcpp.com",twitter:"@vix_cpp",image:"https://res.cloudinary.com/dwjbed2xb/image/upload/v1769499528/vix_banniere_zljwdt.png"};function ze(e,t,s){const n=s?`meta[property="${e}"]`:`meta[name="${e}"]`;let i=document.head.querySelector(n);i||(i=document.createElement("meta"),s?i.setAttribute("property",e):i.setAttribute("name",e),document.head.appendChild(i)),i.setAttribute("content",t)}function Dp(e,t){let s=document.head.querySelector(`link[rel="${e}"]`);s||(s=document.createElement("link"),s.setAttribute("rel",e),document.head.appendChild(s)),s.setAttribute("href",t)}function er(e,t){return t?t.startsWith("http://")||t.startsWith("https://")?t:t.startsWith("/")?e.replace(/\/+$/,"")+t:e.replace(/\/+$/,"")+"/"+t:e}function Io(e){const t=document.getElementById(e);t&&t.parentNode&&t.parentNode.removeChild(t)}function Hp(e,t){Io(e);const s=document.createElement("script");s.type="application/ld+json",s.id=e,s.text=JSON.stringify(t),document.head.appendChild(s)}function tr(e={}){const t=xt.siteName,s=(e.title||xt.title).trim();let n=s;!s.includes(t)&&s!==xt.title&&(n=`${s} | ${t}`);const i=(e.description||xt.description).trim(),r=e.canonical?e.canonical:er(xt.baseUrl,e.path||window.location.pathname),o=er(xt.baseUrl,e.image||xt.image),l=e.type||"website";document.title=n,ze("description",i,!1),Dp("canonical",r),ze("og:site_name",t,!0),ze("og:title",n,!0),ze("og:description",i,!0),ze("og:url",r,!0),ze("og:type",l,!0),ze("og:image",o,!0),ze("twitter:card","summary_large_image",!1),ze("twitter:title",n,!1),ze("twitter:description",i,!1),ze("twitter:image",o,!1),ze("twitter:site",xt.twitter,!1);const a="vix-jsonld";e.jsonLd===null?Io(a):e.jsonLd&&typeof e.jsonLd=="object"&&Hp(a,e.jsonLd)}const jp=[{path:"/",name:"home",component:Sd,meta:{seo:{title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",path:"/",type:"website",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Vix.cpp",applicationCategory:"DeveloperApplication",operatingSystem:"Linux, macOS, Windows",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun. It is designed for unreliable networks, offline-first workflows, peer-to-peer systems, and extreme native performance.",url:"https://vixcpp.com/"}}}},{path:"/install",name:"install",component:Md,meta:{seo:{title:"Install",description:"Install Vix.cpp in minutes. Verify, update, and uninstall cleanly.",path:"/install"}}},{path:"/docs/examples",name:"examples",component:Ud,meta:{seo:{title:"Examples",description:"Copy/paste ready Vix.cpp examples: HTTP, middleware, JSON logs, WebSocket, registry workflow.",path:"/docs/examples"}}},{path:"/community",name:"community",component:zd,meta:{seo:{title:"Community",description:"Contribute to Vix.cpp. Issues, PR guidelines, and good first contributions.",path:"/community"}}},{path:"/blog",name:"blog",component:Qd,meta:{seo:{title:"Blog",description:"Short, concrete updates about Vix.cpp: performance, DX, middleware, and the registry workflow.",path:"/blog"}}},{path:"/blog/:slug",name:"post",component:fp,props:!0,meta:{seo:{title:"Post",description:"Vix.cpp blog post.",path:"/blog"}}},{path:"/about/community-guide",name:"community_guide",component:yp,meta:{seo:{title:"Community Guide",description:"How to contribute to Vix.cpp: rules, PR structure, examples, and review expectations.",path:"/about/community-guide"}}},{path:"/about/releases",name:"releases",component:Ap,meta:{seo:{title:"Releases",description:"Release policy and versioning notes for Vix.cpp (CLI, modules, stability guarantees).",path:"/about/releases"}}},{path:"/about/team",name:"team",component:Rp,meta:{seo:{title:"Team",description:"People behind Vix.cpp and how to get in touch for collaboration.",path:"/about/team"}}},{path:"/about/faq",name:"faq",component:Op,meta:{seo:{title:"FAQ",description:"Frequently asked questions about Vix.cpp: scope, use cases, registry, and platform support.",path:"/about/faq"}}},{path:"/about/documentary",name:"documentary",component:Lp,meta:{seo:{title:"The Documentary",description:"The story behind Vix.cpp: why it exists, what it solves, and what’s next.",path:"/about/documentary"}}},{path:"/:pathMatch(.*)*",name:"notfound",component:mp,meta:{seo:{title:"404",description:"Page not found.",path:"/404"}}}],Po=Qu({history:Iu(),routes:jp,scrollBehavior(){return{top:0}}});Po.afterEach(e=>{const t=e.meta?.seo;tr(t||{title:"Vix.cpp A Modern C++ Backend Runtime",description:"Vix.cpp is a modern C++ runtime built as a serious alternative to Node.js, Deno, and Bun.",path:"/"}),window.gtag&&window.gtag("event","page_view",{page_path:e.fullPath,page_title:document.title})});const Vp="modulepreload",Fp=function(e){return"/"+e},sr={},Bp=function(t,s,n){let i=Promise.resolve();if(s&&s.length>0){let a=function(d){return Promise.all(d.map(c=>Promise.resolve(c).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");i=a(s.map(d=>{if(d=Fp(d),d in sr)return;sr[d]=!0;const c=d.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${f}`))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":Vp,c||(h.as="script"),h.crossOrigin="",h.href=d,l&&h.setAttribute("nonce",l),document.head.appendChild(h),c)return new Promise((m,T)=>{h.addEventListener("load",m),h.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${d}`)))})}))}function r(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&r(l.reason);return t().catch(r)})};function Gp(e={}){const{immediate:t=!1,onNeedRefresh:s,onOfflineReady:n,onRegistered:i,onRegisteredSW:r,onRegisterError:o}=e;let l,a;const d=async(f=!0)=>{await a};async function c(){if("serviceWorker"in navigator){if(l=await Bp(async()=>{const{Workbox:f}=await import("./workbox-window.prod.es5-BIl4cyR9.js");return{Workbox:f}},[]).then(({Workbox:f})=>new f("/sw.js",{scope:"/",type:"classic"})).catch(f=>{o?.(f)}),!l)return;l.addEventListener("activated",f=>{(f.isUpdate||f.isExternal)&&window.location.reload()}),l.addEventListener("installed",f=>{f.isUpdate||n?.()}),l.register({immediate:t}).then(f=>{r?r("/sw.js",f):i?.(f)}).catch(f=>{o?.(f)})}}return a=c(),d}const nr=sessionStorage.getItem("redirect");nr&&(sessionStorage.removeItem("redirect"),window.history.replaceState(null,"",nr));const ti=Ja(qc),si=Re(!1),Up=Re("New version available."),Wp=Re("Refresh to load the latest build.");ti.component("PwaUpdateToast",mo);ti.provide("pwaToast",{show:si,message:Up,detail:Wp});ti.use(Po).mount("#app");const qp=Gp({immediate:!0,onNeedRefresh(){si.value=!0},onOfflineReady(){}});window.__vix_pwa_refresh__=()=>qp(!0);window.__vix_pwa_dismiss__=()=>{si.value=!1}; diff --git a/assets/index-WJMByNKR.css b/assets/index-WJMByNKR.css deleted file mode 100644 index 33852e93f..000000000 --- a/assets/index-WJMByNKR.css +++ /dev/null @@ -1 +0,0 @@ -.hdr[data-v-f345a2b4]{position:fixed;top:0;left:0;right:0;z-index:80;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,#011816fa,#020617e6);border-bottom:1px solid rgba(45,212,191,.22);box-shadow:0 10px 30px #0009}[data-v-f345a2b4]:root{--hdr-h: 64px}main[data-v-f345a2b4],#app[data-v-f345a2b4]{padding-top:var(--hdr-h)}.wrap[data-v-f345a2b4]{max-width:1120px;margin:0 auto;padding:.6rem 1.1rem;display:flex;align-items:center;gap:.9rem}.brand[data-v-f345a2b4]{display:inline-flex;align-items:baseline;gap:.8rem}.logo[data-v-f345a2b4]{font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px rgba(45,212,191,.35);font-size:1.3rem}.tag[data-v-f345a2b4]{color:#cbd5e1e6;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44ch}.nav[data-v-f345a2b4]{display:none;align-items:center;gap:1.1rem;margin-left:auto}.link[data-v-f345a2b4]{color:#cbd5e1;position:relative;padding:.25rem .2rem;font-size:.9rem;transition:color .2s ease}.link[data-v-f345a2b4]:hover{color:#5eead4}.link[data-v-f345a2b4]:after{content:"";position:absolute;left:.2rem;right:.2rem;bottom:-.2rem;height:2px;border-radius:999px;background:linear-gradient(90deg,#2dd4bf,#06b6d4);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.link[data-v-f345a2b4]:hover:after,.is-active[data-v-f345a2b4]:after{transform:scaleX(1)}.spacer[data-v-f345a2b4]{width:.75rem}.pill[data-v-f345a2b4]{margin-left:.35rem;padding:.12rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.3);background:#022c228c;color:#e5f9f6;font-size:.72rem;white-space:nowrap}.ext[data-v-f345a2b4]{opacity:.95}.cta[data-v-f345a2b4]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:#022c22e6;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;font-size:.86rem;transition:background .16s ease,border-color .16s ease,transform .12s ease}.cta[data-v-f345a2b4]:hover{background:#023c2ff2;border-color:#2dd4bfd9;transform:translateY(-1px)}.dd[data-v-f345a2b4]{position:relative}.dd-btn[data-v-f345a2b4]{background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.chev[data-v-f345a2b4]{opacity:.8;font-size:.85em;transform:translateY(-1px)}.dd-menu[data-v-f345a2b4]{position:absolute;top:120%;left:0;min-width:230px;padding:.55rem;border-radius:14px;background:#011110fa;border:1px solid rgba(34,197,154,.6);box-shadow:0 18px 40px #000000e6;display:none;flex-direction:column;gap:.35rem;z-index:90}.dd-menu.open[data-v-f345a2b4]{display:flex;animation:ddFade-f345a2b4 .12s ease-out}.dd-item[data-v-f345a2b4]{padding:.42rem .55rem;border-radius:10px;color:#e5e7eb;font-size:.86rem}.dd-item[data-v-f345a2b4]:hover{background:#0f766e59}@keyframes ddFade-f345a2b4{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.burger[data-v-f345a2b4]{margin-left:auto;width:40px;height:36px;border-radius:999px;border:1px solid rgba(45,212,191,.4);background:#022c22f2;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}.burger[data-v-f345a2b4]:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.burger span[data-v-f345a2b4]{width:16px;height:2px;border-radius:999px;background:#e5f9f6f2;transition:transform .18s ease,opacity .18s ease}.burger.open span[data-v-f345a2b4]:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span[data-v-f345a2b4]:nth-child(2){opacity:0}.burger.open span[data-v-f345a2b4]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mnav[data-v-f345a2b4]{padding:.85rem 1.1rem 1.1rem;background:radial-gradient(circle at top,#020817 0,#020617 60%);border-bottom:1px solid rgba(34,197,154,.35);box-shadow:0 22px 40px #000000d9}.mlink[data-v-f345a2b4]{display:flex;align-items:center;justify-content:space-between;padding:.55rem .25rem;color:#cbd5e1;font-size:.98rem}.mlink[data-v-f345a2b4]:hover{color:#5eead4}.msep[data-v-f345a2b4]{height:1px;background:#22c59a38;margin:.55rem 0}.mdd-btn[data-v-f345a2b4]{width:100%;background:transparent;border:0;cursor:pointer;text-align:left}.mdd-menu[data-v-f345a2b4]{padding:.25rem .2rem .55rem}.mdd-item[data-v-f345a2b4]{display:block;padding:.45rem;border-radius:10px;color:#e5e7eb;font-size:.92rem}.mdd-item[data-v-f345a2b4]:hover{background:#0f766e59}@media(min-width:900px){.burger[data-v-f345a2b4]{display:none}.nav[data-v-f345a2b4]{display:flex}.tag[data-v-f345a2b4]{max-width:60ch}}.ft[data-v-3124d47e]{border-top:1px solid rgba(255,255,255,.08);margin-top:30px}.wrap[data-v-3124d47e]{max-width:1100px;margin:0 auto;padding:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.brand[data-v-3124d47e]{font-weight:800;letter-spacing:.2px}.muted[data-v-3124d47e]{opacity:.7;font-size:12px;margin-top:4px;display:flex;align-items:center;gap:6px}.version[data-v-3124d47e]{padding:.1rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.25);background:#022c2273;color:#a7f3d0;font-weight:700;font-size:11px}.right[data-v-3124d47e]{display:flex;gap:14px;align-items:center}.link[data-v-3124d47e]{text-decoration:none;opacity:.8;font-size:13px}.link[data-v-3124d47e]:hover{opacity:1}.app[data-v-6ed3c61b]{--header-h: 64px}.main[data-v-6ed3c61b]{padding-top:calc(var(--header-h) + 18px);min-height:calc(100vh - var(--header-h))}@media(max-width:900px){.app[data-v-6ed3c61b]{--header-h: 76px}}.hero[data-v-362c406f]{padding:0}.hero-inner[data-v-362c406f]{display:grid;gap:2.25rem;align-items:flex-start}@media(min-width:980px){.hero-inner[data-v-362c406f]{grid-template-columns:1.05fr .95fr;gap:3rem}}.hero-title[data-v-362c406f]{font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 .9rem}.hero-subtitle[data-v-362c406f]{margin:0 0 1.4rem;font-size:1.05rem;line-height:1.6;opacity:.9;max-width:60ch}.hero-ctas[data-v-362c406f]{display:flex;gap:.85rem;flex-wrap:wrap;margin:0 0 1.2rem}.hero-badges[data-v-362c406f]{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.35rem}.hero-copy[data-v-362c406f]{max-width:58ch}.hero-kicker[data-v-362c406f]{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0bf;margin:0 0 .65rem}.hero-title[data-v-362c406f]{font-size:clamp(1.85rem,2.6vw,2.55rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 .95rem;font-weight:800;color:#fffffff5;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.hero-support[data-v-362c406f]{margin-top:.95rem;padding:.85rem .95rem;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#02061747,#02061724);box-shadow:0 12px 26px #00000038;max-width:54ch}.hero-support-title[data-v-362c406f]{font-size:.86rem;font-weight:800;letter-spacing:.01em;color:#ffffffeb;margin:0 0 .35rem}.hero-support-text[data-v-362c406f]{font-size:.92rem;line-height:1.55;color:#e2e8f0d1;margin:0 0 .55rem}.hero-support-meta[data-v-362c406f]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.82rem;color:#e2e8f0b8}.meta-dot[data-v-362c406f]{width:8px;height:8px;border-radius:999px;background:#22c59ad9;box-shadow:0 0 0 3px #22c59a2e}.sep[data-v-362c406f]{opacity:.5}.dot-sep[data-v-362c406f]{opacity:.45;font-weight:700}.hero-subtitle[data-v-362c406f]{margin:0 0 1.35rem;font-size:1.02rem;line-height:1.65;opacity:.88;max-width:54ch}@media(max-width:720px){.hero-title[data-v-362c406f]{font-size:1.95rem;line-height:1.14}.hero-subtitle[data-v-362c406f]{font-size:.98rem}}.pill[data-v-362c406f]{font-size:.85rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;opacity:.95;white-space:nowrap}.btn[data-v-362c406f]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;transition:transform .12s ease,background .12s ease,border-color .12s ease}.btn[data-v-362c406f]:hover{transform:translateY(-1px);border-color:#ffffff38;background:#ffffff17}.btn.primary[data-v-362c406f]{background:#ff99001f;color:#fff}.btn.primary[data-v-362c406f]:hover{border-color:#f90c;background:#ff990029}.btn.secondary[data-v-362c406f]{opacity:.95}.hero-side[data-v-362c406f]{display:flex;justify-content:center;align-items:flex-start}.code-card[data-v-362c406f]{width:clamp(480px,88vw,620px);max-width:100%;min-width:0;margin:0 auto;border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}@media(max-width:720px){.code-card[data-v-362c406f]{width:100%}}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:10px}.head-scroll[data-v-362c406f]{display:flex;align-items:center;gap:10px;min-width:0;flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:none}.head-scroll[data-v-362c406f]::-webkit-scrollbar{display:none}.head-left[data-v-362c406f]{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:max-content}.tabs[data-v-362c406f]{flex:0 0 auto;min-width:max-content;white-space:nowrap}.copy-btn[data-v-362c406f]{flex:0 0 auto}.head-left[data-v-362c406f]{display:flex;align-items:center;gap:10px;min-width:0}.dot[data-v-362c406f]{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red[data-v-362c406f]{background:#fb923c}.dot-yellow[data-v-362c406f]{background:#facc15}.dot-green[data-v-362c406f]{background:#22c55e}.head-title[data-v-362c406f]{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;min-width:0}.head-right[data-v-362c406f]{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn.cta-main[data-v-362c406f]{background:linear-gradient(180deg,#22c59a38,#22c59a1f);border-color:#22c59a8c;color:#ecfeff}.btn.cta-main[data-v-362c406f]:hover{background:linear-gradient(180deg,#22c59a4d,#22c59a2e);border-color:#22c59ae6}.btn.cta-secondary[data-v-362c406f]{background:transparent;border-color:#94a3b859;color:#e2e8f0d9}.btn.cta-secondary[data-v-362c406f]:hover{background:#ffffff0f;border-color:#e2e8f0a6;color:#fff}.tabs[data-v-362c406f]{display:flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16);white-space:nowrap}.tab[data-v-362c406f]{border:0;background:transparent;color:#cbd5e1;font-size:.72rem;padding:5px 8px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.tabs[data-v-362c406f]{gap:4px;padding:3px}.tab[data-v-362c406f]{padding:5px 8px;font-size:.72rem}.tab[data-v-362c406f]:hover{background:#94a3b81f;color:#e5e7eb}.tab.active[data-v-362c406f]{background:#22c59a2e;color:#d1fae5}@media(max-width:420px){.tab[data-v-362c406f]{font-size:.68rem;padding:4px 7px}.head-title[data-v-362c406f]{max-width:34vw}}.code-head[data-v-362c406f]{flex-wrap:nowrap}.code-head[data-v-362c406f]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.head-scroll[data-v-362c406f]{min-width:0;flex:1 1 auto}.tabs[data-v-362c406f]{flex:0 0 auto;max-width:100%}.head-left[data-v-362c406f],.head-right[data-v-362c406f]{flex-shrink:0}.copy-btn[data-v-362c406f]{width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(148,163,184,.18);background:#0f172a73;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease;opacity:0;pointer-events:none;color:#e5e7eb}.copy-btn svg[data-v-362c406f]{display:block;width:18px;height:18px;margin:0 auto;color:inherit}.copy-btn svg path[data-v-362c406f]{stroke:currentColor!important;fill:none!important}.code-card:hover .copy-btn[data-v-362c406f],.code-card:focus-within .copy-btn[data-v-362c406f]{opacity:1;pointer-events:auto}.copy-btn[data-v-362c406f]:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47;color:#fff}.copy-btn[data-v-362c406f]:active{color:#22c55e}@media(hover:none),(pointer:coarse){.copy-btn[data-v-362c406f]{opacity:1;pointer-events:auto}}.code-pre[data-v-362c406f]{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0;background:transparent}.code-pre>code[data-v-362c406f]{display:inline-block;min-width:100%}.code-body[data-v-362c406f]{height:340px;overflow:auto}.code-body[data-v-362c406f]::-webkit-scrollbar{height:8px;width:10px}.code-body[data-v-362c406f]::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body[data-v-362c406f]::-webkit-scrollbar-track{background:#020617e6}.cpp-directive[data-v-362c406f]{color:#c586c0}.cpp-include[data-v-362c406f]{color:#ce9178}.cpp-keyword[data-v-362c406f]{color:#569cd6}.cpp-type[data-v-362c406f]{color:#4ec9b0}.cpp-namespace[data-v-362c406f]{color:#4fc1ff}.cpp-fn[data-v-362c406f]{color:#dcdcaa}.cpp-member[data-v-362c406f]{color:#9cdcfe}.cpp-ident[data-v-362c406f]{color:#e2e8f0}.cpp-string[data-v-362c406f]{color:#ce9178}.cpp-char[data-v-362c406f]{color:#d7ba7d}.cpp-number[data-v-362c406f]{color:#b5cea8}.cpp-comment[data-v-362c406f]{color:#6a9955;font-style:italic}.cpp-op[data-v-362c406f]{color:#e2e8f08c}.cpp-url[data-v-362c406f]{color:#4fc1ff;text-decoration:underline;text-underline-offset:2px}.shell-prompt[data-v-362c406f]{color:#22c55e;font-weight:800}.shell-cmd[data-v-362c406f]{color:#38bdf8;font-weight:800}.shell-flag[data-v-362c406f]{color:#f97316;font-weight:800}.shell-path[data-v-362c406f]{color:#a5b4fc}.shell-url[data-v-362c406f]{color:#38bdf8;text-decoration:underline;text-underline-offset:2px}.shell-port[data-v-362c406f]{color:#b5cea8}.shell-http[data-v-362c406f]{color:#dcdcaa;font-weight:800}.shell-hdr[data-v-362c406f]{color:#4ec9b0;font-weight:800}.shell-hdrv[data-v-362c406f]{color:#e2e8f0}@media(max-width:720px){.head-title[data-v-362c406f]{max-width:42vw}.code-pre[data-v-362c406f]{font-size:.84rem}}.section[data-v-b068929b]{padding:3.6rem 0}.section.tight[data-v-b068929b]{padding:2.6rem 0}.section.alt[data-v-b068929b]{background:#ffffff08;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.section-head[data-v-b068929b]{margin-bottom:1.65rem}.section-title[data-v-b068929b]{margin:0;font-size:1.55rem;line-height:1.2;letter-spacing:-.01em}.section-subtitle[data-v-b068929b]{margin:.65rem 0 0;max-width:75ch;opacity:.85;line-height:1.6}.section-body[data-v-b068929b]{margin-top:1.1rem}.code-card[data-v-4a7f74a5]{width:clamp(520px,92vw,980px);max-width:100%;min-width:0;margin:0 auto;border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}.code-card[data-v-4a7f74a5]{width:100%;max-width:100%;margin:0}@media(max-width:720px){.code-card[data-v-4a7f74a5]{width:100%}}.code-head[data-v-4a7f74a5]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.head-left[data-v-4a7f74a5]{display:flex;align-items:center;gap:10px;min-width:0}.dot[data-v-4a7f74a5]{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red[data-v-4a7f74a5]{background:#fb923c}.dot-yellow[data-v-4a7f74a5]{background:#facc15}.dot-green[data-v-4a7f74a5]{background:#22c55e}.head-title[data-v-4a7f74a5]{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.chips[data-v-4a7f74a5]{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.chip[data-v-4a7f74a5]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;color:#cbd5e1;border:1px solid rgba(34,197,154,.22);background:#022c2259}.head-right[data-v-4a7f74a5]{display:flex;align-items:center;gap:10px;flex-shrink:0}.tabs[data-v-4a7f74a5]{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16)}.tab[data-v-4a7f74a5]{border:0;background:transparent;color:#cbd5e1;font-size:.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.tab[data-v-4a7f74a5]:hover{background:#94a3b81f;color:#e5e7eb}.tab.active[data-v-4a7f74a5]{background:#22c59a2e;color:#d1fae5}.copy-btn[data-v-4a7f74a5]{width:34px;height:34px;border:1px solid rgba(148,163,184,.18);background:#0f172a73;color:#e5e7eb;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease;opacity:0;pointer-events:none}.code-card:hover .copy-btn[data-v-4a7f74a5],.code-card:focus-within .copy-btn[data-v-4a7f74a5]{opacity:1;pointer-events:auto}.copy-btn[data-v-4a7f74a5]:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47}.ico[data-v-4a7f74a5]{width:18px;height:18px;display:block;margin:0 auto}.code-body[data-v-4a7f74a5]{width:100%;max-width:100%;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;background:#020617}.code-pre[data-v-4a7f74a5]{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0;background:transparent}.code-pre>code[data-v-4a7f74a5]{display:inline-block;min-width:100%}.code-foot[data-v-4a7f74a5]{border-top:1px solid rgba(148,163,184,.12);background:#0206179e;padding:10px 12px}.code-note[data-v-4a7f74a5]{margin:0;color:#94a3b8;font-size:.85rem;line-height:1.55}.code-body[data-v-4a7f74a5]::-webkit-scrollbar{height:8px;width:10px}.code-body[data-v-4a7f74a5]::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body[data-v-4a7f74a5]::-webkit-scrollbar-track{background:#020617e6}.cpp-directive[data-v-4a7f74a5]{color:#c586c0}.cpp-include[data-v-4a7f74a5]{color:#ce9178}.cpp-keyword[data-v-4a7f74a5]{color:#569cd6}.cpp-type[data-v-4a7f74a5]{color:#4ec9b0}.cpp-namespace[data-v-4a7f74a5]{color:#4fc1ff}.cpp-fn[data-v-4a7f74a5]{color:#dcdcaa}.cpp-member[data-v-4a7f74a5]{color:#9cdcfe}.cpp-ident[data-v-4a7f74a5]{color:#e2e8f0}.cpp-string[data-v-4a7f74a5]{color:#ce9178}.cpp-char[data-v-4a7f74a5]{color:#d7ba7d}.cpp-number[data-v-4a7f74a5]{color:#b5cea8}.cpp-comment[data-v-4a7f74a5]{color:#6a9955;font-style:italic}.cpp-op[data-v-4a7f74a5]{color:#e2e8f08c}.cpp-url[data-v-4a7f74a5]{color:#4fc1ff;text-decoration:underline;text-underline-offset:2px}.shell-prompt[data-v-4a7f74a5]{color:#22c55e;font-weight:800}.shell-cmd[data-v-4a7f74a5]{color:#38bdf8;font-weight:800}.shell-flag[data-v-4a7f74a5]{color:#f97316;font-weight:800}.shell-path[data-v-4a7f74a5]{color:#a5b4fc}.shell-url[data-v-4a7f74a5]{color:#38bdf8;text-decoration:underline;text-underline-offset:2px}.shell-port[data-v-4a7f74a5]{color:#b5cea8}.shell-op[data-v-4a7f74a5]{color:#e2e8f0a6}.shell-http[data-v-4a7f74a5]{color:#dcdcaa;font-weight:800}.shell-hdr[data-v-4a7f74a5]{color:#4ec9b0;font-weight:800}.shell-hdrv[data-v-4a7f74a5]{color:#e2e8f0}@media(max-width:720px){.head-title[data-v-4a7f74a5]{max-width:35vw;overflow:hidden;text-overflow:ellipsis}.code-pre[data-v-4a7f74a5]{font-size:.84rem}}.signals[data-v-91543e28]{display:grid;gap:1.35rem;padding-top:.35rem}.signal[data-v-91543e28]{position:relative;padding:.2rem 0 1.25rem}.signal[data-v-91543e28]:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.pill[data-v-91543e28]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:.82rem;font-weight:650;letter-spacing:-.01em;color:#000000e0;background:#78ffbef2}.value[data-v-91543e28]{margin-top:.7rem;font-size:2.3rem;font-weight:850;letter-spacing:-.03em;line-height:1.05}.sub[data-v-91543e28]{margin-top:.4rem;font-size:.95rem;opacity:.75;line-height:1.4}@media(max-width:520px){.signals[data-v-91543e28]{gap:1.05rem}.value[data-v-91543e28]{font-size:2.05rem}}.batteries[data-v-7f0be1df]{padding:3.6rem 0}.container[data-v-7f0be1df]{width:min(1120px,calc(100% - 48px));margin:0 auto}.head[data-v-7f0be1df]{text-align:center;margin-bottom:2.3rem}.title[data-v-7f0be1df]{margin:0;font-size:2.45rem;line-height:1.08;letter-spacing:-.03em;font-weight:850;color:#fffffff5}.subtitle[data-v-7f0be1df]{margin:.95rem auto 0;max-width:76ch;font-size:1.05rem;line-height:1.75;opacity:.82;color:#e2e8f0db}.grid[data-v-7f0be1df]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}@media(max-width:980px){.grid[data-v-7f0be1df]{grid-template-columns:1fr}}.card[data-v-7f0be1df]{border-radius:16px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#0206178c,#02061761);box-shadow:0 18px 46px #00000059;padding:1.2rem 1.2rem 1.1rem;display:flex;flex-direction:column;gap:1rem;min-height:290px}.card-title[data-v-7f0be1df]{margin:0;font-size:1.08rem;letter-spacing:-.01em;font-weight:850;color:#fffffff2}.card-text[data-v-7f0be1df]{margin:.55rem 0 0;line-height:1.65;color:#e2e8f0d1}.learn[data-v-7f0be1df]{display:inline-flex;align-items:center;gap:.25rem;margin-top:.75rem;font-weight:750;text-decoration:none;color:#22c59aeb}.learn[data-v-7f0be1df]:hover{color:#22c59a;text-decoration:underline}.arrow[data-v-7f0be1df]{font-size:1.05em;transform:translateY(-.02em)}.preview[data-v-7f0be1df]{border-radius:14px;border:1px solid rgba(148,163,184,.14);background:#020617b8;overflow:hidden}.preview-head[data-v-7f0be1df]{display:flex;align-items:center;gap:.45rem;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.dot[data-v-7f0be1df]{width:10px;height:10px;border-radius:999px;opacity:.95}.dot-red[data-v-7f0be1df]{background:#fb923c}.dot-yellow[data-v-7f0be1df]{background:#facc15}.dot-green[data-v-7f0be1df]{background:#22c55e}.preview-title[data-v-7f0be1df]{margin-left:.35rem;font-size:.84rem;color:#e2e8f0cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-body[data-v-7f0be1df]{padding:12px}.preview-pre[data-v-7f0be1df]{margin:0;white-space:pre;overflow:auto;max-width:100%}.preview-code[data-v-7f0be1df]{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.86rem;line-height:1.65;color:#e2e8f0e6}@media(max-width:980px){.grid[data-v-7f0be1df]{grid-template-columns:1fr}.title[data-v-7f0be1df]{font-size:2.05rem}.card[data-v-7f0be1df]{min-height:0}}.page[data-v-c8505a9c]{width:100%}.loading[data-v-c8505a9c]{padding:56px 0;opacity:.85}.loading-title[data-v-c8505a9c]{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.01em}.loading-sub[data-v-c8505a9c]{margin:0;opacity:.85}.cta-row[data-v-c8505a9c]{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.signals[data-v-c8505a9c]{padding:3.2rem 0}.signals-layout[data-v-c8505a9c]{display:grid;grid-template-columns:minmax(320px,560px) minmax(260px,420px);gap:3rem;align-items:center}.signals-left[data-v-c8505a9c]{padding-top:.2rem}.signals-title[data-v-c8505a9c]{margin:0;font-size:2.35rem;line-height:1.05;letter-spacing:-.03em}.signals-subtitle[data-v-c8505a9c]{margin:.95rem 0 0;max-width:62ch;font-size:1.05rem;line-height:1.7;opacity:.82}.signals-right[data-v-c8505a9c]{width:100%}@media(max-width:980px){.signals-layout[data-v-c8505a9c]{grid-template-columns:1fr;gap:1.6rem}.signals-title[data-v-c8505a9c]{font-size:1.9rem}}.wrap[data-v-fb1fc97e]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-fb1fc97e]{margin-bottom:1.6rem}.h1[data-v-fb1fc97e]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-fb1fc97e]{margin:0;color:var(--muted);max-width:62ch;line-height:1.55}.links[data-v-fb1fc97e]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.btn[data-v-fb1fc97e]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-fb1fc97e]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}.sec[data-v-fb1fc97e]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-fb1fc97e]{margin:0 0 .25rem;font-size:1.25rem}.muted[data-v-fb1fc97e]{margin:0 0 .85rem;color:var(--muted);line-height:1.55;max-width:90ch}.note[data-v-fb1fc97e]{margin:.75rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch;font-size:.95rem}@media(max-width:900px){.wrap[data-v-fb1fc97e]{padding:1.8rem 1.2rem 2.4rem}}.grid[data-v-d455a725]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem}.grid[data-v-d455a725]>*{min-width:0}.wrap[data-v-d455a725]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-d455a725]{margin-bottom:1.6rem}.h1[data-v-d455a725]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-d455a725]{margin:0;color:var(--muted);max-width:58ch;line-height:1.55}.ex[data-v-d455a725]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.head[data-v-d455a725]{margin-bottom:.85rem}.h2[data-v-d455a725]{margin:0 0 .25rem;font-size:1.25rem}.muted[data-v-d455a725]{margin:0;color:var(--muted);line-height:1.55;max-width:80ch}.wrap[data-v-8484eeed]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-8484eeed]{margin-bottom:1.6rem}.h1[data-v-8484eeed]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-8484eeed]{margin:0;color:var(--muted);max-width:68ch;line-height:1.55}.pill-row[data-v-8484eeed]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.95rem}.pill[data-v-8484eeed]{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(45,212,191,.28);background:#022c2280;color:#e5f9f6;font-size:.78rem;white-space:nowrap}.grid[data-v-8484eeed]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem}.grid[data-v-8484eeed]>*{min-width:0}.card[data-v-8484eeed]{background:#011816f5;border-radius:var(--radius-md);border:1px solid rgba(15,118,110,.5);box-shadow:0 18px 36px #000000b3;padding:1.25rem 1.35rem;overflow:hidden}.card-head[data-v-8484eeed]{margin-bottom:.9rem}.h2[data-v-8484eeed]{margin:0 0 .25rem;font-size:1.18rem}.muted[data-v-8484eeed]{margin:0;color:var(--muted);line-height:1.55;max-width:90ch}.links[data-v-8484eeed]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.85rem}.btn[data-v-8484eeed]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-8484eeed]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}.btn.primary[data-v-8484eeed]{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;border-color:transparent;box-shadow:0 18px 34px #0c948873;font-weight:600}.btn.primary[data-v-8484eeed]:hover{box-shadow:0 22px 42px #0c9488a6}.mini[data-v-8484eeed]{margin-top:1rem;padding-top:.95rem;border-top:1px solid rgba(45,212,191,.12);display:grid;gap:.55rem}.mini-item[data-v-8484eeed]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.mini-k[data-v-8484eeed]{color:var(--muted);font-size:.9rem}.mini-v[data-v-8484eeed]{color:#e5f9f6;font-weight:600;font-size:.92rem;white-space:nowrap}.steps[data-v-8484eeed]{list-style:none;margin:.95rem 0 0;padding:0;display:grid;gap:.65rem}.steps li[data-v-8484eeed]{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem .75rem;border-radius:14px;border:1px solid rgba(45,212,191,.12);background:#022c2259}.step-n[data-v-8484eeed]{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#01201f;background:linear-gradient(135deg,var(--accent),var(--accent-dark));flex-shrink:0}.step-t[data-v-8484eeed]{font-weight:700;color:#e5f9f6;margin-bottom:.15rem}.step-d[data-v-8484eeed]{color:var(--muted);line-height:1.5;font-size:.95rem}.note[data-v-8484eeed]{margin:.95rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch;font-size:.95rem}.sec[data-v-8484eeed]{margin-top:1.6rem;padding-top:1.35rem;border-top:1px solid rgba(45,212,191,.12)}.cards3[data-v-8484eeed]{margin-top:.95rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mini-card[data-v-8484eeed]{border-radius:16px;border:1px solid rgba(15,118,110,.5);background:#011816b8;box-shadow:0 14px 28px #0000008c;padding:1rem 1.05rem}.mini-title[data-v-8484eeed]{font-weight:800;margin-bottom:.25rem}.mini-desc[data-v-8484eeed]{color:var(--muted);line-height:1.55;margin-bottom:.65rem}.mini-tag[data-v-8484eeed]{display:inline-flex;padding:.18rem .55rem;border-radius:999px;font-size:.78rem;border:1px solid rgba(45,212,191,.28);background:#022c2273;color:#e5f9f6}@media(max-width:900px){.grid[data-v-8484eeed],.cards3[data-v-8484eeed]{grid-template-columns:1fr}.wrap[data-v-8484eeed]{padding:1.8rem 1.2rem 2.4rem}}.page[data-v-09160c59]{max-width:800px;margin:0 auto}.intro[data-v-09160c59]{margin-bottom:2rem;color:#555}.post[data-v-09160c59]{border-bottom:1px solid #eee;padding-bottom:1rem;margin-bottom:1.5rem}.post h3[data-v-09160c59]{margin-bottom:.3rem}.wrap[data-v-b313d2d0]{max-width:900px;margin:0 auto;padding:32px 18px 70px}.notfound[data-v-b313d2d0]{text-align:center;padding-top:40px}.header[data-v-b313d2d0]{margin-bottom:28px}.h1[data-v-b313d2d0]{margin:0;font-size:34px;letter-spacing:-.02em}.meta[data-v-b313d2d0]{margin-top:6px;opacity:.65;font-size:13px}.excerpt[data-v-b313d2d0]{margin-top:12px;font-size:16px;opacity:.85}.content[data-v-b313d2d0]{margin-top:28px}.paragraph[data-v-b313d2d0]{margin:0 0 16px;line-height:1.7;font-size:15px;opacity:.9}.footer[data-v-b313d2d0]{margin-top:40px}.row[data-v-b313d2d0]{display:flex;justify-content:center;gap:10px;margin-top:18px}.btn[data-v-b313d2d0]{text-decoration:none;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16)}.wrap[data-v-280b74d2]{max-width:1100px;margin:0 auto;padding:60px 18px 80px;text-align:center}.h1[data-v-280b74d2]{margin:0;font-size:46px;letter-spacing:-.02em}.p[data-v-280b74d2]{margin:10px 0 0;opacity:.8}.row[data-v-280b74d2]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.btn[data-v-280b74d2]{text-decoration:none;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16)}.wrap[data-v-27c9f54c]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-27c9f54c]{margin-bottom:1.3rem}.h1[data-v-27c9f54c]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-27c9f54c]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-27c9f54c]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-27c9f54c]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-27c9f54c]{margin:0;color:var(--muted);line-height:1.55}.cards[data-v-27c9f54c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.9rem}.card[data-v-27c9f54c]{border-radius:16px;border:1px solid rgba(15,118,110,.5);background:#011816b8;box-shadow:0 14px 28px #0000008c;padding:1rem 1.05rem}.cardTitle[data-v-27c9f54c]{font-weight:800;margin-bottom:.25rem}.list[data-v-27c9f54c]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.note[data-v-27c9f54c]{margin:.9rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.cards[data-v-27c9f54c]{grid-template-columns:1fr}.wrap[data-v-27c9f54c]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-933a9e79]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-933a9e79]{margin-bottom:1.3rem}.h1[data-v-933a9e79]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-933a9e79]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-933a9e79]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-933a9e79]{margin:0 0 .35rem;font-size:1.2rem}.list[data-v-933a9e79]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.note[data-v-933a9e79]{margin:.9rem 0 0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-933a9e79]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-887b3690]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-887b3690]{margin-bottom:1.3rem}.h1[data-v-887b3690]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-887b3690]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-887b3690]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-887b3690]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-887b3690]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}.list[data-v-887b3690]{margin:.7rem 0 0 1.1rem;color:var(--muted);line-height:1.65}.links[data-v-887b3690]{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}.btn[data-v-887b3690]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;border:1px solid rgba(45,212,191,.55);color:#e5f9f6;background:#022c22e6;transition:transform .12s ease,background .16s ease,border-color .16s ease}.btn[data-v-887b3690]:hover{transform:translateY(-1px);background:#023c2ff2;border-color:#2dd4bfd9}@media(max-width:900px){.wrap[data-v-887b3690]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-62147ac1]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-62147ac1]{margin-bottom:1.3rem}.h1[data-v-62147ac1]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-62147ac1]{margin:0;color:var(--muted);max-width:75ch;line-height:1.55}.sec[data-v-62147ac1]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-62147ac1]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-62147ac1]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-62147ac1]{padding:1.8rem 1.2rem 2.4rem}}.wrap[data-v-e6de332b]{max-width:1120px;margin:0 auto;padding:2.2rem 1.5rem 2.8rem}.top[data-v-e6de332b]{margin-bottom:1.3rem}.h1[data-v-e6de332b]{margin:0 0 .55rem;font-size:clamp(2rem,2.6vw,2.5rem);line-height:1.1}.p[data-v-e6de332b]{margin:0;color:var(--muted);max-width:78ch;line-height:1.55}.sec[data-v-e6de332b]{padding:1.25rem 0 1.55rem;border-top:1px solid rgba(45,212,191,.12)}.h2[data-v-e6de332b]{margin:0 0 .35rem;font-size:1.2rem}.muted[data-v-e6de332b]{margin:0;color:var(--muted);line-height:1.55;max-width:95ch}@media(max-width:900px){.wrap[data-v-e6de332b]{padding:1.8rem 1.2rem 2.4rem}}.code-card{border:1px solid rgba(148,163,184,.18);background:#020617b8;border-radius:16px;overflow:hidden;box-shadow:0 18px 46px #0000008c}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(to bottom,#020617eb,#020617b8);border-bottom:1px solid rgba(148,163,184,.14)}.head-left{display:flex;align-items:center;gap:10px;min-width:0}.dot{width:10px;height:10px;border-radius:999px;background:#475569}.dot-red{background:#fb923c}.dot-yellow{background:#facc15}.head-title{color:#e5e7eb;font-size:.82rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.chips{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;color:#cbd5e1;border:1px solid rgba(34,197,154,.22);background:#022c2259}.head-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.tabs{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16)}.tab{border:0;background:transparent;color:#cbd5e1;font-size:.75rem;padding:6px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.tab:hover{background:#94a3b81f;color:#e5e7eb}.tab.active{background:#22c59a2e;color:#d1fae5}.copy{border:1px solid rgba(148,163,184,.18);background:#0f172a73;color:#e5e7eb;font-size:.75rem;padding:7px 10px;border-radius:10px;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}.copy:hover{transform:translateY(-1px);background:#0f172aa6;border-color:#22c59a47}.code-foot{border-top:1px solid rgba(148,163,184,.12);background:#0206179e;padding:10px 12px}.code-note{margin:0;color:#94a3b8;font-size:.85rem;line-height:1.55}.code-body::-webkit-scrollbar{height:8px;width:10px}.code-body::-webkit-scrollbar-thumb{background:#22c59a59;border-radius:999px}.code-body::-webkit-scrollbar-track{background:#020617e6}.cpp-keyword{color:#fb7185}.cpp-type{color:#22c55e}.cpp-string{color:#34d399}.cpp-comment{color:#94a3b8;font-style:italic;opacity:.85}.cpp-fn{color:#fbbf24}.shell-prompt{color:#22c55e;font-weight:800}.shell-cmd{color:#38bdf8;font-weight:800}.shell-flag{color:#f97316;font-weight:800}.shell-success{color:#22c55e;font-weight:900}.shell-pill-dev{color:#38bdf8;font-weight:900}.code-card{min-width:0;max-width:100%}.cli-grid>*{min-width:0}pre,code{max-width:100%}.code-card{width:100%;max-width:100%;min-width:0}.code-body{width:100%;max-width:100%;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;background:#020617}.code-pre{margin:0;padding:14px;width:100%;max-width:100%;min-width:0;white-space:pre;line-height:1.65;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;color:#e2e8f0}.code-pre>code{display:inline-block;min-width:100%}@media(min-width:900px){.cli-grid .code-pre{padding:12px}}.code-card{width:100%;max-width:100%}@media(max-width:720px){.head-title{max-width:35vw;overflow:hidden;text-overflow:ellipsis}.code-pre{font-size:.84rem;min-width:640px}}:root{--bg: #011e1c;--bg-alt: #022724;--bg-elevated: #03312d;--accent: #1ee6a3;--accent-dark: #0ca377;--accent-soft: rgba(30, 230, 163, .16);--text: #ffffff;--muted: #cbd5e1;--border: #09433f;--radius-lg: 20px;--radius-md: 14px;--shadow-soft: 0 22px 45px rgba(0, 0, 0, .6)}h1,h2,h3{text-shadow:0 1px 2px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box}html.nav-open,body.nav-open{overflow:hidden}body{margin:0;padding:3.5rem 0 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top,#064e3b 0,var(--bg) 50%,#011716 100%);-webkit-font-smoothing:antialiased}body{padding:0}html,body{min-height:100%;background:radial-gradient(circle at top,#064e3b 0,var(--bg) 50%,#011716 100%)}#app{min-height:100vh;background:transparent}#app{background:transparent;min-height:100vh}.section.alt,.site-footer{background:transparent}.card,.terminal,.code-card{background:#00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}a{color:inherit;text-decoration:none}code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(to bottom,#011816fa,#020617e6);border-bottom:1px solid rgba(45,212,191,.22);box-shadow:0 10px 30px #0009}.header-inner{position:relative;padding:0}.header-top{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .65rem;box-sizing:border-box}.logo{display:inline-flex;align-items:center;gap:.45rem;padding:.22rem .55rem;border-radius:999px;background:radial-gradient(circle at top left,#064e3b,#011816);border:1px solid rgba(34,197,155,.55);box-shadow:0 0 18px #22c59a66}.logo-text{display:inline-flex;align-items:baseline;gap:0}.logo-icon{width:26px;height:26px;object-fit:contain;border-radius:8px;background:#011816;box-shadow:0 0 10px #0f766ea6}.logo-main{font-family:Inter,Poppins,Roboto,system-ui,sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#2dd4bf,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px rgba(45,212,191,.35)}.logo-sub{font-size:1rem;font-weight:300;color:#a5f3fc;opacity:.9;letter-spacing:.4px;margin-left:.05rem}.nav{display:none;font-size:.9rem;margin-top:.3rem}.nav a{color:#cbd5e1;text-decoration:none;position:relative;padding-bottom:.15rem;transition:color .2s ease}.nav a:after{content:"";position:absolute;left:0;bottom:-.2rem;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#2dd4bf,#06b6d4);transition:width .2s ease}.nav a:hover{color:#5eead4}.nav a:hover:after{width:100%}.nav-toggle{border:1px solid rgba(45,212,191,.4);background:#022c22f2;color:#e5f9f6;border-radius:999px;padding:.25rem .45rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .12s ease}.nav-toggle-icon{width:18px;height:18px;display:block}.nav-toggle:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.nav-toggle.is-active{background:#047857fa;border-color:#22c59af2;transform:translateY(-1px)}.nav-toggle.is-active .nav-toggle-icon{transform:rotate(90deg);transition:transform .18s ease}.nav.is-open{position:absolute;left:0;right:0;top:100%;margin-top:.35rem;padding:.85rem 1.5rem 1rem;background:radial-gradient(circle at top,#020817 0,#020617 60%);border-bottom:1px solid rgba(34,197,154,.35);box-shadow:0 22px 40px #000000d9;display:flex;flex-direction:column;gap:.65rem;z-index:40}.nav.is-open a{width:100%;font-size:.95rem;padding:.2rem 0;white-space:normal}.nav.is-open a:after{display:none}.community-wrapper{position:relative;flex-shrink:0;z-index:70}.community-toggle{border:1px solid rgba(45,212,191,.4);background:#022c22f2;color:#e5f9f6;border-radius:999px;padding:.3rem .8rem;font-size:.82rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease;white-space:nowrap}.community-toggle:hover{background:#034436fa;border-color:#22c59ae6;transform:translateY(-1px)}.community-icon{display:inline-flex;align-items:center;justify-content:center;gap:3px}.community-icon .dot{width:3px;height:3px;border-radius:999px;background:#a5f3fc}.community-menu{position:absolute;right:0;top:110%;min-width:250px;padding:.7rem .6rem;border-radius:14px;background:#011110fa;border:1px solid rgba(34,197,154,.6);box-shadow:0 18px 40px #000000e6;display:none;flex-direction:column;gap:.45rem;animation:dropdown-fade .12s ease-out;z-index:60}.community-menu.is-open{display:flex}.community-section{padding:.3rem .25rem}.community-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6ee7b7;margin-bottom:.15rem}.community-menu a{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#e5e7eb;text-decoration:none;padding:.18rem .1rem;border-radius:6px}.community-menu a:hover{background:#0f766e66}.icon-chip{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.icon-github{background:#020617;color:#e5e7eb;border:1px solid #4b5563}.icon-x{background:#020617;color:#f9fafb;border:1px solid #4b5563}.icon-linkedin{background:#0a66c2;color:#f9fafb;border:1px solid #1d4ed8}.icon-youtube{background:#b91c1c;color:#fef2f2;border:1px solid #dc2626}.community-link-label{white-space:nowrap}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav.is-open .community-wrapper{width:100%;margin-top:.3rem}.nav.is-open .community-toggle{width:100%;justify-content:space-between;padding-inline:.75rem}.nav.is-open .community-menu{position:static;margin-top:.35rem;width:100%;box-shadow:none}body.nav-open{overflow:hidden}@media(min-width:900px){.header-inner{display:flex;align-items:center;gap:1.5rem}.header-top{gap:1rem}.nav-toggle{display:none}.nav{display:flex!important;align-items:center;gap:1.4rem;margin-top:0;margin-left:auto;position:static;padding:0;box-shadow:none;background:transparent}.nav a{white-space:nowrap}.community-wrapper{width:auto;margin-top:0}.community-menu{position:absolute;width:auto;box-shadow:0 18px 40px #000000e6}}.hero{padding:4.2rem 0 3.4rem}.hero-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.7rem;align-items:center}.hero-title{font-size:clamp(2.4rem,3.2vw,3rem);line-height:1.1;margin:0 0 1rem}.hero-subtitle{color:var(--muted);max-width:38rem;line-height:1.55;margin:0 0 1.6rem}.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border-radius:999px;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:all .16s ease-out}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;box-shadow:0 20px 38px #0c948899;font-weight:550}.btn.primary:hover{transform:translateY(-1px) translateZ(0);box-shadow:0 24px 46px #0c9488cc}.btn.secondary{border-color:#2dd4bf8c;color:#e5f9f6;background:#022c22e6}.btn.secondary:hover{background:#023c2ff2;border-color:#2dd4bfd9}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.pill{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(45,212,191,.3);background:#022c228c;color:#e5f9f6;font-size:.78rem;white-space:nowrap}.hero-note{font-size:.85rem;color:var(--muted);margin-top:.9rem}.hero-side{display:flex;justify-content:flex-end}.terminal{width:100%;max-width:430px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid rgba(15,118,110,.65);overflow:hidden}.terminal{background:#00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.terminal-body{background:transparent}.terminal-head{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;background:linear-gradient(to right,#011716,#022c22);border-bottom:1px solid rgba(15,118,110,.55)}.terminal-head .dot{width:9px;height:9px;border-radius:999px;background:#0f766e}.terminal-head .dot:nth-child(1){background:#f97316}.terminal-head .dot:nth-child(2){background:#eab308}.terminal-head .dot:nth-child(3){background:#22c55e}.terminal-title{margin-left:auto;font-size:.75rem;color:var(--muted)}.terminal-body{padding:.95rem 1rem 1.1rem;font-size:.78rem;color:#e5f9f6;background:radial-gradient(circle at top,#052e26 0,#011716 60%);overflow-x:auto;-webkit-overflow-scrolling:touch}.terminal-body pre{margin:0;padding:0;white-space:pre;min-width:520px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;color:#e2e8f0}.terminal-body::-webkit-scrollbar{height:7px}.terminal-body::-webkit-scrollbar-thumb{background:#2dd4bfbf;border-radius:10px}.terminal-body::-webkit-scrollbar-track{background:#011414cc}.section{padding:3.6rem 0}.section.alt{background:transparent}.section.tight{padding:2.6rem 0}.section-head{margin-bottom:2rem}.section-title{font-size:1.6rem;margin:0 0 .75rem}.section-subtitle{color:var(--muted);max-width:36rem;margin:0}.grid{display:grid;gap:1.6rem;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr))}.grid.dense{gap:1.1rem}@media(max-width:900px){.grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.card{background:#011816f5;border-radius:var(--radius-md);border:1px solid rgba(15,118,110,.5);padding:1.25rem 1.4rem;box-shadow:0 18px 36px #000000b3;position:relative;overflow:hidden}.card{background:#0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-title{margin:0 0 .4rem;font-size:1.02rem}.card-text{margin:0;color:var(--muted);line-height:1.55}table{border-collapse:collapse}th,td{font-family:inherit}.site-footer{border-top:1px solid rgba(15,118,110,.5);padding:1.2rem 0 1.6rem;margin-top:1.4rem;background:transparent}.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.85rem}@media(max-width:900px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-side{justify-content:flex-start}.footer-inner{flex-direction:column;gap:.4rem;align-items:flex-start}}.code-card{margin:1.2rem 0;border-radius:14px;overflow:hidden;border:1px solid rgba(15,118,110,.55);background:#020617;box-shadow:0 12px 32px #0000008c;padding:0}.code-header{padding:.55rem .9rem;background:linear-gradient(to right,#011716,#022c22);color:var(--muted);font-size:.78rem;border-bottom:1px solid rgba(15,118,110,.45);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;gap:.9rem}.code-left{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.code-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42ch}.code-actions{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.code-header .dot{width:9px;height:9px;border-radius:999px;display:inline-block}.dot-red{background:#f97316}.dot-yellow{background:#eab308}.dot-green{background:#22c55e}.tab{border:1px solid rgba(45,212,191,.22);background:#022c228c;color:#e5f9f6;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease}.tab:hover{background:#023c2fa6;border-color:#2dd4bf73;transform:translateY(-1px)}.tab.active{background:#04785766;border-color:#22c59abf}.copy-btn{border:1px solid rgba(45,212,191,.22);background:#022c228c;color:#e5f9f6;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease}.copy-btn:hover{background:#023c2fa6;border-color:#2dd4bf73;transform:translateY(-1px)}.code-body{background:#020617;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-pre{margin:0;padding:1rem 1.25rem;min-width:520px;white-space:pre;line-height:1.6;font-family:JetBrains Mono,Consolas,monospace;font-size:.88rem;color:#e2e8f0}.code-body::-webkit-scrollbar{height:7px}.code-body::-webkit-scrollbar-thumb{background:#2dd4bfbf;border-radius:10px}.code-body::-webkit-scrollbar-track{background:#011414cc}.code-note{color:var(--muted);font-size:.85rem;margin:.4rem 0 0;padding:0 .2rem}.cpp-directive{color:#60a5fa}.cpp-include{color:#38bdf8}.cpp-keyword{color:#f97373}.cpp-type,.cpp-namespace{color:#22c55e}.cpp-function{color:#eab308}.cpp-method{color:#facc15}.cpp-string{color:#22c55e}.cpp-number{color:#f97316}.cpp-variable{color:#e5e7eb}.cpp-comment{color:#6b7280;font-style:italic}.shell-prompt{color:#22c55e;font-weight:500}.shell-cmd{color:#38bdf8;font-weight:500}.shell-arg{color:#facc15}.shell-path{color:#a5b4fc}.shell-flag{color:#f97316}.shell-info{color:#7dd3fc}.shell-success{color:#22c55e;font-weight:600}.shell-log{color:#a7f3d0}.shell-input{color:#e5e7eb}.shell-bullet{color:#facc15}.shell-number{color:#f97316}.shell-time{color:#93c5fd;font-weight:500}.shell-pill{color:#22c55e;font-weight:700}.shell-brand{color:#7dd3fc;font-weight:700;letter-spacing:.06em}.shell-muted{color:#9ca3af}.shell-indent{color:#a5f3fc;font-weight:600;display:inline-block;width:2ch}.shell-label{color:#e5e7eb;font-weight:600;display:inline-block;width:9ch}.shell-value{color:#a7f3d0;font-weight:600}.shell-link{color:#a5b4fc;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#a5b4fc73}.shell-pill-dev{color:#38bdf8;font-weight:800}.reveal{opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.reveal.card:hover{transform:translateY(-2px);border-color:#22c59ad9;box-shadow:0 22px 46px #000000bf}.cli-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:18px}.cli-grid .code-card{grid-column:span 6}@media(max-width:900px){.cli-grid .code-card{grid-column:span 12}}.cli-side ul{margin:.9rem 0 .8rem;padding-left:1.1rem;color:var(--muted);line-height:1.55}.cli-side li{margin:.35rem 0}.cli-side h3{margin:0;font-size:1.05rem}.cli-side-note{margin:.85rem 0 0;color:var(--muted);line-height:1.55}.showcase-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.2rem;align-items:start}.showcase-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;color:var(--muted);line-height:1.55;font-size:.95rem}.showcase-media{margin:0;display:flex;flex-direction:column;gap:.5rem}.showcase-media img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid rgba(15,118,110,.7);box-shadow:0 22px 45px #000000a6;object-fit:cover}.showcase-media figcaption{font-size:.82rem;color:var(--muted);text-align:left}@media(max-width:900px){.showcase-grid{grid-template-columns:minmax(0,1fr)}.showcase-media figcaption{text-align:center}}.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.2rem;align-items:center}@media(max-width:640px){.code-card{margin:.9rem 0}.code-pre{font-size:.82rem}}.pwa-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(520px,calc(100vw - 36px));pointer-events:none}.pwa-toast{pointer-events:auto;position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 12px 12px 14px;border-radius:18px;background:linear-gradient(to bottom,#011816eb,#020617d1);border:1px solid rgba(45,212,191,.28);box-shadow:0 22px 45px #000000b3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;animation:pwa-toast-in .18s ease-out}.pwa-toast-glow{position:absolute;inset:-40% -20% auto;height:140%;background:radial-gradient(circle at top left,rgba(30,230,163,.18),rgba(6,182,212,.12),transparent 60%);filter:blur(10px);pointer-events:none}.pwa-toast-left{display:flex;align-items:center;gap:12px;min-width:0}.pwa-toast-icon{flex-shrink:0;width:36px;height:36px;border-radius:14px;background:radial-gradient(circle at top left,#064e3b,#011816);border:1px solid rgba(34,197,154,.55);box-shadow:0 0 18px #22c59a38;display:grid;place-items:center;gap:0}.pwa-dot{display:inline-block;width:7px;height:7px;border-radius:999px;margin:0 1px}.pwa-dot-red{background:#f97316}.pwa-dot-yellow{background:#eab308}.pwa-dot-green{background:#22c55e}.pwa-toast-text{min-width:0}.pwa-toast-title{font-size:.92rem;font-weight:750;letter-spacing:-.2px;color:#eafffb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40ch}.pwa-toast-sub{margin-top:2px;font-size:.82rem;color:var(--muted);line-height:1.25;max-width:56ch}.pwa-toast-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.pwa-btn{border-radius:999px;font-size:.82rem;padding:.46rem .85rem;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;white-space:nowrap}.pwa-btn:active{transform:translateY(1px)}.pwa-btn-ghost{background:#022c2280;color:#e5f9f6;border-color:#2dd4bf38}.pwa-btn-ghost:hover{background:#023c2f99;border-color:#2dd4bf66;transform:translateY(-1px)}.pwa-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#01201f;font-weight:650;box-shadow:0 14px 28px #0c948859}.pwa-btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 34px #0c94888c}@keyframes pwa-toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pwa-toast-version{margin-left:.4rem;padding:.12rem .45rem;border-radius:999px;border:1px solid rgba(45,212,191,.25);background:#022c2266;color:#a7f3d0;font-weight:800;font-size:.75rem}@media(max-width:640px){.pwa-toast-wrap{right:12px;left:12px;bottom:12px;max-width:none}.pwa-toast{gap:12px;padding:12px;border-radius:20px}.pwa-toast-title{max-width:28ch}}@media(max-width:640px){.pwa-toast-actions{display:flex;flex-direction:column;gap:8px}}#app,main,section,.section,.section.alt,.site-footer{background:transparent!important;background-image:none!important}.card{background:#ffffff08!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.terminal,.code-card{background:#020617c7!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.terminal-head,.code-head,.code-header{background:#020617e0!important;background-image:none!important}.terminal-body,.code-body{background:#020617ad!important;background-image:none!important}.terminal-body pre,.code-pre,.code-pre>code{background:transparent!important}.section,.section.alt,.site-footer,.card{border:none!important;border-top:none!important;border-bottom:none!important}.section,.section.alt,.site-footer{box-shadow:none!important}.section:before,.section:after,.site-footer:before,.site-footer:after{content:none!important;display:none!important}.divider,.section-divider,.hr,hr{display:none!important;height:0!important;border:0!important;background:none!important}.section,.site-footer{border:0!important}hr{display:none!important} diff --git a/index.html b/index.html index e4a7ca623..8db7fa181 100644 --- a/index.html +++ b/index.html @@ -99,8 +99,8 @@ gtag("js", new Date()); gtag("config", "G-1B67VYZMXF"); - - + + diff --git a/sw.js b/sw.js index 3b408642c..935d27635 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(i,l)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let r={};const a=e=>n(e,o),t={module:{uri:o},exports:r,require:a};s[o]=Promise.all(i.map(e=>t[e]||a(e))).then(e=>(l(...e),r))}}define(["./workbox-4f6fa108"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"posts.json",revision:"d1db5d7bc404332bf9c64bae6a582fa2"},{url:"index.html",revision:"3f81762f09dca47c94004f915a9be019"},{url:"404.html",revision:"c70286711c3fb2c8637c48681e01c26c"},{url:"assets/workbox-window.prod.es5-BIl4cyR9.js",revision:null},{url:"assets/index-WJMByNKR.css",revision:null},{url:"assets/index-C6ZJQ5UD.js",revision:null},{url:"assets/pwa/icon-512.png",revision:null},{url:"assets/pwa/icon-512-maskable.png",revision:null},{url:"assets/pwa/icon-192.png",revision:null},{url:"assets/pwa/favicon.ico",revision:null},{url:"assets/pwa/favicon-32x32.png",revision:null},{url:"assets/pwa/favicon-16x16.png",revision:null},{url:"assets/pwa/apple-touch-icon.png",revision:null},{url:"assets/logo/vix-logo.png",revision:null},{url:"assets/images/vix-ws-chat.png",revision:null},{url:"assets/pwa/apple-touch-icon.png",revision:"f6cd0db43b9103b25ef342fdc57ce543"},{url:"assets/pwa/icon-192.png",revision:"775412ce059fb1369b1a06dcdece4131"},{url:"assets/pwa/icon-512-maskable.png",revision:"06233d228fd8f0f85f31df0b41729a73"},{url:"assets/pwa/icon-512.png",revision:"98f53ba8a5d890783931fb775e8ab2b6"},{url:"manifest.webmanifest",revision:"2fb30fde63743851d7915e529184793a"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"))),e.registerRoute(({request:e})=>"image"===e.destination,new e.CacheFirst({cacheName:"vix-images",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(({request:e})=>"script"===e.destination||"style"===e.destination,new e.StaleWhileRevalidate({cacheName:"vix-static",plugins:[]}),"GET")}); +if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(i,l)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let r={};const a=e=>n(e,o),t={module:{uri:o},exports:r,require:a};s[o]=Promise.all(i.map(e=>t[e]||a(e))).then(e=>(l(...e),r))}}define(["./workbox-4f6fa108"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"posts.json",revision:"d1db5d7bc404332bf9c64bae6a582fa2"},{url:"index.html",revision:"8429bf223b51e136bf0aec8e650e7d71"},{url:"404.html",revision:"c70286711c3fb2c8637c48681e01c26c"},{url:"assets/workbox-window.prod.es5-BIl4cyR9.js",revision:null},{url:"assets/index-DXOty-Dn.js",revision:null},{url:"assets/index-C9-vr4ev.css",revision:null},{url:"assets/pwa/icon-512.png",revision:null},{url:"assets/pwa/icon-512-maskable.png",revision:null},{url:"assets/pwa/icon-192.png",revision:null},{url:"assets/pwa/favicon.ico",revision:null},{url:"assets/pwa/favicon-32x32.png",revision:null},{url:"assets/pwa/favicon-16x16.png",revision:null},{url:"assets/pwa/apple-touch-icon.png",revision:null},{url:"assets/logo/vix-logo.png",revision:null},{url:"assets/images/vix-ws-chat.png",revision:null},{url:"assets/pwa/apple-touch-icon.png",revision:"f6cd0db43b9103b25ef342fdc57ce543"},{url:"assets/pwa/icon-192.png",revision:"775412ce059fb1369b1a06dcdece4131"},{url:"assets/pwa/icon-512-maskable.png",revision:"06233d228fd8f0f85f31df0b41729a73"},{url:"assets/pwa/icon-512.png",revision:"98f53ba8a5d890783931fb775e8ab2b6"},{url:"manifest.webmanifest",revision:"2fb30fde63743851d7915e529184793a"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"))),e.registerRoute(({request:e})=>"image"===e.destination,new e.CacheFirst({cacheName:"vix-images",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(({request:e})=>"script"===e.destination||"style"===e.destination,new e.StaleWhileRevalidate({cacheName:"vix-static",plugins:[]}),"GET")}); diff --git a/vix-site/src/data/github_stats.json b/vix-site/src/data/github_stats.json index af83ba044..0fb427546 100644 --- a/vix-site/src/data/github_stats.json +++ b/vix-site/src/data/github_stats.json @@ -1,6 +1,6 @@ { "repo": "vixcpp/vix", - "fetched_at": "2026-02-08T17:48:27.482Z", + "fetched_at": "2026-02-08T18:03:48.495Z", "stars": 266, "forks": 22, "open_issues": 182, diff --git a/vix-site/src/pages/Home.vue b/vix-site/src/pages/Home.vue index a1185b39f..aa564458a 100644 --- a/vix-site/src/pages/Home.vue +++ b/vix-site/src/pages/Home.vue @@ -59,12 +59,12 @@ onMounted(async () => { - + /> -->