1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["_build/assets/_...404_-CMYMqbJP.js","_build/assets/tr-pkHAcXFO.js","_build/assets/index-DWFYODya.js","_build/assets/HttpStatusCode-qYNerCsA.js","_build/assets/logo-ornate-dark-CCGQN_4x.js","_build/assets/i18n-CawYd3iN.js","_build/assets/_..-BfykJ4fq.css","_build/assets/black-DBsDiJKI.js","_build/assets/config-pKi-6yeX.js","_build/assets/server-runtime-Cf0dfMOw.js","_build/assets/query-LvP-HwZU.js","_build/assets/language-picker-Bs0jmBPR.js","_build/assets/dropdown-DSzmBMZk.js","_build/assets/icon-CDRGhZ5h.js","_build/assets/dropdown-BwAG2emZ.css","_build/assets/language-picker-pPcoMiyM.css","_build/assets/locale-links-C1oHlqqt.js","_build/assets/createAsync-DGaaIw3L.js","_build/assets/components-C-sB9ogP.js","_build/assets/black-DAxw319T.css","_build/assets/index-BriIxFx6.js","_build/assets/email-signup-CmFMy5Fi.js","_build/assets/action-BlYoJ0D9.js","_build/assets/index-1sfM1UcT.js","_build/assets/U42ECMND-CpGP6a5I.js","_build/assets/faq-D8OR1T4_.js","_build/assets/footer-o6Zpfha0.js","_build/assets/footer-BBCO41N-.css","_build/assets/legal-DBfe-3QG.js","_build/assets/index-C1kvjbTM.css","_build/assets/temp-D28ymBsj.js","_build/assets/workspace-CK_jK2tm.js","_build/assets/workspace-B0c4sv11.css","_build/assets/modal-DkVoi4N_.css","_build/assets/_id_-jTcB1AvL.js","_build/assets/index-Caw4HzP2.js","_build/assets/index-kSk6V_N2.js","_build/assets/workspace-CNgcyJ1u.js","_build/assets/workspace-muDapQNN.css","_build/assets/index-UnhrgBsG.js","_build/assets/index-BxaPSr3H.css","_build/assets/index-BPq3eQKc.js","_build/assets/index-eBOtcmCM.css","_build/assets/index-5UbOJ4rm.js","_build/assets/index-0-Zqa_fK.css","_build/assets/index-CHWuqxYT.js","_build/assets/index-CMiqRuQn.css","_build/assets/index-CwyY3-cf.js","_build/assets/index-U96TH_Xl.css","_build/assets/_id_-DPIrY9Js.js","_build/assets/common-p_mtfw9x.js","_build/assets/_id_-VPFpqBel.css","_build/assets/index-D28F_a5T.js","_build/assets/index-D4TGW9ok.css","_build/assets/index-DBndBn0h.js","_build/assets/index-C-xp2F9X.css","_build/assets/index-CNnMuZL-.js","_build/assets/index-XBzuS4q3.css","_build/assets/index-C6u3i3aP.js","_build/assets/form-error-DUzwAO89.js","_build/assets/index-3YHSiEJn.css","_build/assets/index-2TmZWqT-.js","_build/assets/index-CEMvGU2l.css","_build/assets/index-DNlyuhZH.js","_build/assets/index-DZHBydUj.css","_build/assets/index-gNAZWBGp.js","_build/assets/index--R0W6DcE.css","_build/assets/index-CaaOfi-B.js","_build/assets/index-qIxOCzsr.css","_build/assets/index-ByX1pr1S.js","_build/assets/index-C6fsJlvo.css","_build/assets/index-B0ayvQmm.js","_build/assets/index-BgNzH81d.css"])))=>i.map(i=>d[i]); 2import { V as hydrate, g as children, m as createMemo, i as createComponent, Z as memo, U as getOwner, af as untrack, S as Show, a0 as on, p as createRoot, q as createSignal, a1 as onCleanup, a9 as sharedConfig, s as delegateEvents, Y as lazy, b as Suspense, R as getNextElement, W as insert$1, E as ErrorBoundary$1, ae as template } from "./tr-pkHAcXFO.js"; 3import { L as Link, M as Meta, a as MetaProvider, T as Title } from "./index-DWFYODya.js"; 4import { s as strip, a as LanguageProvider, I as I18nProvider, u as useI18n } from "./i18n-CawYd3iN.js"; 5import { d as createBranches, f as createRouterContext, a as RouterContextObj, j as setInPreloadFn, g as getIntent, e as createRouteContext, R as RouteContextObj, m as mockBase, k as keepDepth, s as saveCurrentDepth, b as createBeforeLeave, i as notifyIfNotBlocked } from "./query-LvP-HwZU.js"; 6import { b as actions } from "./action-BlYoJ0D9.js"; 7import { H as HttpStatusCode } from "./HttpStatusCode-qYNerCsA.js"; 8function mount(fn, el) { 9 return hydrate(fn, el); 10} 11const createRouterComponent = (router) => (props) => { 12 const { 13 base 14 } = props; 15 const routeDefs = children(() => props.children); 16 const branches = createMemo(() => createBranches(routeDefs(), props.base || "")); 17 let context; 18 const routerState = createRouterContext(router, branches, () => context, { 19 base, 20 singleFlight: props.singleFlight, 21 transformUrl: props.transformUrl 22 }); 23 router.create && router.create(routerState); 24 return createComponent(RouterContextObj.Provider, { 25 value: routerState, 26 get children() { 27 return createComponent(Root, { 28 routerState, 29 get root() { 30 return props.root; 31 }, 32 get preload() { 33 return props.rootPreload || props.rootLoad; 34 }, 35 get children() { 36 return [memo(() => (context = getOwner()) && null), createComponent(Routes, { 37 routerState, 38 get branches() { 39 return branches(); 40 } 41 })]; 42 } 43 }); 44 } 45 }); 46}; 47function Root(props) { 48 const location = props.routerState.location; 49 const params = props.routerState.params; 50 const data = createMemo(() => props.preload && untrack(() => { 51 setInPreloadFn(true); 52 props.preload({ 53 params, 54 location, 55 intent: getIntent() || "initial" 56 }); 57 setInPreloadFn(false); 58 })); 59 return createComponent(Show, { 60 get when() { 61 return props.root; 62 }, 63 keyed: true, 64 get fallback() { 65 return props.children; 66 }, 67 children: (Root2) => createComponent(Root2, { 68 params, 69 location, 70 get data() { 71 return data(); 72 }, 73 get children() { 74 return props.children; 75 } 76 }) 77 }); 78} 79function Routes(props) { 80 const disposers = []; 81 let root; 82 const routeStates = createMemo(on(props.routerState.matches, (nextMatches, prevMatches, prev) => { 83 let equal = prevMatches && nextMatches.length === prevMatches.length; 84 const next = []; 85 for (let i = 0, len = nextMatches.length; i < len; i++) { 86 const prevMatch = prevMatches && prevMatches[i]; 87 const nextMatch = nextMatches[i]; 88 if (prev && prevMatch && nextMatch.route.key === prevMatch.route.key) { 89 next[i] = prev[i]; 90 } else { 91 equal = false;
92 if (disposers[i]) { 93 disposers[i](); 94 } 95 createRoot((dispose) => { 96 disposers[i] = dispose; 97 next[i] = createRouteContext(props.routerState, next[i - 1] || props.routerState.base, createOutlet(() => routeStates()[i + 1]), () => { 98 const routeMatches = props.routerState.matches(); 99 return routeMatches[i] ?? routeMatches[0]; 100 }); 101 }); 102 } 103 } 104 disposers.splice(nextMatches.length).forEach((dispose) => dispose()); 105 if (prev && equal) { 106 return prev; 107 } 108 root = next[0]; 109 return next; 110 })); 111 return createOutlet(() => routeStates() && root)(); 112} 113const createOutlet = (child) => { 114 return () => createComponent(Show, { 115 get when() { 116 return child(); 117 }, 118 keyed: true, 119 children: (child2) => createComponent(RouteContextObj.Provider, { 120 value: child2, 121 get children() { 122 return child2.outlet(); 123 } 124 }) 125 }); 126}; 127function intercept([value, setValue], get, set) { 128 return [value, set ? (v) => setValue(set(v)) : setValue]; 129} 130function createRouter$1(config) { 131 let ignore = false; 132 const wrap = (value) => typeof value === "string" ? { 133 value 134 } : value; 135 const signal = intercept(createSignal(wrap(config.get()), { 136 equals: (a, b) => a.value === b.value && a.state === b.state 137 }), void 0, (next) => { 138 !ignore && config.set(next); 139 if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = true; 140 return next; 141 }); 142 config.init && onCleanup(config.init((value = config.get()) => { 143 ignore = true; 144 signal[1](wrap(value)); 145 ignore = false; 146 })); 147 return createRouterComponent({ 148 signal, 149 create: config.create, 150 utils: config.utils 151 }); 152} 153function bindEvent(target, type, handler) { 154 target.addEventListener(type, handler); 155 return () => target.removeEventListener(type, handler); 156} 157function scrollToHash(hash, fallbackTop) { 158 const el = hash && document.getElementById(hash); 159 if (el) { 160 el.scrollIntoView(); 161 } else if (fallbackTop) { 162 window.scrollTo(0, 0); 163 } 164} 165function setupNativeEvents(preload2 = true, explicitLinks = false, actionBase = "/_server", transformUrl) { 166 return (router) => { 167 const basePath = router.base.path(); 168 const navigateFromRoute = router.navigatorFactory(router.base); 169 let preloadTimeout; 170 let lastElement; 171 function isSvg(el) { 172 return el.namespaceURI === "http://www.w3.org/2000/svg"; 173 } 174 function handleAnchor(evt) { 175 if (evt.defaultPrevented || evt.button !== 0 || evt.metaKey || evt.altKey || evt.ctrlKey || evt.shiftKey) return; 176 const a = evt.composedPath().find((el) => el instanceof Node && el.nodeName.toUpperCase() === "A"); 177 if (!a || explicitLinks && !a.hasAttribute("link")) return; 178 const svg = isSvg(a); 179 const href = svg ? a.href.baseVal : a.href; 180 const target = svg ? a.target.baseVal : a.target; 181 if (target || !href && !a.hasAttribute("state")) return; 182 const rel = (a.getAttribute("rel") || "").split(/\s+/); 183 if (a.hasAttribute("download") || rel && rel.includes("external")) return; 184 const url = svg ? new URL(href, document.baseURI) : new URL(href); 185 if (url.origin !== window.location.origin || basePath && url.pathname && !url.pathname.toLowerCase().startsWith(basePath.toLowerCase())) return; 186 return [a, url]; 187 } 188 function handleAnchorClick(evt) { 189 const res = handleAnchor(evt); 190 if (!res) return; 191 const [a, url] = res; 192 const to = router.parsePath(url.pathname + url.search + url.hash); 193 const state = a.getAttribute("state"); 194 evt.preventDefault(); 195 navigateFromRoute(to, { 196 resolve: false, 197 replace: a.hasAttribute("replace"), 198 scroll: !a.hasAttribute("noscroll"), 199 state: state ? JSON.parse(state) : void 0 200 }); 201 } 202 function handleAnchorPreload(evt) { 203 const res = handleAnchor(evt); 204 if (!res) return; 205 const [a, url] = res; 206 transformUrl && (url.pathname = transformUrl(url.pathname)); 207 router.preloadRoute(url, a.getAttribute("preload") !== "fal
207se"); 208 } 209 function handleAnchorMove(evt) { 210 clearTimeout(preloadTimeout); 211 const res = handleAnchor(evt); 212 if (!res) return lastElement = null; 213 const [a, url] = res; 214 if (lastElement === a) return; 215 transformUrl && (url.pathname = transformUrl(url.pathname)); 216 preloadTimeout = setTimeout(() => { 217 router.preloadRoute(url, a.getAttribute("preload") !== "false"); 218 lastElement = a; 219 }, 20); 220 } 221 function handleFormSubmit(evt) { 222 if (evt.defaultPrevented) return; 223 let actionRef = evt.submitter && evt.submitter.hasAttribute("formaction") ? evt.submitter.getAttribute("formaction") : evt.target.getAttribute("action"); 224 if (!actionRef) return; 225 if (!actionRef.startsWith("https://action/")) { 226 const url = new URL(actionRef, mockBase); 227 actionRef = router.parsePath(url.pathname + url.search); 228 if (!actionRef.startsWith(actionBase)) return; 229 } 230 if (evt.target.method.toUpperCase() !== "POST") throw new Error("Only POST forms are supported for Actions"); 231 const handler = actions.get(actionRef); 232 if (handler) { 233 evt.preventDefault(); 234 const data = new FormData(evt.target, evt.submitter); 235 handler.call({ 236 r: router, 237 f: evt.target 238 }, evt.target.enctype === "multipart/form-data" ? data : new URLSearchParams(data)); 239 } 240 } 241 delegateEvents(["click", "submit"]); 242 document.addEventListener("click", handleAnchorClick); 243 if (preload2) { 244 document.addEventListener("mousemove", handleAnchorMove, { 245 passive: true 246 }); 247 document.addEventListener("focusin", handleAnchorPreload, { 248 passive: true 249 }); 250 document.addEventListener("touchstart", handleAnchorPreload, { 251 passive: true 252 }); 253 } 254 document.addEventListener("submit", handleFormSubmit); 255 onCleanup(() => { 256 document.removeEventListener("click", handleAnchorClick); 257 if (preload2) { 258 document.removeEventListener("mousemove", handleAnchorMove); 259 document.removeEventListener("focusin", handleAnchorPreload); 260 document.removeEventListener("touchstart", handleAnchorPreload); 261 } 262 document.removeEventListener("submit", handleFormSubmit); 263 }); 264 }; 265} 266function Router(props) { 267 const getSource = () => { 268 const url = window.location.pathname.replace(/^\/+/, "/") + window.location.search; 269 const state = window.history.state && window.history.state._depth && Object.keys(window.history.state).length === 1 ? void 0 : window.history.state; 270 return { 271 value: url + window.location.hash, 272 state 273 }; 274 }; 275 const beforeLeave = createBeforeLeave(); 276 return createRouter$1({ 277 get: getSource, 278 set({ 279 value, 280 replace, 281 scroll, 282 state 283 }) { 284 if (replace) { 285 window.history.replaceState(keepDepth(state), "", value); 286 } else { 287 window.history.pushState(state, "", value); 288 } 289 scrollToHash(decodeURIComponent(window.location.hash.slice(1)), scroll); 290 saveCurrentDepth(); 291 }, 292 init: (notify) => bindEvent(window, "popstate", notifyIfNotBlocked(notify, (delta) => { 293 if (delta) { 294 return !beforeLeave.confirm(delta); 295 } else { 296 const s = getSource(); 297 return !beforeLeave.confirm(s.value, { 298 state: s.state 299 }); 300 } 301 })), 302 create: setupNativeEvents(props.preload, props.explicitLinks, props.actionBase, props.transformUrl), 303 utils: { 304 go: (delta) => window.history.go(delta), 305 beforeLeave 306 } 307 })(props); 308} 309const scriptRel = "modulepreload"; 310const assetsURL = function(dep) { 311 return "/" + dep; 312}; 313const seen = {}; 314const __vitePreload = function preload(baseModule, deps, importerUrl) { 315 let promise = Promise.resolve(); 316 if (deps && deps.length > 0) { 317 let allSettled = function(promises$2) { 318 return Promise.all(promises$2.map((p) => Promise.resolve(p).then((value$1) => ({ 319 status: "fulfilled", 320 value: value$1 321 }), (reason) => ({ 322 status: "rejected", 323 reason 324 })))); 325 }; 326 document.getElementsByTagName("link"); 327 const cspNonceMeta = document.querySelector("meta[property=csp-nonce]"); 328 const cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce"); 329 promise = allSettled(deps.map((dep) => { 330 dep = assetsURL(dep); 331 if (dep in seen) return; 332 seen[dep] = true;
333 const isCss = dep.endsWith(".css"); 334 const cssSelector = isCss ? '[rel="stylesheet"]' : ""; 335 if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) return; 336 const link = document.createElement("link"); 337 link.rel = isCss ? "stylesheet" : scriptRel; 338 if (!isCss) link.as = "script"; 339 link.crossOrigin = ""; 340 link.href = dep; 341 if (cspNonce) link.setAttribute("nonce", cspNonce); 342 document.head.appendChild(link); 343 if (isCss) return new Promise((res, rej) => { 344 link.addEventListener("load", res); 345 link.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`))); 346 }); 347 })); 348 } 349 function handlePreloadError(err$2) { 350 const e$1 = new Event("vite:preloadError", { cancelable: true }); 351 e$1.payload = err$2; 352 window.dispatchEvent(e$1); 353 if (!e$1.defaultPrevented) throw err$2; 354 } 355 return promise.then((res) => { 356 for (const item of res || []) { 357 if (item.status !== "rejected") continue; 358 handlePreloadError(item.reason); 359 } 360 return baseModule().catch(handlePreloadError); 361 }); 362}; 363const fileRoutes = [{ "page": true, "$component": { "src": "src/routes/[...404].tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 364 /* @vite-ignore */ 365 "./_...404_-CMYMqbJP.js" 366), true ? __vite__mapDeps([0,1,2,3,4,5,6]) : void 0), "import": () => __vitePreload(() => import( 367 /* @vite-ignore */ 368 "./_...404_-CMYMqbJP.js" 369), true ? __vite__mapDeps([0,1,2,3,4,5,6]) : void 0) }, "path": "/*404" }, { "page": true, "$component": { "src": "src/routes/black.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 370 /* @vite-ignore */ 371 "./black-DBsDiJKI.js" 372), true ? __vite__mapDeps([7,1,2,8,9,10,5,11,12,13,14,15,16,17,18,19]) : void 0), "import": () => __vitePreload(() => import( 373 /* @vite-ignore */ 374 "./black-DBsDiJKI.js" 375), true ? __vite__mapDeps([7,1,2,8,9,10,5,11,12,13,14,15,16,17,18,19]) : void 0) }, "path": "/black" }, { "page": true, "$component": { "src": "src/routes/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 376 /* @vite-ignore */ 377 "./index-BriIxFx6.js" 378), true ? __vite__mapDeps([20,1,2,13,21,9,5,22,10,23,24,25,26,4,8,18,17,27,28,11,12,14,15,16,29]) : void 0), "import": () => __vitePreload(() => import( 379 /* @vite-ignore */ 380 "./index-BriIxFx6.js" 381), true ? __vite__mapDeps([20,1,2,13,21,9,5,22,10,23,24,25,26,4,8,18,17,27,28,11,12,14,15,16,29]) : void 0) }, "path": "/" }, { "page": true, "$component": { "src": "src/routes/temp.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 382 /* @vite-ignore */ 383 "./temp-D28ymBsj.js" 384), true ? __vite__mapDeps([30,1,2,4,13,5,29]) : void 0), "import": () => __vitePreload(() => import( 385 /* @vite-ignore */ 386 "./temp-D28ymBsj.js" 387), true ? __vite__mapDeps([30,1,2,4,13,5,29]) : void 0) }, "path": "/temp" }, { "page": true, "$component": { "src": "src/routes/workspace.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 388 /* @vite-ignore */ 389 "./workspace-CK_jK2tm.js" 390), true ? __vite__mapDeps([31,1,9,13,12,5,14,23,24,10,22,17,18,32,33]) : void 0), "import": () => __vitePreload(() => import( 391 /* @vite-ignore */ 392 "./workspace-CK_jK2tm.js" 393), true ? __vite__mapDeps([31,1,9,13,12,5,14,23,24,10,22,17,18,32,33]) : void 0) }, "path": "/workspace" }, { "page": true, "$component": { "src": "src/routes/bench/[id].tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 394 /* @vite-ignore */ 395 "./_id_-jTcB1AvL.js" 396), true ? __vite__mapDeps([34,1,9,2,5,10,17]) : void 0), "import": () => __vitePreload(() => import( 397 /* @vite-ignore */ 398 "./_id_-jTcB1AvL.js" 399), true ? __vite__mapDeps([34,1,9,2,5,10,17]) : void 0) }, "path": "/bench/:id" }, { "page": true, "$component": { "src": "src/routes/bench/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 400 /* @vite-ignore */ 401 "./index-Caw4HzP2.js" 402), true ? __vite__mapDeps([35,1,9,2,5,17,10,18]) : void 0), "import": () => __vitePreload(() => import( 403 /* @vite-ignore */ 404 "./index-Caw4HzP2.js" 405), true ? __vite__mapDeps([35,1,9,2,5,17,10,18]) : void 0) }, "path": "/bench/" }, { "page": true, "$component": { "src": "src/routes/black/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 406 /* @vite-ignore */ 407 "./index-kSk6V_N2.js" 408), true ? __vite__mapDeps([36,1,9,2,5,10,17,18]) : void 0), "import": () => __vitePreload(() => import( 409 /* @vite-ignore */ 410 "./index-kSk6V_N2.js" 411), true ? __vite__mapDeps([36,1,9,2,5,10,17,18]) : void 0) }, "path": "/black/" }, { "page": true, "$component": { "src": "src/routes/black/workspace.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 412 /* @vite-ignore */ 413 "./workspace-CNgcyJ1u.js" 414), true ? __vite__mapDeps([37,1,2,8,9,10,24,5,11,12,13,14,15,17,18,38]) : void 0), "import": () => __vitePreload(() => import( 415 /* @vite-ignore */ 416 "./workspace-CNgcyJ1u.js" 417), true ? __vite__mapDeps([37,1,2,8,9,10,24,5,11,12,13,14,15,17,18,38]) : void 0) }, "path": "/black/workspace" }, { "page": true, "$component": { "src": "src/routes/brand/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 418 /* @vite-ignore */ 419 "./index-UnhrgBsG.js" 420), true ? __vite__mapDeps([39,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,40]) : void 0), "import": () => __vitePreload(() => import( 421 /* @vite-ignore */ 422 "./index-UnhrgBsG.js" 423), true ? __vite__mapDeps([39,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,40]) : void 0) }, "path": "/brand/" }, { "page": true, "$component": { "src": "src/routes/changelog/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 424 /* @vite-ignore */ 425 "./index-BPq3eQKc.js" 426), true ? __vite__mapDeps([41,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,42]) : void 0), "import": () => __vitePreload(() => import( 427 /* @vite-ignore */ 428 "./index-BPq3eQKc.js" 429), true ? __vite__mapDeps([41,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,42]) : void 0) }, "path": "/changelog/" }, { "page": true, "$component": { "src": "src/routes/download/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 430 /* @vite-ignore */ 431 "./index-5UbOJ4rm.js" 432), true ? __vite__mapDeps([43,1,2,25,23,24,26,4,5,8,9,10,18,17,27,13,28,11,12,14,15,16,44]) : void 0), "import": () => __vitePreload(() => import( 433 /* @vite-ignore */ 434 "./index-5UbOJ4rm.js" 435), true ? __vite__mapDeps([43,1,2,25,23,24,26,4,5,8,9,10,18,17,27,13,28,11,12,14,15,16,44]) : void 0) }, "path": "/download/" }, { "page": true, "$component": { "src": "src/routes/enterprise/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 436 /* @vite-ignore */ 437 "./index-CHWuqxYT.js" 438), true ? __vite__mapDeps([45,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,25,23,24,16,46]) : void 0), "import": () => __vitePreload(() => import( 439 /* @vite-ignore */ 440 "./index-CHWuqxYT.js" 441), true ? __vite__mapDeps([45,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,25,23,24,16,46]) : void 0) }, "path": "/enterprise/" }, { "page": true, "$component": { "src": "src/routes/go/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 442 /* @vite-ignore */ 443 "./index-CwyY3-cf.js" 444), true ? __vite__mapDeps([47,1,9,2,21,5,22,10,25,23,24,28,11,12,13,14,15,18,26,4,8,17,27,16,48]) : void 0), "import": () => __vitePreload(() => import( 445 /* @vite-ignore */ 446 "./index-CwyY3-cf.js" 447), true ? __vite__mapDeps([47,1,9,2,21,5,22,10,25,23,24,28,11,12,13,14,15,18,26,4,8,17,27,16,48]) : void 0) }, "path": "/go/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id].tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 448 /* @vite-ignore */ 449 "./_id_-DPIrY9Js.js" 450), true ? __vite__mapDeps([49,1,50,9,10,22,5,28,11,12,13,14,15,18,17,51]) : void 0), "import": () => __vitePreload(() => import( 451 /* @vite-ignore */ 452 "./_id_-DPIrY9Js.js" 453), true ? __vite__mapDeps([49,1,50,9,10,22,5,28,11,12,13,14,15,18,17,51]) : void 0) }, "path": "/workspace/:id" }, { "page": true, "$component": { "src": "src/routes/zen/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 454 /* @vite-ignore */ 455 "./index-D28F_a5T.js" 456), true ? __vite__mapDeps([52,1,9,2,21,5,22,10,25,23,24,28,11,12,13,14,15,18,26,4,8,17,27,16,53]) : void 0), "import": () => __vitePreload(() => import( 457 /* @vite-ignore */ 458 "./index-D28F_a5T.js" 459), true ? __vite__mapDeps([52,1,9,2,21,5,22,10,25,23,24,28,11,12,13,14,15,18,26,4,8,17,27,16,53]) : void 0) }, "path": "/zen/" }, { "page": true, "$component": { "src": "src/routes/legal/privacy-policy/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 460 /* @vite-ignore */ 461 "./index-DBndBn0h.js" 462), true ? __vite__mapDeps([54,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,55,40]) : void 0), "import": () => __vitePreload(() => import( 463 /* @vite-ignore */ 464 "./index-DBndBn0h.js" 465), true ? __vite__mapDeps([54,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,55,40]) : void 0) }, "path": "/legal/privacy-policy/" }, { "page": true, "$component": { "src": "src/routes/legal/terms-of-service/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 466 /* @vite-ignore */ 467 "./index-CNnMuZL-.js" 468), true ? __vite__mapDeps([56,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,57,40]) : void 0), "import": () => __vitePreload(() => import( 469 /* @vite-ignore */ 470 "./index-CNnMuZL-.js" 471), true ? __vite__mapDeps([56,1,2,26,4,5,8,9,10,18,17,27,28,11,12,13,14,15,16,57,40]) : void 0) }, "path": "/legal/terms-of-service/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 472 /* @vite-ignore */ 473 "./index-C6u3i3aP.js" 474), true ? __vite__mapDeps([58,1,5,9,13,10,17,50,22,59,60]) : void 0), "import": () => __vitePreload(() => import( 475 /* @vite-ignore */ 476 "./index-C6u3i3aP.js" 477), true ? __vite__mapDeps([58,1,5,9,13,10,17,50,22,59,60]) : void 0) }, "path": "/workspace/:id/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/billing/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 478 /* @vite-ignore */ 479 "./index-2TmZWqT-.js"
480), true ? __vite__mapDeps([61,1,9,5,50,10,22,59,17,13,62]) : void 0), "import": () => __vitePreload(() => import( 481 /* @vite-ignore */ 482 "./index-2TmZWqT-.js" 483), true ? __vite__mapDeps([61,1,9,5,50,10,22,59,17,13,62]) : void 0) }, "path": "/workspace/:id/billing/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/go/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 484 /* @vite-ignore */ 485 "./index-DNlyuhZH.js" 486), true ? __vite__mapDeps([63,1,9,10,22,50,64,33]) : void 0), "import": () => __vitePreload(() => import( 487 /* @vite-ignore */ 488 "./index-DNlyuhZH.js" 489), true ? __vite__mapDeps([63,1,9,10,22,50,64,33]) : void 0) }, "path": "/workspace/:id/go/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/keys/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 490 /* @vite-ignore */ 491 "./index-gNAZWBGp.js" 492), true ? __vite__mapDeps([65,1,9,13,5,59,22,10,17,66]) : void 0), "import": () => __vitePreload(() => import( 493 /* @vite-ignore */ 494 "./index-gNAZWBGp.js" 495), true ? __vite__mapDeps([65,1,9,13,5,59,22,10,17,66]) : void 0) }, "path": "/workspace/:id/keys/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/members/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 496 /* @vite-ignore */ 497 "./index-CaaOfi-B.js" 498), true ? __vite__mapDeps([67,1,9,5,12,13,14,59,10,22,17,68]) : void 0), "import": () => __vitePreload(() => import( 499 /* @vite-ignore */ 500 "./index-CaaOfi-B.js" 501), true ? __vite__mapDeps([67,1,9,5,12,13,14,59,10,22,17,68]) : void 0) }, "path": "/workspace/:id/members/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/settings/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 502 /* @vite-ignore */ 503 "./index-ByX1pr1S.js" 504), true ? __vite__mapDeps([69,1,9,5,59,10,22,17,70]) : void 0), "import": () => __vitePreload(() => import( 505 /* @vite-ignore */ 506 "./index-ByX1pr1S.js" 507), true ? __vite__mapDeps([69,1,9,5,59,10,22,17,70]) : void 0) }, "path": "/workspace/:id/settings/" }, { "page": true, "$component": { "src": "src/routes/workspace/[id]/usage/index.tsx?pick=default&pick=$css", "build": () => __vitePreload(() => import( 508 /* @vite-ignore */ 509 "./index-B0ayvQmm.js" 510), true ? __vite__mapDeps([71,1,9,5,12,13,14,10,50,22,17,72]) : void 0), "import": () => __vitePreload(() => import( 511 /* @vite-ignore */ 512 "./index-B0ayvQmm.js" 513), true ? __vite__mapDeps([71,1,9,5,12,13,14,10,50,22,17,72]) : void 0) }, "path": "/workspace/:id/usage/" }]; 514const NODE_TYPES = { 515 NORMAL: 0, 516 WILDCARD: 1, 517 PLACEHOLDER: 2 518}; 519function createRouter(options = {}) { 520 const ctx = { 521 options, 522 rootNode: createRadixNode(), 523 staticRoutesMap: {} 524 }; 525 const normalizeTrailingSlash = (p) => options.strictTrailingSlash ? p : p.replace(/\/$/, "") || "/"; 526 if (options.routes) { 527 for (const path in options.routes) { 528 insert(ctx, normalizeTrailingSlash(path), options.routes[path]); 529 } 530 } 531 return { 532 ctx, 533 lookup: (path) => lookup(ctx, normalizeTrailingSlash(path)), 534 insert: (path, data) => insert(ctx, normalizeTrailingSlash(path), data), 535 remove: (path) => remove(ctx, normalizeTrailingSlash(path)) 536 }; 537} 538function lookup(ctx, path) { 539 const staticPathNode = ctx.staticRoutesMap[path]; 540 if (staticPathNode) { 541 return staticPathNode.data; 542 } 543 const sections = path.split("/"); 544 const params = {}; 545 let paramsFound = false; 546 let wildcardNode = null; 547 let node = ctx.rootNode; 548 let wildCardParam = null; 549 for (let i = 0; i < sections.length; i++) { 550 const section = sections[i]; 551 if (node.wildcardChildNode !== null) { 552 wildcardNode = node.wildcardChildNode; 553 wildCardParam = sections.slice(i).join("/"); 554 } 555 const nextNode = node.children.get(section); 556 if (nextNode === void 0) { 557 if (node && node.placeholderChildren.length > 1) { 558 const remaining = sections.length - i; 559 node = node.placeholderChildren.find((c) => c.maxDepth === remaining) || null; 560 } else { 561 node = node.placeholderChildren[0] || null; 562 } 563 if (!node) { 564 break; 565 } 566 if (node.paramName) { 567 params[node.paramName] = section; 568 } 569 paramsFound = true; 570 } else { 571 node = nextNode; 572 } 573 } 574 if ((node === null || node.data === null) && wildcardNode !== null) { 575 node = wildcardNode; 576 params[node.paramName || "_"] = wildCardParam; 577 paramsFound = true; 578 } 579 if (!node) { 580 return null; 581 } 582 if (paramsFound) { 583 return { 584 ...node.data, 585 params: paramsFound ? params : void 0 586 }; 587 } 588 return node.data; 589} 590function insert(ctx, path, data) { 591 let isStaticRoute = true; 592 const sections = path.split("/"); 593 let node = ctx.rootNode; 594 let _unnamedPlaceholderCtr = 0; 595 const matchedNodes = [node]; 596 for (const section of sections) {
597 let childNode; 598 if (childNode = node.children.get(section)) { 599 node = childNode; 600 } else { 601 const type = getNodeType(section); 602 childNode = createRadixNode({ type, parent: node }); 603 node.children.set(section, childNode); 604 if (type === NODE_TYPES.PLACEHOLDER) { 605 childNode.paramName = section === "*" ? `_${_unnamedPlaceholderCtr++}` : section.slice(1); 606 node.placeholderChildren.push(childNode); 607 isStaticRoute = false; 608 } else if (type === NODE_TYPES.WILDCARD) { 609 node.wildcardChildNode = childNode; 610 childNode.paramName = section.slice( 611 3 612 /* "**:" */ 613 ) || "_"; 614 isStaticRoute = false; 615 } 616 matchedNodes.push(childNode); 617 node = childNode; 618 } 619 } 620 for (const [depth, node2] of matchedNodes.entries()) { 621 node2.maxDepth = Math.max(matchedNodes.length - depth, node2.maxDepth || 0); 622 } 623 node.data = data; 624 if (isStaticRoute === true) { 625 ctx.staticRoutesMap[path] = node; 626 } 627 return node; 628} 629function remove(ctx, path) { 630 let success = false; 631 const sections = path.split("/"); 632 let node = ctx.rootNode; 633 for (const section of sections) { 634 node = node.children.get(section); 635 if (!node) { 636 return success; 637 } 638 } 639 if (node.data) { 640 const lastSection = sections.at(-1) || ""; 641 node.data = null; 642 if (Object.keys(node.children).length === 0 && node.parent) { 643 node.parent.children.delete(lastSection); 644 node.parent.wildcardChildNode = null; 645 node.parent.placeholderChildren = []; 646 } 647 success = true; 648 } 649 return success; 650} 651function createRadixNode(options = {}) { 652 return { 653 type: options.type || NODE_TYPES.NORMAL, 654 maxDepth: 0, 655 parent: options.parent || null, 656 children: /* @__PURE__ */ new Map(), 657 data: options.data || null, 658 paramName: options.paramName || null, 659 wildcardChildNode: null, 660 placeholderChildren: [] 661 }; 662} 663function getNodeType(str) { 664 if (str.startsWith("**")) { 665 return NODE_TYPES.WILDCARD; 666 } 667 if (str[0] === ":" || str === "*") { 668 return NODE_TYPES.PLACEHOLDER; 669 } 670 return NODE_TYPES.NORMAL; 671} 672const pageRoutes = defineRoutes(fileRoutes.filter((o) => o.page)); 673function defineRoutes(fileRoutes2) { 674 function processRoute(routes2, route, id, full) { 675 const parentRoute = Object.values(routes2).find((o) => { 676 return id.startsWith(o.id + "/"); 677 }); 678 if (!parentRoute) { 679 routes2.push({ 680 ...route, 681 id, 682 path: id.replace(/\([^)/]+\)/g, "").replace(/\/+/g, "/") 683 }); 684 return routes2; 685 } 686 processRoute(parentRoute.children || (parentRoute.children = []), route, id.slice(parentRoute.id.length)); 687 return routes2; 688 } 689 return fileRoutes2.sort((a, b) => a.path.length - b.path.length).reduce((prevRoutes, route) => { 690 return processRoute(prevRoutes, route, route.path, route.path); 691 }, []); 692} 693createRouter({ 694 routes: fileRoutes.reduce((memo2, route) => { 695 if (!containsHTTP(route)) return memo2; 696 const path = route.path.replace(/\([^)/]+\)/g, "").replace(/\/+/g, "/").replace(/\*([^/]*)/g, (_, m) => `**:${m}`).split("/").map((s) => s.startsWith(":") || s.startsWith("*") ? s : encodeURIComponent(s)).join("/"); 697 if (/:[^/]*\?/g.test(path)) { 698 throw new Error(`Optional parameters are not supported in API routes: ${path}`); 699 } 700 if (memo2[path]) { 701 throw new Error(`Duplicate API routes for "${path}" found at "${memo2[path].route.path}" and "${route.path}"`); 702 } 703 memo2[path] = { 704 route 705 }; 706 return memo2; 707 }, {}) 708}); 709function containsHTTP(route) { 710 return route["$HEAD"] || route["$GET"] || route["$POST"] || route["$PUT"] || route["$PATCH"] || route["$DELETE"]; 711} 712const components = {}; 713function createRoutes() { 714 function createRoute(route) { 715 const component = route.$component && (components[route.$component.src] ??= lazy(route.$component.import)); 716 return { 717 ...route, 718 ...route.$$route ? route.$$route.require().route : void 0, 719 info: { 720 ...route.$$route ? route.$$route.require().route.info : {}, 721 filesystem: true 722 }, 723 component, 724 children: route.children ? route.children.map(createRoute) : void 0 725 }; 726 } 727 const routes2 = pageRoutes.map(createRoute); 728 return routes2; 729} 730let routes; 731const FileRoutes = () => routes || (routes = createRoutes()); 732const Favicon = () => { 733 return [createComponent(Link, { 734 rel: "icon", 735 type: "image/png", 736 href: "/favicon-96x96-v3.png", 737 sizes: "96x96" 738 }), createComponent(Link, { 739 rel: "shortcut icon", 740 href: "/favicon-v3.ico" 741 }), createComponent(Link, { 742 rel: "apple-touch-icon", 743 sizes: "180x180", 744 href: "/apple-touch-icon-v3.png" 745 }), createComponent(Link, { 746 rel: "manifest", 747 href: "/site.webmanifest" 748 }), createComponent(Meta, { 749 name: "apple-mobile-web-app-title", 750 content: "OpenCode" 751 })]; 752}; 753const Font = () => null; 754function AppMeta() { 755 const i18n = useI18n(); 756 return [createComponent(Title, { 757 children: "opencode" 758 }), createComponent(Meta, { 759 name: "description", 760 get content() { 761 return i18n.t("app.meta.description"); 762 } 763 }), createComponent(Favicon, {}), createComponent(Font, {})]; 764} 765function App() { 766 return createComponent(Router, { 767 explicitLinks: true, 768 transformUrl: strip, 769 root: (props) => createComponent(LanguageProvider, { 770 get children() { 771 return createComponent(I18nProvider, { 772 get children() { 773 return createComponent(MetaProvider, { 774 get children() { 775 return [createComponent(AppMeta, {}
775), createComponent(Suspense, { 776 get children() { 777 return props.children; 778 } 779 })]; 780 } 781 }); 782 } 783 }); 784 } 785 }), 786 get children() { 787 return createComponent(FileRoutes, {}); 788 } 789 }); 790} 791var _tmpl$ = /* @__PURE__ */ template(`<span style=font-size:1.5em;text-align:center;position:fixed;left:0px;bottom:55%;width:100%>`); 792const ErrorBoundary = (props) => { 793 const message = "Error | Uncaught Client Exception"; 794 return createComponent(ErrorBoundary$1, { 795 fallback: (error) => { 796 console.error(error); 797 return [(() => { 798 var _el$ = getNextElement(_tmpl$); 799 insert$1(_el$, message); 800 return _el$; 801 })(), createComponent(HttpStatusCode, { 802 code: 500 803 })]; 804 }, 805 get children() { 806 return props.children; 807 } 808 }); 809}; 810function Dummy(props) { 811 return props.children; 812} 813function StartClient() { 814 return createComponent(Dummy, { 815 get children() { 816 return createComponent(Dummy, { 817 get children() { 818 return createComponent(ErrorBoundary, { 819 get children() { 820 return createComponent(App, {}); 821 } 822 }); 823 } 824 }); 825 } 826 }); 827} 828mount(() => createComponent(StartClient, {}), document.getElementById("app"));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.