raktajs 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/rakta.js +66 -12
- package/dist/cli/rakta.js.map +4 -4
- package/dist/forge/devServer.d.ts.map +1 -1
- package/dist/forge/index.js +62 -8
- package/dist/forge/index.js.map +4 -4
- package/dist/index.js +62 -8
- package/dist/index.js.map +4 -4
- package/dist/render/index.js +3 -2
- package/dist/render/index.js.map +3 -3
- package/dist/render/renderer.d.ts.map +1 -1
- package/dist/tide/index.js +3 -2
- package/dist/tide/index.js.map +3 -3
- package/package.json +3 -3
package/dist/cli/rakta.js
CHANGED
|
@@ -795,8 +795,8 @@ async function buildCommand(cwd = process.cwd()) {
|
|
|
795
795
|
import { join as join8 } from "path";
|
|
796
796
|
|
|
797
797
|
// src/forge/devServer.ts
|
|
798
|
-
import { existsSync as existsSync7, readFileSync as readFileSync2, statSync as statSync3 } from "fs";
|
|
799
|
-
import { join as join7 } from "path";
|
|
798
|
+
import { existsSync as existsSync7, readFileSync as readFileSync2, statSync as statSync3, watch } from "fs";
|
|
799
|
+
import { join as join7, relative as relative3 } from "path";
|
|
800
800
|
|
|
801
801
|
// src/render/renderer.ts
|
|
802
802
|
function buildHtmlShell(options) {
|
|
@@ -811,7 +811,8 @@ function buildHtmlShell(options) {
|
|
|
811
811
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
812
812
|
<title>${title}</title>
|
|
813
813
|
${descriptionMeta}
|
|
814
|
-
<link rel="icon" href="${faviconPath}" sizes="any" />
|
|
814
|
+
<link rel="icon" href="${faviconPath}" sizes="any" type="image/x-icon" />
|
|
815
|
+
<link rel="shortcut icon" href="${faviconPath}" type="image/x-icon" />
|
|
815
816
|
<link rel="stylesheet" href="${options.cssPath}" />
|
|
816
817
|
</head>
|
|
817
818
|
<body>
|
|
@@ -950,14 +951,48 @@ ${buildErrors}`);
|
|
|
950
951
|
async function startDevServer(options) {
|
|
951
952
|
const manifest = generateManifest(options.appDir);
|
|
952
953
|
const resolvedPort = resolveDevPort(options.port);
|
|
953
|
-
|
|
954
|
+
let clientOutDir = await buildDevClientBundle(options, manifest);
|
|
955
|
+
let isClientBundleDirty = false;
|
|
956
|
+
let clientBundleRebuild = null;
|
|
957
|
+
function shouldReloadForPath(changedPath) {
|
|
958
|
+
if (changedPath === null)
|
|
959
|
+
return true;
|
|
960
|
+
const relativePath = relative3(options.projectRoot, changedPath).replace(/\\/g, "/");
|
|
961
|
+
return relativePath.length > 0 && !relativePath.startsWith("node_modules/") && !relativePath.startsWith(".rakta/") && !relativePath.startsWith("dist/");
|
|
962
|
+
}
|
|
963
|
+
async function ensureFreshClientBundle() {
|
|
964
|
+
if (!isClientBundleDirty)
|
|
965
|
+
return;
|
|
966
|
+
clientBundleRebuild ??= buildDevClientBundle(options, manifest).then((nextClientOutDir) => {
|
|
967
|
+
clientOutDir = nextClientOutDir;
|
|
968
|
+
isClientBundleDirty = false;
|
|
969
|
+
clientBundleRebuild = null;
|
|
970
|
+
}, (caughtError) => {
|
|
971
|
+
clientBundleRebuild = null;
|
|
972
|
+
throw caughtError;
|
|
973
|
+
});
|
|
974
|
+
await clientBundleRebuild;
|
|
975
|
+
}
|
|
954
976
|
const server = Bun.serve({
|
|
955
977
|
port: resolvedPort,
|
|
956
978
|
hostname: options.host,
|
|
957
|
-
|
|
979
|
+
websocket: {
|
|
980
|
+
open(ws) {
|
|
981
|
+
ws.subscribe("livereload");
|
|
982
|
+
},
|
|
983
|
+
message() {}
|
|
984
|
+
},
|
|
985
|
+
async fetch(request, server2) {
|
|
986
|
+
if (request.url.endsWith("/__livereload")) {
|
|
987
|
+
const upgraded = server2.upgrade(request);
|
|
988
|
+
if (upgraded) {
|
|
989
|
+
return new Response(null);
|
|
990
|
+
}
|
|
991
|
+
}
|
|
958
992
|
const url = new URL(request.url);
|
|
959
993
|
const { pathname } = url;
|
|
960
994
|
if (clientOutDir.length > 0) {
|
|
995
|
+
await ensureFreshClientBundle();
|
|
961
996
|
const clientBundlePath = join7(clientOutDir, pathname);
|
|
962
997
|
if (isReadableFile(clientBundlePath)) {
|
|
963
998
|
return new Response(readFileSync2(clientBundlePath), {
|
|
@@ -982,6 +1017,7 @@ async function startDevServer(options) {
|
|
|
982
1017
|
}
|
|
983
1018
|
return await handler(request);
|
|
984
1019
|
}
|
|
1020
|
+
await ensureFreshClientBundle();
|
|
985
1021
|
const resolved = resolveRouteMode(pathname, options.renderConfig);
|
|
986
1022
|
const searchParams = {};
|
|
987
1023
|
url.searchParams.forEach((value, key) => {
|
|
@@ -1009,17 +1045,35 @@ async function startDevServer(options) {
|
|
|
1009
1045
|
if (result.kind === "failure") {
|
|
1010
1046
|
return new Response(result.reason, { status: result.httpStatus });
|
|
1011
1047
|
}
|
|
1012
|
-
|
|
1048
|
+
const liveReloadScript = `
|
|
1049
|
+
<script>
|
|
1050
|
+
(function() {
|
|
1051
|
+
const ws = new WebSocket("ws://" + location.host + "/__livereload");
|
|
1052
|
+
ws.onmessage = () => location.reload();
|
|
1053
|
+
})();
|
|
1054
|
+
</script>`;
|
|
1055
|
+
const finalHtml = result.html.replace("</body>", `${liveReloadScript}</body>`);
|
|
1056
|
+
return new Response(finalHtml, {
|
|
1013
1057
|
status: result.httpStatus,
|
|
1014
1058
|
headers: result.responseHeaders
|
|
1015
1059
|
});
|
|
1016
1060
|
}
|
|
1017
1061
|
});
|
|
1018
1062
|
const serverPort = typeof server.port === "number" ? server.port : resolvedPort;
|
|
1063
|
+
try {
|
|
1064
|
+
watch(options.projectRoot, { recursive: true }, (_eventType, filename) => {
|
|
1065
|
+
const changedPath = typeof filename === "string" ? join7(options.projectRoot, filename) : null;
|
|
1066
|
+
if (shouldReloadForPath(changedPath)) {
|
|
1067
|
+
isClientBundleDirty = true;
|
|
1068
|
+
server.publish("livereload", "reload");
|
|
1069
|
+
}
|
|
1070
|
+
});
|
|
1071
|
+
} catch {}
|
|
1072
|
+
const displayHost = options.host === "0.0.0.0" || options.host === "::" ? "localhost" : options.host;
|
|
1019
1073
|
return {
|
|
1020
1074
|
port: serverPort,
|
|
1021
1075
|
host: options.host,
|
|
1022
|
-
url: `http://${
|
|
1076
|
+
url: `http://${displayHost}:${serverPort}`,
|
|
1023
1077
|
stop: () => server.stop()
|
|
1024
1078
|
};
|
|
1025
1079
|
}
|
|
@@ -1113,7 +1167,7 @@ import { join as join11 } from "path";
|
|
|
1113
1167
|
|
|
1114
1168
|
// src/auto-import/scanner.ts
|
|
1115
1169
|
import { existsSync as existsSync9, readdirSync as readdirSync3 } from "fs";
|
|
1116
|
-
import { basename, extname, join as join10, relative as
|
|
1170
|
+
import { basename, extname, join as join10, relative as relative4 } from "path";
|
|
1117
1171
|
var DEFAULT_EXTENSIONS = [
|
|
1118
1172
|
".ts",
|
|
1119
1173
|
".tsx",
|
|
@@ -1144,7 +1198,7 @@ function toPascalCase(text) {
|
|
|
1144
1198
|
return text.replace(/[-_.]/g, " ").replace(/\s+(.)/g, (_match, char) => char.toUpperCase()).replace(/^(.)/, (_match, char) => char.toUpperCase());
|
|
1145
1199
|
}
|
|
1146
1200
|
function deriveExportName(filePath, dirPath) {
|
|
1147
|
-
const relativePath =
|
|
1201
|
+
const relativePath = relative4(dirPath, filePath).replace(/\\/g, "/");
|
|
1148
1202
|
const withoutExtension = relativePath.replace(/\.(ts|tsx|js|jsx)$/, "").replace(/\/index$/, "");
|
|
1149
1203
|
return toPascalCase(withoutExtension.replace(/\//g, "_"));
|
|
1150
1204
|
}
|
|
@@ -1182,11 +1236,11 @@ function scanForExports(options) {
|
|
|
1182
1236
|
const directoryAbs = join10(options.frontendRoot, directory);
|
|
1183
1237
|
const files = walkDirectory(directoryAbs, extensions);
|
|
1184
1238
|
for (const filePath of files) {
|
|
1185
|
-
const relativeFromOutput =
|
|
1239
|
+
const relativeFromOutput = relative4(outputAbs, filePath).replace(/\\/g, "/").replace(/\.(ts|tsx)$/, "");
|
|
1186
1240
|
const importPath = relativeFromOutput.startsWith(".") ? relativeFromOutput : `./${relativeFromOutput}`;
|
|
1187
1241
|
discovered.push({
|
|
1188
1242
|
name: deriveExportName(filePath, directoryAbs),
|
|
1189
|
-
filePath:
|
|
1243
|
+
filePath: relative4(options.frontendRoot, filePath).replace(/\\/g, "/"),
|
|
1190
1244
|
importPath,
|
|
1191
1245
|
kind: detectKind(filePath)
|
|
1192
1246
|
});
|
|
@@ -1777,4 +1831,4 @@ ${BOLD}${RED}Rakta.js error:${RESET} ${errorMessage}
|
|
|
1777
1831
|
process.exit(1);
|
|
1778
1832
|
});
|
|
1779
1833
|
|
|
1780
|
-
//# debugId=
|
|
1834
|
+
//# debugId=ACBE00BFA61391DE64756E2164756E21
|
package/dist/cli/rakta.js.map
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"import { existsSync, mkdirSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { generateManifest, writeManifest } from \"../router/manifest\";\nimport { writeClientEntry } from \"./clientEntry\";\nimport type {\n\tForgeBuildArtifact,\n\tForgeBuildOptions,\n\tForgeBuildResult,\n} from \"./types\";\n\n/**\n * Runs the Rakta.js Forge build pipeline.\n * Uses Bun.build for bundling. Generates a route manifest alongside the bundle.\n */\nexport async function buildProject(\n\toptions: ForgeBuildOptions,\n): Promise<ForgeBuildResult> {\n\tconst startMs = Date.now();\n\tconst artifacts: ForgeBuildArtifact[] = [];\n\tconst errors: string[] = [];\n\n\tmkdirSync(resolve(options.outDir), { recursive: true });\n\n\t// Generate and write route manifest\n\tconst manifest = generateManifest(options.appDir);\n\tconst manifestPath = join(options.outDir, \"route-manifest.json\");\n\twriteManifest(manifest, manifestPath);\n\n\tconst manifestContent = JSON.stringify(manifest);\n\tartifacts.push({\n\t\toutputPath: manifestPath,\n\t\tsizeBytes: new TextEncoder().encode(manifestContent).byteLength,\n\t\tkind: \"manifest\",\n\t});\n\n\tconst entryPoint = existsSync(options.entryPoint)\n\t\t? options.entryPoint\n\t\t: writeClientEntry({\n\t\t\t\tprojectRoot: options.projectRoot,\n\t\t\t\tappDir: options.appDir,\n\t\t\t\tworkDir: join(options.projectRoot, \".rakta\"),\n\t\t\t\tmanifest,\n\t\t\t});\n\n\t// Build JavaScript bundle\n\tconst buildResult = await Bun.build({\n\t\tentrypoints: [entryPoint],\n\t\toutdir: options.outDir,\n\t\ttarget: options.target,\n\t\tminify: options.minify,\n\t\tsourcemap: options.sourcemap ? \"external\" : \"none\",\n\t\tsplitting: options.splitting,\n\t\tnaming: {\n\t\t\tentry: \"app.[ext]\",\n\t\t\tchunk: \"chunks/[name]-[hash].[ext]\",\n\t\t\tasset: \"assets/[name]-[hash].[ext]\",\n\t\t},\n\t});\n\n\tif (!buildResult.success) {\n\t\tfor (const log of buildResult.logs) {\n\t\t\terrors.push(log.message);\n\t\t}\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\tartifacts,\n\t\t\tmanifest,\n\t\t\tbuildMs: Date.now() - startMs,\n\t\t\terrors,\n\t\t};\n\t}\n\n\tfor (const output of buildResult.outputs) {\n\t\tartifacts.push({\n\t\t\toutputPath: output.path,\n\t\t\tsizeBytes: output.size,\n\t\t\tkind: output.path.endsWith(\".css\") ? \"stylesheet\" : \"script\",\n\t\t});\n\t}\n\n\treturn {\n\t\tsuccess: true,\n\t\tartifacts,\n\t\tmanifest,\n\t\tbuildMs: Date.now() - startMs,\n\t\terrors: [],\n\t};\n}\n",
|
|
14
14
|
"import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, relative } from \"node:path\";\nimport type { RouteManifest, RouteManifestEntry } from \"../router/types\";\n\nexport interface ClientEntryOptions {\n\treadonly projectRoot: string;\n\treadonly appDir: string;\n\treadonly workDir: string;\n\treadonly manifest: RouteManifest;\n}\n\nfunction toModuleSpecifier(fromFile: string, targetFile: string): string {\n\tconst relativePath = relative(dirname(fromFile), targetFile).replace(\n\t\t/\\\\/g,\n\t\t\"/\",\n\t);\n\n\tif (relativePath.startsWith(\".\")) {\n\t\treturn relativePath;\n\t}\n\n\treturn `./${relativePath}`;\n}\n\nfunction toCssImportSpecifier(\n\tentryPath: string,\n\tprojectRoot: string,\n): string | null {\n\tconst candidates = [\n\t\tjoin(projectRoot, \"styles\", \"globals.css\"),\n\t\tjoin(projectRoot, \"styles\", \"globals.scss\"),\n\t\tjoin(projectRoot, \"styles\", \"globals.sass\"),\n\t];\n\n\tconst stylePath = candidates.find((candidate) => existsSync(candidate));\n\n\tif (!stylePath) {\n\t\treturn null;\n\t}\n\n\treturn toModuleSpecifier(entryPath, stylePath);\n}\n\nfunction getPageRoutes(manifest: RouteManifest): RouteManifestEntry[] {\n\treturn manifest.routes.filter((route) => route.kind === \"page\");\n}\n\nfunction buildRouteImports(\n\tentryPath: string,\n\tappDir: string,\n\tpageRoutes: ReadonlyArray<RouteManifestEntry>,\n): string {\n\tconst routeEntries = pageRoutes\n\t\t.map((route) => {\n\t\t\tconst pagePath = join(appDir, route.filePath);\n\t\t\treturn ` ${JSON.stringify(route.urlPattern)}: () => import(\"${toModuleSpecifier(entryPath, pagePath)}\"),`;\n\t\t})\n\t\t.join(\"\\n\");\n\n\treturn `const routeModules = {\\n${routeEntries}\\n} as const;`;\n}\n\nfunction buildRouteTable(\n\tpageRoutes: ReadonlyArray<RouteManifestEntry>,\n): string {\n\tconst routeEntries = pageRoutes\n\t\t.map(\n\t\t\t(route) =>\n\t\t\t\t` ${JSON.stringify(route.urlPattern)}: routeModules[${JSON.stringify(route.urlPattern)}],`,\n\t\t)\n\t\t.join(\"\\n\");\n\n\treturn `const routes = {\\n${routeEntries}\\n} as const;`;\n}\n\nfunction findExistingModule(\n\tbasePathWithoutExtension: string,\n): string | undefined {\n\tconst candidates = [\".tsx\", \".ts\", \".jsx\", \".js\"].map(\n\t\t(extension) => `${basePathWithoutExtension}${extension}`,\n\t);\n\n\treturn candidates.find((candidate) => existsSync(candidate));\n}\n\nfunction buildStarterGlobalLoaders(entryPath: string, appDir: string): string {\n\tconst mascotPath = findExistingModule(\n\t\tjoin(appDir, \"components\", \"raktaShrimpMascot\"),\n\t);\n\tconst gamePath = findExistingModule(\n\t\tjoin(appDir, \"components\", \"shrimpRunGame\"),\n\t);\n\tconst loaders: string[] = [];\n\n\tif (mascotPath !== undefined) {\n\t\tloaders.push(` const mascotModule = await import(\"${toModuleSpecifier(entryPath, mascotPath)}\");\n (globalThis as typeof globalThis & Record<string, unknown>).RaktaShrimpMascot = mascotModule.default;`);\n\t}\n\n\tif (gamePath !== undefined) {\n\t\tloaders.push(` const gameModule = await import(\"${toModuleSpecifier(entryPath, gamePath)}\");\n (globalThis as typeof globalThis & Record<string, unknown>).ShrimpRunGame = gameModule.default;`);\n\t}\n\n\tif (loaders.length === 0) {\n\t\treturn `async function loadRaktaGlobals(): Promise<void> {\n return;\n}`;\n\t}\n\n\treturn `async function loadRaktaGlobals(): Promise<void> {\n${loaders.join(\"\\n\\n\")}\n}`;\n}\n\nfunction buildClientEntrySource(\n\toptions: ClientEntryOptions,\n\tentryPath: string,\n): string {\n\tconst pageRoutes = getPageRoutes(options.manifest);\n\tconst routeModules = buildRouteImports(entryPath, options.appDir, pageRoutes);\n\tconst routeTable = buildRouteTable(pageRoutes);\n\tconst cssImportSpecifier = toCssImportSpecifier(\n\t\tentryPath,\n\t\toptions.projectRoot,\n\t);\n\tconst cssImport =\n\t\tcssImportSpecifier !== null ? `import \"${cssImportSpecifier}\";\\n` : \"\";\n\tconst starterGlobalLoaders = buildStarterGlobalLoaders(\n\t\tentryPath,\n\t\toptions.appDir,\n\t);\n\n\treturn `import React, { useEffect, useState } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport * as ReactHooks from \"react\";\n${cssImport}\n(globalThis as typeof globalThis & Record<string, unknown>).useCallback = ReactHooks.useCallback;\n(globalThis as typeof globalThis & Record<string, unknown>).useEffect = ReactHooks.useEffect;\n(globalThis as typeof globalThis & Record<string, unknown>).useRef = ReactHooks.useRef;\n(globalThis as typeof globalThis & Record<string, unknown>).useState = ReactHooks.useState;\n\n${starterGlobalLoaders}\n\nawait loadRaktaGlobals();\n\n${routeModules}\n\n${routeTable}\n\ntype RoutePath = keyof typeof routes;\ntype PageModule = { default: React.ComponentType };\n\nfunction normalizePathname(pathname: string): string {\n if (pathname.length > 1 && pathname.endsWith(\"/\")) {\n return pathname.slice(0, -1);\n }\n\n return pathname;\n}\n\nfunction resolveRouteLoader(pathname: string): () => Promise<PageModule> {\n const normalizedPathname = normalizePathname(pathname) as RoutePath;\n\n return routes[normalizedPathname] ?? routes[\"/\"];\n}\n\nfunction navigate(to: string): void {\n window.history.pushState({ source: \"rakta-click\", to }, \"\", to);\n window.dispatchEvent(new PopStateEvent(\"popstate\", { state: { to } }));\n}\n\nfunction App(): React.ReactElement {\n const [pathname, setPathname] = useState(() => window.location.pathname);\n const [Page, setPage] = useState<React.ComponentType | null>(null);\n\n useEffect(() => {\n function handlePopState(): void {\n setPathname(window.location.pathname);\n }\n\n function handleClick(event: MouseEvent): void {\n const target = event.target;\n\n if (!(target instanceof Element)) {\n return;\n }\n\n const clickElement = target.closest(\"click\");\n\n if (!clickElement) {\n return;\n }\n\n const to = clickElement.getAttribute(\"to\");\n\n if (!to || to.startsWith(\"http://\") || to.startsWith(\"https://\")) {\n return;\n }\n\n event.preventDefault();\n navigate(to);\n setPathname(window.location.pathname);\n }\n\n window.addEventListener(\"popstate\", handlePopState);\n document.addEventListener(\"click\", handleClick);\n\n return () => {\n window.removeEventListener(\"popstate\", handlePopState);\n document.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n let isCurrent = true;\n\n resolveRouteLoader(pathname)().then((pageModule) => {\n if (isCurrent) {\n setPage(() => pageModule.default);\n }\n });\n\n return () => {\n isCurrent = false;\n };\n }, [pathname]);\n\n if (!Page) {\n return React.createElement(\"main\", {\n style: {\n minHeight: \"100vh\",\n display: \"grid\",\n placeItems: \"center\",\n background: \"#050505\",\n color: \"#f8fafc\",\n fontFamily: \"ui-sans-serif, system-ui, sans-serif\",\n },\n }, \"Loading Rakta.js...\");\n }\n\n return React.createElement(Page);\n}\n\nconst rootElement = document.getElementById(\"rakta-root\");\n\nif (!rootElement) {\n throw new Error(\"Rakta.js root element #rakta-root was not found.\");\n}\n\ncreateRoot(rootElement).render(React.createElement(App));\n`;\n}\n\nexport function writeClientEntry(options: ClientEntryOptions): string {\n\tmkdirSync(options.workDir, { recursive: true });\n\n\tconst entryPath = join(options.workDir, \"client-entry.tsx\");\n\tconst entrySource = buildClientEntrySource(options, entryPath);\n\n\twriteFileSync(entryPath, entrySource, \"utf-8\");\n\n\treturn entryPath;\n}\n",
|
|
15
15
|
"import { join } from \"node:path\";\nimport { loadConfig } from \"../config/loadConfig\";\nimport { startDevServer } from \"../forge/devServer\";\n\nexport async function devCommand(cwd: string = process.cwd()): Promise<void> {\n\tconst config = await loadConfig(cwd);\n\n\tconsole.log(`\\n Starting Rakta.js dev server...\\n`);\n\n\tconst server = await startDevServer({\n\t\tprojectRoot: cwd,\n\t\tport: config.port,\n\t\thost: config.server.hostname ?? \"0.0.0.0\",\n\t\tappDir: join(cwd, config.appDir),\n\t\tpublicDir: join(cwd, config.publicDir),\n\t\tappName: config.appName,\n\t\tseo: config.seo,\n\t\trenderConfig: config.render,\n\t});\n\n\tconsole.log(` Ready at ${server.url}\\n`);\n}\n",
|
|
16
|
-
"import { existsSync, readFileSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { resolveRouteMode } from \"../render/modes\";\nimport { render } from \"../render/renderer\";\nimport { generateManifest } from \"../router/manifest\";\nimport { matchRoute } from \"../router/matcher\";\nimport { writeClientEntry } from \"./clientEntry\";\nimport type { ForgeDevServerHandle, ForgeDevServerOptions } from \"./types\";\n\nconst DEFAULT_DEV_PORT = 3000;\n\nconst MIME_MAP: Readonly<Record<string, string>> = {\n\t\".html\": \"text/html; charset=utf-8\",\n\t\".js\": \"application/javascript; charset=utf-8\",\n\t\".mjs\": \"application/javascript; charset=utf-8\",\n\t\".css\": \"text/css; charset=utf-8\",\n\t\".json\": \"application/json; charset=utf-8\",\n\t\".png\": \"image/png\",\n\t\".jpg\": \"image/jpeg\",\n\t\".jpeg\": \"image/jpeg\",\n\t\".webp\": \"image/webp\",\n\t\".svg\": \"image/svg+xml\",\n\t\".ico\": \"image/x-icon\",\n\t\".woff\": \"font/woff\",\n\t\".woff2\": \"font/woff2\",\n\t\".ttf\": \"font/ttf\",\n};\n\nfunction resolveMime(filePath: string): string {\n\tconst ext = filePath.slice(filePath.lastIndexOf(\".\")).toLowerCase();\n\treturn MIME_MAP[ext] ?? \"application/octet-stream\";\n}\n\nfunction resolveDevPort(port: number): number {\n\treturn port > 0 ? port : DEFAULT_DEV_PORT;\n}\n\nfunction isReadableFile(filePath: string): boolean {\n\treturn existsSync(filePath) && statSync(filePath).isFile();\n}\n\nasync function buildDevClientBundle(\n\toptions: ForgeDevServerOptions,\n\tmanifest: ReturnType<typeof generateManifest>,\n): Promise<string> {\n\tconst workDir = join(options.projectRoot, \".rakta\");\n\tconst clientOutDir = join(workDir, \"dev\");\n\tconst clientEntry = writeClientEntry({\n\t\tprojectRoot: options.projectRoot,\n\t\tappDir: options.appDir,\n\t\tworkDir,\n\t\tmanifest,\n\t});\n\n\tconst buildResult = await Bun.build({\n\t\tentrypoints: [clientEntry],\n\t\toutdir: clientOutDir,\n\t\ttarget: \"browser\",\n\t\tsourcemap: \"external\",\n\t\tnaming: {\n\t\t\tentry: \"app.[ext]\",\n\t\t\tchunk: \"chunks/[name]-[hash].[ext]\",\n\t\t\tasset: \"assets/[name]-[hash].[ext]\",\n\t\t},\n\t});\n\n\tif (!buildResult.success) {\n\t\tconst buildErrors = buildResult.logs\n\t\t\t.map((buildLog) => buildLog.message)\n\t\t\t.join(\"\\n\");\n\n\t\tthrow new Error(`Failed to build Rakta.js client bundle.\\n${buildErrors}`);\n\t}\n\n\treturn clientOutDir;\n}\n\ninterface ApiRouteExports {\n\tGET?: (request: Request) => Promise<Response>;\n\tPOST?: (request: Request) => Promise<Response>;\n\tPUT?: (request: Request) => Promise<Response>;\n\tPATCH?: (request: Request) => Promise<Response>;\n\tDELETE?: (request: Request) => Promise<Response>;\n\tHEAD?: (request: Request) => Promise<Response>;\n\tOPTIONS?: (request: Request) => Promise<Response>;\n}\n\n/**\n * Starts the Rakta.js Forge development server.\n * Powered by Bun.serve. HMR is a roadmap feature (v0.2.0).\n */\nexport async function startDevServer(\n\toptions: ForgeDevServerOptions,\n): Promise<ForgeDevServerHandle> {\n\tconst manifest = generateManifest(options.appDir);\n\tconst resolvedPort = resolveDevPort(options.port);\n\
|
|
17
|
-
"import { isRoadmapMode } from \"./modes\";\nimport type {\n\tRenderContext,\n\tRenderFailure,\n\tRenderMode,\n\tRenderResult,\n\tRenderSuccess,\n} from \"./types\";\n\nexport interface RendererOptions {\n\treadonly appName: string;\n\treadonly title?: string | undefined;\n\treadonly description?: string | undefined;\n\treadonly faviconPath?: string | undefined;\n\treadonly scriptPath: string;\n\treadonly cssPath: string;\n\treadonly lang: string;\n}\n\nfunction buildHtmlShell(options: RendererOptions): string {\n\tconst title = options.title ?? options.appName;\n\tconst faviconPath = options.faviconPath ?? \"/favicon.ico\";\n\tconst descriptionMeta =\n\t\toptions.description !== undefined\n\t\t\t? `<meta name=\"description\" content=\"${options.description}\" />`\n\t\t\t: \"\";\n\n\treturn `\n <!DOCTYPE html>\n <html lang=\"${options.lang}\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>${title}</title>\n ${descriptionMeta}\n <link rel=\"icon\" href=\"${faviconPath}\" sizes=\"any\" />\n <link rel=\"stylesheet\" href=\"${options.cssPath}\" />\n </head>\n <body>\n <div id=\"rakta-root\"></div>\n <script type=\"module\" src=\"${options.scriptPath}\"></script>\n </body>\n </html>`;\n}\n\nfunction makeSuccess(\n\thtml: string,\n\tmode: RenderMode,\n\trenderMs: number,\n\thttpStatus: number = 200,\n\tfromCache: boolean = false,\n): RenderSuccess {\n\treturn {\n\t\tkind: \"success\",\n\t\thtml,\n\t\tmode,\n\t\thttpStatus,\n\t\tresponseHeaders: { \"Content-Type\": \"text/html; charset=utf-8\" },\n\t\tfromCache,\n\t\trenderMs,\n\t};\n}\n\nfunction makeFailure(\n\treason: string,\n\tmode: RenderMode,\n\thttpStatus: number = 500,\n): RenderFailure {\n\treturn { kind: \"failure\", reason, mode, httpStatus };\n}\n\n/**\n * Render a page using the resolved mode from the context.\n * Roadmap modes (ssr, ssg, csg) fall back to a CSR shell in v0.1.0.\n */\nexport async function render(\n\tcontext: RenderContext,\n\toptions: RendererOptions,\n): Promise<RenderResult> {\n\tconst startMs = Date.now();\n\n\t// Roadmap modes: fall back to CSR shell with a warning\n\tif (isRoadmapMode(context.mode)) {\n\t\tconsole.warn(\n\t\t\t`[Rakta.js] Render mode \"${context.mode}\" is a roadmap feature (v0.2.0). ` +\n\t\t\t\t`Falling back to CSR for: ${context.routePath}`,\n\t\t);\n\t\treturn makeSuccess(buildHtmlShell(options), \"csr\", Date.now() - startMs);\n\t}\n\n\tswitch (context.mode) {\n\t\tcase \"csr\":\n\t\tcase \"spa\":\n\t\t\treturn makeSuccess(\n\t\t\t\tbuildHtmlShell(options),\n\t\t\t\tcontext.mode,\n\t\t\t\tDate.now() - startMs,\n\t\t\t);\n\n\t\tcase \"hybrid\":\n\t\t\t// Hybrid resolution happens upstream in Tide. If it reaches the renderer\n\t\t\t// as hybrid, the route had no specific override - fall back to CSR.\n\t\t\treturn makeSuccess(buildHtmlShell(options), \"csr\", Date.now() - startMs);\n\n\t\tcase \"ssr\":\n\t\tcase \"ssg\":\n\t\tcase \"csg\":\n\t\t\t// These are already caught by isRoadmapMode above, but TypeScript\n\t\t\t// requires an exhaustive switch for the RenderMode union.\n\t\t\treturn makeFailure(\n\t\t\t\t`Render mode \"${context.mode}\" is not yet implemented.`,\n\t\t\t\tcontext.mode,\n\t\t\t\t501,\n\t\t\t);\n\t}\n}\n\nexport function renderNotFound(options: RendererOptions): RenderSuccess {\n\treturn makeSuccess(buildHtmlShell(options), \"csr\", 0, 404);\n}\n\nexport function renderServerError(\n\treason: string,\n\tmode: RenderMode,\n): RenderFailure {\n\treturn makeFailure(reason, mode, 500);\n}\n",
|
|
16
|
+
"import { existsSync, readFileSync, statSync, watch } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nimport { resolveRouteMode } from \"../render/modes\";\nimport { render } from \"../render/renderer\";\nimport { generateManifest } from \"../router/manifest\";\nimport { matchRoute } from \"../router/matcher\";\nimport { writeClientEntry } from \"./clientEntry\";\nimport type { ForgeDevServerHandle, ForgeDevServerOptions } from \"./types\";\n\nconst DEFAULT_DEV_PORT = 3000;\n\nconst MIME_MAP: Readonly<Record<string, string>> = {\n\t\".html\": \"text/html; charset=utf-8\",\n\t\".js\": \"application/javascript; charset=utf-8\",\n\t\".mjs\": \"application/javascript; charset=utf-8\",\n\t\".css\": \"text/css; charset=utf-8\",\n\t\".json\": \"application/json; charset=utf-8\",\n\t\".png\": \"image/png\",\n\t\".jpg\": \"image/jpeg\",\n\t\".jpeg\": \"image/jpeg\",\n\t\".webp\": \"image/webp\",\n\t\".svg\": \"image/svg+xml\",\n\t\".ico\": \"image/x-icon\",\n\t\".woff\": \"font/woff\",\n\t\".woff2\": \"font/woff2\",\n\t\".ttf\": \"font/ttf\",\n};\n\nfunction resolveMime(filePath: string): string {\n\tconst ext = filePath.slice(filePath.lastIndexOf(\".\")).toLowerCase();\n\treturn MIME_MAP[ext] ?? \"application/octet-stream\";\n}\n\nfunction resolveDevPort(port: number): number {\n\treturn port > 0 ? port : DEFAULT_DEV_PORT;\n}\n\nfunction isReadableFile(filePath: string): boolean {\n\treturn existsSync(filePath) && statSync(filePath).isFile();\n}\n\nasync function buildDevClientBundle(\n\toptions: ForgeDevServerOptions,\n\tmanifest: ReturnType<typeof generateManifest>,\n): Promise<string> {\n\tconst workDir = join(options.projectRoot, \".rakta\");\n\tconst clientOutDir = join(workDir, \"dev\");\n\tconst clientEntry = writeClientEntry({\n\t\tprojectRoot: options.projectRoot,\n\t\tappDir: options.appDir,\n\t\tworkDir,\n\t\tmanifest,\n\t});\n\n\tconst buildResult = await Bun.build({\n\t\tentrypoints: [clientEntry],\n\t\toutdir: clientOutDir,\n\t\ttarget: \"browser\",\n\t\tsourcemap: \"external\",\n\t\tnaming: {\n\t\t\tentry: \"app.[ext]\",\n\t\t\tchunk: \"chunks/[name]-[hash].[ext]\",\n\t\t\tasset: \"assets/[name]-[hash].[ext]\",\n\t\t},\n\t});\n\n\tif (!buildResult.success) {\n\t\tconst buildErrors = buildResult.logs\n\t\t\t.map((buildLog) => buildLog.message)\n\t\t\t.join(\"\\n\");\n\n\t\tthrow new Error(`Failed to build Rakta.js client bundle.\\n${buildErrors}`);\n\t}\n\n\treturn clientOutDir;\n}\n\ninterface ApiRouteExports {\n\tGET?: (request: Request) => Promise<Response>;\n\tPOST?: (request: Request) => Promise<Response>;\n\tPUT?: (request: Request) => Promise<Response>;\n\tPATCH?: (request: Request) => Promise<Response>;\n\tDELETE?: (request: Request) => Promise<Response>;\n\tHEAD?: (request: Request) => Promise<Response>;\n\tOPTIONS?: (request: Request) => Promise<Response>;\n}\n\n/**\n * Starts the Rakta.js Forge development server.\n * Powered by Bun.serve. HMR is a roadmap feature (v0.2.0).\n */\nexport async function startDevServer(\n\toptions: ForgeDevServerOptions,\n): Promise<ForgeDevServerHandle> {\n\tconst manifest = generateManifest(options.appDir);\n\tconst resolvedPort = resolveDevPort(options.port);\n\tlet clientOutDir = await buildDevClientBundle(options, manifest);\n\tlet isClientBundleDirty = false;\n\tlet clientBundleRebuild: Promise<void> | null = null;\n\n\tfunction shouldReloadForPath(changedPath: string | null): boolean {\n\t\tif (changedPath === null) return true;\n\n\t\tconst relativePath = relative(options.projectRoot, changedPath).replace(\n\t\t\t/\\\\/g,\n\t\t\t\"/\",\n\t\t);\n\n\t\treturn (\n\t\t\trelativePath.length > 0 &&\n\t\t\t!relativePath.startsWith(\"node_modules/\") &&\n\t\t\t!relativePath.startsWith(\".rakta/\") &&\n\t\t\t!relativePath.startsWith(\"dist/\")\n\t\t);\n\t}\n\n\tasync function ensureFreshClientBundle(): Promise<void> {\n\t\tif (!isClientBundleDirty) return;\n\n\t\tclientBundleRebuild ??= buildDevClientBundle(options, manifest).then(\n\t\t\t(nextClientOutDir) => {\n\t\t\t\tclientOutDir = nextClientOutDir;\n\t\t\t\tisClientBundleDirty = false;\n\t\t\t\tclientBundleRebuild = null;\n\t\t\t},\n\t\t\t(caughtError: unknown) => {\n\t\t\t\tclientBundleRebuild = null;\n\t\t\t\tthrow caughtError;\n\t\t\t},\n\t\t);\n\n\t\tawait clientBundleRebuild;\n\t}\n\n\tconst server = Bun.serve({\n\t\tport: resolvedPort,\n\t\thostname: options.host,\n\t\twebsocket: {\n\t\t\topen(ws) {\n\t\t\t\tws.subscribe(\"livereload\");\n\t\t\t},\n\t\t\tmessage() {},\n\t\t},\n\n\t\tasync fetch(request: Request, server): Promise<Response> {\n\t\t\tif (request.url.endsWith(\"/__livereload\")) {\n\t\t\t\tconst upgraded = server.upgrade(request);\n\t\t\t\tif (upgraded) {\n\t\t\t\t\treturn new Response(null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst url = new URL(request.url);\n\t\t\tconst { pathname } = url;\n\n\t\t\tif (clientOutDir.length > 0) {\n\t\t\t\tawait ensureFreshClientBundle();\n\t\t\t\tconst clientBundlePath = join(clientOutDir, pathname);\n\n\t\t\t\tif (isReadableFile(clientBundlePath)) {\n\t\t\t\t\treturn new Response(readFileSync(clientBundlePath), {\n\t\t\t\t\t\theaders: { \"Content-Type\": resolveMime(clientBundlePath) },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Serve static files from public dir\n\t\t\tconst publicPath = join(options.publicDir, pathname);\n\t\t\tif (isReadableFile(publicPath)) {\n\t\t\t\treturn new Response(readFileSync(publicPath), {\n\t\t\t\t\theaders: { \"Content-Type\": resolveMime(pathname) },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Match API routes\n\t\t\tconst apiMatch = matchRoute(\n\t\t\t\tpathname,\n\t\t\t\tmanifest.routes.filter((route) => route.kind === \"api\"),\n\t\t\t);\n\n\t\t\tif (apiMatch) {\n\t\t\t\tconst modulePath = join(options.appDir, apiMatch.entry.filePath);\n\t\t\t\tconst routeModule = (await import(modulePath)) as ApiRouteExports;\n\t\t\t\tconst method = request.method.toUpperCase() as keyof ApiRouteExports;\n\t\t\t\tconst handler = routeModule[method];\n\n\t\t\t\tif (typeof handler !== \"function\") {\n\t\t\t\t\treturn new Response(\"Method not allowed\", { status: 405 });\n\t\t\t\t}\n\n\t\t\t\treturn await handler(request);\n\t\t\t}\n\n\t\t\t// Resolve render mode and serve HTML shell for page routes\n\t\t\tawait ensureFreshClientBundle();\n\t\t\tconst resolved = resolveRouteMode(pathname, options.renderConfig);\n\n\t\t\tconst searchParams: Record<string, string> = {};\n\t\t\turl.searchParams.forEach((value, key) => {\n\t\t\t\tsearchParams[key] = value;\n\t\t\t});\n\n\t\t\tconst requestHeaders: Record<string, string> = {};\n\t\t\trequest.headers.forEach((value, key) => {\n\t\t\t\trequestHeaders[key] = value;\n\t\t\t});\n\n\t\t\tconst result = await render(\n\t\t\t\t{\n\t\t\t\t\troutePath: pathname,\n\t\t\t\t\tmode: resolved.mode,\n\t\t\t\t\tparams: {},\n\t\t\t\t\tsearchParams,\n\t\t\t\t\trequestHeaders,\n\t\t\t\t\ttimestampMs: Date.now(),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tappName: options.appName,\n\t\t\t\t\ttitle: options.seo.defaultTitle,\n\t\t\t\t\tdescription: options.seo.defaultDescription,\n\t\t\t\t\tscriptPath: \"/app.js\",\n\t\t\t\t\tcssPath: \"/app.css\",\n\t\t\t\t\tlang: \"en\",\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tif (result.kind === \"failure\") {\n\t\t\t\treturn new Response(result.reason, { status: result.httpStatus });\n\t\t\t}\n\n\t\t\tconst liveReloadScript = `\n<script>\n (function() {\n const ws = new WebSocket(\"ws://\" + location.host + \"/__livereload\");\n ws.onmessage = () => location.reload();\n })();\n</script>`;\n\t\t\tconst finalHtml = result.html.replace(\n\t\t\t\t\"</body>\",\n\t\t\t\t`${liveReloadScript}</body>`,\n\t\t\t);\n\n\t\t\treturn new Response(finalHtml, {\n\t\t\t\tstatus: result.httpStatus,\n\t\t\t\theaders: result.responseHeaders,\n\t\t\t});\n\t\t},\n\t});\n\n\tconst serverPort =\n\t\ttypeof server.port === \"number\" ? server.port : resolvedPort;\n\n\ttry {\n\t\twatch(options.projectRoot, { recursive: true }, (_eventType, filename) => {\n\t\t\tconst changedPath =\n\t\t\t\ttypeof filename === \"string\"\n\t\t\t\t\t? join(options.projectRoot, filename)\n\t\t\t\t\t: null;\n\n\t\t\tif (shouldReloadForPath(changedPath)) {\n\t\t\t\tisClientBundleDirty = true;\n\t\t\t\tserver.publish(\"livereload\", \"reload\");\n\t\t\t}\n\t\t});\n\t} catch {\n\t\t// Some filesystems do not support recursive watch. The dev server still runs.\n\t}\n\n\tconst displayHost =\n\t\toptions.host === \"0.0.0.0\" || options.host === \"::\"\n\t\t\t? \"localhost\"\n\t\t\t: options.host;\n\n\treturn {\n\t\tport: serverPort,\n\t\thost: options.host,\n\t\turl: `http://${displayHost}:${serverPort}`,\n\t\tstop: () => server.stop(),\n\t};\n}\n",
|
|
17
|
+
"import { isRoadmapMode } from \"./modes\";\nimport type {\n\tRenderContext,\n\tRenderFailure,\n\tRenderMode,\n\tRenderResult,\n\tRenderSuccess,\n} from \"./types\";\n\nexport interface RendererOptions {\n\treadonly appName: string;\n\treadonly title?: string | undefined;\n\treadonly description?: string | undefined;\n\treadonly faviconPath?: string | undefined;\n\treadonly scriptPath: string;\n\treadonly cssPath: string;\n\treadonly lang: string;\n}\n\nfunction buildHtmlShell(options: RendererOptions): string {\n\tconst title = options.title ?? options.appName;\n\tconst faviconPath = options.faviconPath ?? \"/favicon.ico\";\n\tconst descriptionMeta =\n\t\toptions.description !== undefined\n\t\t\t? `<meta name=\"description\" content=\"${options.description}\" />`\n\t\t\t: \"\";\n\n\treturn `\n <!DOCTYPE html>\n <html lang=\"${options.lang}\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>${title}</title>\n ${descriptionMeta}\n <link rel=\"icon\" href=\"${faviconPath}\" sizes=\"any\" type=\"image/x-icon\" />\n <link rel=\"shortcut icon\" href=\"${faviconPath}\" type=\"image/x-icon\" />\n <link rel=\"stylesheet\" href=\"${options.cssPath}\" />\n </head>\n <body>\n <div id=\"rakta-root\"></div>\n <script type=\"module\" src=\"${options.scriptPath}\"></script>\n </body>\n </html>`;\n}\n\nfunction makeSuccess(\n\thtml: string,\n\tmode: RenderMode,\n\trenderMs: number,\n\thttpStatus: number = 200,\n\tfromCache: boolean = false,\n): RenderSuccess {\n\treturn {\n\t\tkind: \"success\",\n\t\thtml,\n\t\tmode,\n\t\thttpStatus,\n\t\tresponseHeaders: { \"Content-Type\": \"text/html; charset=utf-8\" },\n\t\tfromCache,\n\t\trenderMs,\n\t};\n}\n\nfunction makeFailure(\n\treason: string,\n\tmode: RenderMode,\n\thttpStatus: number = 500,\n): RenderFailure {\n\treturn { kind: \"failure\", reason, mode, httpStatus };\n}\n\n/**\n * Render a page using the resolved mode from the context.\n * Roadmap modes (ssr, ssg, csg) fall back to a CSR shell in v0.1.0.\n */\nexport async function render(\n\tcontext: RenderContext,\n\toptions: RendererOptions,\n): Promise<RenderResult> {\n\tconst startMs = Date.now();\n\n\t// Roadmap modes: fall back to CSR shell with a warning\n\tif (isRoadmapMode(context.mode)) {\n\t\tconsole.warn(\n\t\t\t`[Rakta.js] Render mode \"${context.mode}\" is a roadmap feature (v0.2.0). ` +\n\t\t\t\t`Falling back to CSR for: ${context.routePath}`,\n\t\t);\n\t\treturn makeSuccess(buildHtmlShell(options), \"csr\", Date.now() - startMs);\n\t}\n\n\tswitch (context.mode) {\n\t\tcase \"csr\":\n\t\tcase \"spa\":\n\t\t\treturn makeSuccess(\n\t\t\t\tbuildHtmlShell(options),\n\t\t\t\tcontext.mode,\n\t\t\t\tDate.now() - startMs,\n\t\t\t);\n\n\t\tcase \"hybrid\":\n\t\t\t// Hybrid resolution happens upstream in Tide. If it reaches the renderer\n\t\t\t// as hybrid, the route had no specific override - fall back to CSR.\n\t\t\treturn makeSuccess(buildHtmlShell(options), \"csr\", Date.now() - startMs);\n\n\t\tcase \"ssr\":\n\t\tcase \"ssg\":\n\t\tcase \"csg\":\n\t\t\t// These are already caught by isRoadmapMode above, but TypeScript\n\t\t\t// requires an exhaustive switch for the RenderMode union.\n\t\t\treturn makeFailure(\n\t\t\t\t`Render mode \"${context.mode}\" is not yet implemented.`,\n\t\t\t\tcontext.mode,\n\t\t\t\t501,\n\t\t\t);\n\t}\n}\n\nexport function renderNotFound(options: RendererOptions): RenderSuccess {\n\treturn makeSuccess(buildHtmlShell(options), \"csr\", 0, 404);\n}\n\nexport function renderServerError(\n\treason: string,\n\tmode: RenderMode,\n): RenderFailure {\n\treturn makeFailure(reason, mode, 500);\n}\n",
|
|
18
18
|
"import type {\n\tMatchedRoute,\n\tRouteManifestEntry,\n\tRouteSegment,\n} from \"./types.js\";\n\nfunction escapeRegex(text: string): string {\n\treturn text.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nfunction buildPatternRegex(segments: RouteSegment[]): {\n\tregex: RegExp;\n\tparamNames: string[];\n} {\n\tconst paramNames: string[] = [];\n\n\tconst parts = segments.map((segment) => {\n\t\tif (segment.isDynamic && segment.paramName) {\n\t\t\tparamNames.push(segment.paramName);\n\t\t\t// Match any non-slash sequence for the param\n\t\t\treturn \"([^/]+)\";\n\t\t}\n\t\treturn escapeRegex(segment.raw);\n\t});\n\n\tconst pattern = parts.length === 0 ? \"\" : `/${parts.join(\"/\")}`;\n\tconst regex = new RegExp(`^${pattern || \"/\"}$`);\n\n\treturn { regex, paramNames };\n}\n\nexport function matchRoute(\n\tpathname: string,\n\troutes: RouteManifestEntry[],\n): MatchedRoute | null {\n\t// Normalize pathname: strip trailing slash unless root\n\tconst normalized =\n\t\tpathname !== \"/\" && pathname.endsWith(\"/\")\n\t\t\t? pathname.slice(0, -1)\n\t\t\t: pathname;\n\n\tfor (const entry of routes) {\n\t\t// Only match pages and api routes\n\t\tif (entry.kind !== \"page\" && entry.kind !== \"api\") continue;\n\n\t\tconst { regex, paramNames } = buildPatternRegex(entry.segments);\n\t\tconst match = regex.exec(normalized);\n\n\t\tif (!match) continue;\n\n\t\tconst params: Record<string, string> = {};\n\t\tparamNames.forEach((name, index) => {\n\t\t\tconst captured = match[index + 1];\n\t\t\tif (captured !== undefined) {\n\t\t\t\tparams[name] = decodeURIComponent(captured);\n\t\t\t}\n\t\t});\n\n\t\treturn { entry, params };\n\t}\n\n\treturn null;\n}\n\nexport function findLayoutsForPathname(\n\tpathname: string,\n\troutes: RouteManifestEntry[],\n): RouteManifestEntry[] {\n\tconst layoutRoutes = routes.filter((route) => route.kind === \"layout\");\n\n\treturn layoutRoutes.filter((layout) => {\n\t\tif (layout.urlPattern === \"/\") return true;\n\t\treturn (\n\t\t\tpathname === layout.urlPattern ||\n\t\t\tpathname.startsWith(`${layout.urlPattern}/`)\n\t\t);\n\t});\n}\n\nexport function findSpecialRoute(\n\tkind: \"loading\" | \"not-found\" | \"error\",\n\tpathname: string,\n\troutes: RouteManifestEntry[],\n): RouteManifestEntry | null {\n\tconst candidates = routes.filter((route) => route.kind === kind);\n\n\t// Find the most specific match (longest matching prefix)\n\tlet best: RouteManifestEntry | null = null;\n\tlet bestLength = -1;\n\n\tfor (const candidate of candidates) {\n\t\tconst prefix = candidate.urlPattern === \"/\" ? \"\" : candidate.urlPattern;\n\t\tif (pathname.startsWith(prefix) && prefix.length > bestLength) {\n\t\t\tbest = candidate;\n\t\t\tbestLength = prefix.length;\n\t\t}\n\t}\n\n\treturn best;\n}\n",
|
|
19
19
|
"// CLI: bun rakta doctor\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { loadConfig } from \"../config/loadConfig\";\n\ninterface CheckResult {\n\treadonly label: string;\n\treadonly passed: boolean;\n\treadonly note?: string;\n}\n\nexport async function doctorCommand(\n\tcwd: string = process.cwd(),\n): Promise<void> {\n\tconst config = await loadConfig(cwd);\n\n\tconst checks: CheckResult[] = [\n\t\t{\n\t\t\tlabel: \"Bun runtime\",\n\t\t\tpassed: typeof Bun !== \"undefined\",\n\t\t\tnote: typeof Bun !== \"undefined\" ? `v${Bun.version}` : \"not found\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"rakta.config.ts\",\n\t\t\tpassed:\n\t\t\t\texistsSync(join(cwd, \"rakta.config.ts\")) ||\n\t\t\t\texistsSync(join(cwd, \"rakta.config.js\")),\n\t\t},\n\t\t{\n\t\t\tlabel: `app/ directory (${config.appDir})`,\n\t\t\tpassed: existsSync(join(cwd, config.appDir)),\n\t\t},\n\t\t{\n\t\t\tlabel: \"app/page.tsx (root page)\",\n\t\t\tpassed: existsSync(join(cwd, config.appDir, \"page.tsx\")),\n\t\t},\n\t\t{\n\t\t\tlabel: \"app/layout.tsx (root layout)\",\n\t\t\tpassed: existsSync(join(cwd, config.appDir, \"layout.tsx\")),\n\t\t},\n\t\t{\n\t\t\tlabel: `public/ directory (${config.publicDir})`,\n\t\t\tpassed: existsSync(join(cwd, config.publicDir)),\n\t\t},\n\t\t{\n\t\t\tlabel: \"package.json\",\n\t\t\tpassed: existsSync(join(cwd, \"package.json\")),\n\t\t},\n\t\t{\n\t\t\tlabel: \"tsconfig.json\",\n\t\t\tpassed: existsSync(join(cwd, \"tsconfig.json\")),\n\t\t},\n\t];\n\n\tconst sep = \"─\".repeat(52);\n\tconsole.log(`\\n Rakta.js Doctor`);\n\tconsole.log(` ${sep}`);\n\n\tlet allPassed = true;\n\tfor (const check of checks) {\n\t\tconst icon = check.passed ? \"pass\" : \"FAIL\";\n\t\tconst note = check.note ? ` (${check.note})` : \"\";\n\t\tconsole.log(` [${icon}] ${check.label}${note}`);\n\t\tif (!check.passed) allPassed = false;\n\t}\n\n\tconsole.log(` ${sep}`);\n\n\tif (allPassed) {\n\t\tconsole.log(\" All checks passed.\\n\");\n\t} else {\n\t\tconsole.log(\" Some checks failed. Review the output above.\\n\");\n\t\tprocess.exit(1);\n\t}\n}\n",
|
|
20
20
|
"import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { scanForExports } from \"./scanner\";\nimport type {\n\tAutoImportGeneratorOptions,\n\tAutoImportManifest,\n\tDiscoveredExport,\n} from \"./types\";\n\nconst GENERATED_HEADER = `// This file is auto-generated by: bun rakta imports:generate\n// Do not edit manually. Re-generate whenever you add or remove files.\n// Note: Rakta Auto Import v0.1.0 produces a typed re-export layer.\n// Import from this file in your app code:\n// import { useCounterStore, http } from \"./.rakta/auto-imports\";\n`;\n\nfunction buildImportLines(exports: ReadonlyArray<DiscoveredExport>): string {\n\tif (exports.length === 0) {\n\t\treturn \"// No exports discovered. Check your autoImport.directories config.\\n\";\n\t}\n\n\treturn exports\n\t\t.map(\n\t\t\t(discoveredExport) => `export * from \"${discoveredExport.importPath}\";`,\n\t\t)\n\t\t.join(\"\\n\");\n}\n\nexport function generateAutoImports(\n\toptions: AutoImportGeneratorOptions,\n): AutoImportManifest {\n\tconst exports = scanForExports({\n\t\tfrontendRoot: options.frontendRoot,\n\t\tdirectories: options.directories,\n\t\toutputDirectory: options.outputDirectory,\n\t\t...(options.extensions\n\t\t\t? {\n\t\t\t\t\textensions: options.extensions,\n\t\t\t\t}\n\t\t\t: {}),\n\t});\n\n\tconst outputDir = join(options.frontendRoot, options.outputDirectory);\n\n\tmkdirSync(outputDir, {\n\t\trecursive: true,\n\t});\n\n\tconst tsContent = `${GENERATED_HEADER}\\n${buildImportLines(exports)}\\n`;\n\n\twriteFileSync(join(outputDir, \"auto-imports.ts\"), tsContent, \"utf-8\");\n\n\tif (options.generateDts) {\n\t\tconst dtsContent = tsContent.replace(\n\t\t\t\"// This file is auto-generated by: bun rakta imports:generate\",\n\t\t\t\"// Type declarations — auto-generated by: bun rakta imports:generate\",\n\t\t);\n\n\t\twriteFileSync(join(outputDir, \"auto-imports.d.ts\"), dtsContent, \"utf-8\");\n\t}\n\n\treturn {\n\t\tgeneratedAt: new Date().toISOString(),\n\t\tsourceDirectories: options.directories,\n\t\texports,\n\t};\n}\n\nexport function printAutoImportSummary(manifest: AutoImportManifest): void {\n\tconsole.log(\"\\n Rakta Auto Import\");\n\tconsole.log(` ${\"─\".repeat(50)}`);\n\tconsole.log(`Generated: ${manifest.generatedAt}`);\n\tconsole.log(`Exports: ${manifest.exports.length}`);\n\n\tif (manifest.exports.length > 0) {\n\t\tconsole.log(\"\");\n\n\t\tfor (const discoveredExport of manifest.exports) {\n\t\t\tconsole.log(\n\t\t\t\t`[${discoveredExport.kind.padEnd(10)}] ${discoveredExport.name} <- ${discoveredExport.filePath}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconsole.log(` ${\"─\".repeat(50)}\\n`);\n}\n",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"import { existsSync, readFileSync, statSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { type RenderConfig, render, resolveRouteMode } from \"../render\";\nimport { generateManifest, matchRoute } from \"../router\";\nimport {\n\tbuildErrorResponse,\n\tbuildHtmlResponse,\n\tcreateRuntimeContext,\n} from \"./runtime\";\nimport type { TideAdapter, TideAdapterConfig } from \"./types\";\n\nconst STATIC_MIME_TYPES: Readonly<Record<string, string>> = {\n\t\".js\": \"application/javascript; charset=utf-8\",\n\t\".ts\": \"application/javascript; charset=utf-8\",\n\t\".css\": \"text/css; charset=utf-8\",\n\t\".json\": \"application/json; charset=utf-8\",\n\t\".png\": \"image/png\",\n\t\".jpg\": \"image/jpeg\",\n\t\".jpeg\": \"image/jpeg\",\n\t\".webp\": \"image/webp\",\n\t\".svg\": \"image/svg+xml\",\n\t\".ico\": \"image/x-icon\",\n\t\".woff\": \"font/woff\",\n\t\".woff2\": \"font/woff2\",\n};\n\ntype ApiRouteHandler = (request: Request) => Response | Promise<Response>;\n\ninterface ApiRouteExports {\n\treadonly GET?: ApiRouteHandler;\n\treadonly POST?: ApiRouteHandler;\n\treadonly PUT?: ApiRouteHandler;\n\treadonly PATCH?: ApiRouteHandler;\n\treadonly DELETE?: ApiRouteHandler;\n\treadonly HEAD?: ApiRouteHandler;\n\treadonly OPTIONS?: ApiRouteHandler;\n}\n\nfunction mimeForPath(filePath: string): string {\n\tconst extensionIndex = filePath.lastIndexOf(\".\");\n\n\tif (extensionIndex < 0) {\n\t\treturn \"application/octet-stream\";\n\t}\n\n\tconst extension = filePath.slice(extensionIndex).toLowerCase();\n\n\treturn STATIC_MIME_TYPES[extension] ?? \"application/octet-stream\";\n}\n\nfunction normalizeStaticPath(pathname: string): string {\n\tconst pathnameWithoutLeadingSlash = pathname.replace(/^\\/+/, \"\");\n\n\tif (pathnameWithoutLeadingSlash.length > 0) {\n\t\treturn pathnameWithoutLeadingSlash;\n\t}\n\n\treturn \"index.html\";\n}\n\nfunction isReadableFile(filePath: string): boolean {\n\treturn existsSync(filePath) && statSync(filePath).isFile();\n}\n\nfunction isApiRouteExports(value: unknown): value is ApiRouteExports {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nfunction getApiRouteHandler(\n\trouteExports: ApiRouteExports,\n\tmethod: string,\n): ApiRouteHandler | undefined {\n\tif (method === \"GET\") {\n\t\treturn routeExports.GET;\n\t}\n\n\tif (method === \"POST\") {\n\t\treturn routeExports.POST;\n\t}\n\n\tif (method === \"PUT\") {\n\t\treturn routeExports.PUT;\n\t}\n\n\tif (method === \"PATCH\") {\n\t\treturn routeExports.PATCH;\n\t}\n\n\tif (method === \"DELETE\") {\n\t\treturn routeExports.DELETE;\n\t}\n\n\tif (method === \"HEAD\") {\n\t\treturn routeExports.HEAD;\n\t}\n\n\tif (method === \"OPTIONS\") {\n\t\treturn routeExports.OPTIONS;\n\t}\n\n\treturn undefined;\n}\n\n/**\n * Creates the Bun Tide adapter.\n * Handles static files, API routes, and page rendering.\n */\nexport function createBunAdapter(\n\tadapterConfig: TideAdapterConfig,\n\trenderConfig: RenderConfig,\n): TideAdapter {\n\tconst manifest = generateManifest(adapterConfig.appDir);\n\tconst searchDirectories = [adapterConfig.publicDir, adapterConfig.outDir];\n\n\tlet serverInstance: ReturnType<typeof Bun.serve> | undefined;\n\n\tasync function handle(request: Request): Promise<Response> {\n\t\tconst url = new URL(request.url);\n\t\tconst { pathname } = url;\n\t\tconst staticPathname = normalizeStaticPath(pathname);\n\n\t\tfor (const searchDirectory of searchDirectories) {\n\t\t\tconst filePath = join(searchDirectory, staticPathname);\n\n\t\t\tif (isReadableFile(filePath)) {\n\t\t\t\treturn new Response(readFileSync(filePath), {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t\"Content-Type\": mimeForPath(filePath),\n\t\t\t\t\t\t\"Cache-Control\": \"public, max-age=31536000, immutable\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst apiRoutes = manifest.routes.filter((route) => route.kind === \"api\");\n\t\tconst apiMatch = matchRoute(pathname, apiRoutes);\n\n\t\tif (apiMatch) {\n\t\t\tconst modulePath = join(adapterConfig.appDir, apiMatch.entry.filePath);\n\n\t\t\tconst routeModule: unknown = await import(modulePath);\n\n\t\t\tif (!isApiRouteExports(routeModule)) {\n\t\t\t\treturn new Response(\"Invalid API route module\", {\n\t\t\t\t\tstatus: 500,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst handler = getApiRouteHandler(\n\t\t\t\trouteModule,\n\t\t\t\trequest.method.toUpperCase(),\n\t\t\t);\n\n\t\t\tif (!handler) {\n\t\t\t\treturn new Response(\"Method not allowed\", {\n\t\t\t\t\tstatus: 405,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn await handler(request);\n\t\t}\n\n\t\tconst resolvedRouteMode = resolveRouteMode(pathname, renderConfig);\n\n\t\tconst runtimeContext = createRuntimeContext(\n\t\t\trequest,\n\t\t\turl,\n\t\t\t{},\n\t\t\tresolvedRouteMode.mode,\n\t\t);\n\n\t\tconst renderResult = await render(\n\t\t\t{\n\t\t\t\troutePath: runtimeContext.pathname,\n\t\t\t\tmode: runtimeContext.resolvedMode,\n\t\t\t\tparams: runtimeContext.params,\n\t\t\t\tsearchParams: runtimeContext.searchParams,\n\t\t\t\trequestHeaders: runtimeContext.requestHeaders,\n\t\t\t\ttimestampMs: runtimeContext.timestampMs,\n\t\t\t},\n\t\t\t{\n\t\t\t\tappName: adapterConfig.appName,\n\t\t\t\ttitle: adapterConfig.seo.defaultTitle,\n\t\t\t\tdescription: adapterConfig.seo.defaultDescription,\n\t\t\t\tscriptPath: \"/app.js\",\n\t\t\t\tcssPath: \"/app.css\",\n\t\t\t\tlang: \"en\",\n\t\t\t},\n\t\t);\n\n\t\tif (renderResult.kind === \"failure\") {\n\t\t\treturn buildErrorResponse(renderResult.reason, renderResult.httpStatus);\n\t\t}\n\n\t\treturn buildHtmlResponse(renderResult.html, renderResult.httpStatus);\n\t}\n\n\treturn {\n\t\tkind: \"bun\",\n\t\thandle,\n\t\tstart: async (): Promise<void> => {\n\t\t\tserverInstance = Bun.serve({\n\t\t\t\tport: adapterConfig.port,\n\t\t\t\thostname: adapterConfig.host,\n\t\t\t\tfetch: handle,\n\t\t\t});\n\n\t\t\tconsole.log(\n\t\t\t\t`[Rakta.js Tide] Running at http://${adapterConfig.host}:${serverInstance.port}`,\n\t\t\t);\n\t\t},\n\t\tstop: (): void => {\n\t\t\tif (!serverInstance) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tserverInstance.stop();\n\t\t},\n\t};\n}\n",
|
|
29
29
|
"import type { RenderMode } from \"rakta/render\";\nimport type { TideRuntimeContext } from \"./types\";\n\nexport function createRuntimeContext(\n\trequest: Request,\n\turl: URL,\n\tparams: Readonly<Record<string, string>>,\n\tresolvedMode: RenderMode,\n): TideRuntimeContext {\n\tconst searchParams: Record<string, string> = {};\n\turl.searchParams.forEach((value, key) => {\n\t\tsearchParams[key] = value;\n\t});\n\n\tconst requestHeaders: Record<string, string> = {};\n\trequest.headers.forEach((value, key) => {\n\t\trequestHeaders[key] = value;\n\t});\n\n\treturn {\n\t\turl,\n\t\tparams,\n\t\trequest,\n\t\tsearchParams,\n\t\tresolvedMode,\n\t\trequestHeaders,\n\t\tpathname: url.pathname,\n\t\ttimestampMs: Date.now(),\n\t\tmethod: request.method.toUpperCase(),\n\t};\n}\n\nexport function buildTextResponse(\n\tbody: string,\n\tstatus: number,\n\theaders: Record<string, string>,\n): Response {\n\treturn new Response(body, { status, headers });\n}\n\nexport function buildHtmlResponse(\n\thtml: string,\n\tstatus: number = 200,\n): Response {\n\treturn buildTextResponse(html, status, {\n\t\t\"Content-Type\": \"text/html; charset=utf-8\",\n\t});\n}\n\nexport function buildJsonResponse(\n\tresponseData: Record<string, string | number | boolean | object>,\n\tstatus: number = 200,\n): Response {\n\treturn buildTextResponse(JSON.stringify(responseData), status, {\n\t\t\"Content-Type\": \"application/json; charset=utf-8\",\n\t});\n}\n\nexport function buildErrorResponse(\n\terrorMessage: string,\n\tstatus: number = 500,\n): Response {\n\treturn buildJsonResponse({ error: errorMessage }, status);\n}\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": ";;;;AAEA,iBAAS;;;ACFT;AACA;;;AC2EO,IAAM,gBAAuC;AAAA,EACnD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AAAA,IACJ,WAAW;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACJ,cAAc;AAAA,IACd,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACN,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACX,SAAS;AAAA,IACT,aAAa,CAAC,cAAc,OAAO,UAAU,SAAS;AAAA,IACtD,iBAAiB;AAAA,IACjB,YAAY,CAAC,OAAO,QAAQ,OAAO,MAAM;AAAA,IACzC,KAAK;AAAA,EACN;AAAA,EACA,KAAK;AAAA,IACJ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,aAAa;AAAA,EACd;AAAA,EACA,QAAQ;AAAA,IACP,aAAa;AAAA,IACb,QAAQ,CAAC;AAAA,EACV;AACD;;;ADpHA,IAAM,mBAA0C;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,eAAsB,UAAU,CAC/B,MAAc,QAAQ,IAAI,GACO;AAAA,EACjC,MAAM,cAAc,QAAQ,GAAG;AAAA,EAE/B,WAAW,YAAY,kBAAkB;AAAA,IACxC,MAAM,aAAa,KAAK,aAAa,QAAQ;AAAA,IAE7C,IAAI,CAAC,WAAW,UAAU,GAAG;AAAA,MAC5B;AAAA,IACD;AAAA,IAEA,MAAM,eAAgB,MAAa;AAAA,IAGnC,MAAM,aAA0B,aAAa,WAAW,CAAC;AAAA,IAEzD,OAAO,YAAY,eAAe,UAAU;AAAA,EAC7C;AAAA,EAEA,OAAO;AAAA;AAGD,SAAS,WAAW,CAC1B,YACA,gBACwB;AAAA,EACxB,OAAO;AAAA,IACN,SAAS,eAAe,WAAW,WAAW;AAAA,IAC9C,QAAQ,eAAe,UAAU,WAAW;AAAA,IAC5C,WAAW,eAAe,aAAa,WAAW;AAAA,IAClD,MAAM,eAAe,QAAQ,WAAW;AAAA,IACxC,KACC,eAAe,QAAQ,YACpB,KAAK,WAAW,QAAQ,eAAe,IAAI,IAC3C,WAAW;AAAA,IACf,KACC,eAAe,QAAQ,YACpB,KAAK,WAAW,QAAQ,eAAe,IAAI,IAC3C,WAAW;AAAA,IACf,QACC,eAAe,WAAW,YACvB,KAAK,WAAW,WAAW,eAAe,OAAO,IACjD,WAAW;AAAA,IACf,OACC,eAAe,UAAU,YACtB,KAAK,WAAW,UAAU,eAAe,MAAM,IAC/C,WAAW;AAAA,IACf,YACC,eAAe,eAAe,YAC3B,KAAK,WAAW,eAAe,eAAe,WAAW,IACzD,WAAW;AAAA,IACf,KACC,eAAe,QAAQ,YACpB,KAAK,WAAW,QAAQ,eAAe,IAAI,IAC3C,WAAW;AAAA,IACf,QACC,eAAe,WAAW,YACvB;AAAA,MACA,aACC,eAAe,OAAO,eACtB,WAAW,OAAO;AAAA,MACnB,QAAQ;AAAA,WACJ,WAAW,OAAO;AAAA,WAClB,eAAe,OAAO;AAAA,MAC1B;AAAA,IACD,IACC,WAAW;AAAA,EAChB;AAAA;;;AEhFD,uBAAS,4BAAY,0BAAa;AAClC,iBAAS;;;ACMF,IAAM,0BAET;AAAA,EACH,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACA,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aACC;AAAA,IACD,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACD;AAMA,SAAS,kBAAkB,CAAC,UAAkB,SAA0B;AAAA,EACvE,IAAI,YAAY;AAAA,IAAU,OAAO;AAAA,EAEjC,MAAM,eAAe,QAAQ,MAAM,GAAG;AAAA,EACtC,MAAM,YAAY,SAAS,MAAM,GAAG;AAAA,EAEpC,IAAI,aAAa,WAAW,UAAU;AAAA,IAAQ,OAAO;AAAA,EAErD,SAAS,IAAI,EAAG,IAAI,aAAa,QAAQ,KAAK;AAAA,IAC7C,MAAM,KAAK,aAAa;AAAA,IACxB,MAAM,OAAO,UAAU;AAAA,IACvB,IAAI,OAAO,aAAa,SAAS;AAAA,MAAW,OAAO;AAAA,IACnD,IAAI,GAAG,WAAW,GAAG;AAAA,MAAG;AAAA,IACxB,IAAI,OAAO;AAAA,MAAM,OAAO;AAAA,EACzB;AAAA,EAEA,OAAO;AAAA;AAQD,SAAS,gBAAgB,CAC/B,UACA,QACoB;AAAA,EACpB,MAAM,WAAW,OAAO,KAAK,OAAO,MAAM,EAAE,KAC3C,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MACxB;AAAA,EAEA,WAAW,WAAW,UAAU;AAAA,IAC/B,MAAM,eAAe,OAAO,OAAO;AAAA,IACnC,IAAI,iBAAiB,aAAa,mBAAmB,UAAU,OAAO,GAAG;AAAA,MACxE,OAAO;AAAA,QACN,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM,OAAO;AAAA,IACb,QAAQ;AAAA,EACT;AAAA;AAOM,SAAS,aAAa,CAAC,MAA2B;AAAA,EACxD,OAAO,wBAAwB,MAAM;AAAA;;;ACzItC,uBAAS;;;ACAT,uBAAS;AACT,iBAAS;AAGT,IAAM,eAA0C;AAAA,EAC/C,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AACb;AAEA,SAAS,YAAY,CAAC,KAA2B;AAAA,EAChD,MAAM,YAAY,IAAI,WAAW,GAAG,KAAK,IAAI,SAAS,GAAG;AAAA,EACzD,MAAM,YAAY,YAAY,IAAI,MAAM,GAAG,EAAE,IAAI;AAAA,EAEjD,OAAO,EAAE,KAAK,WAAW,UAAU;AAAA;AAGpC,SAAS,iBAAiB,CAAC,UAAoC;AAAA,EAC9D,OAAO,SACL,OAAO,CAAC,YAAY,QAAQ,aAAa,QAAQ,UAAU,SAAS,CAAC,EACrE,IAAI,CAAC,YAAY,QAAQ,SAAS;AAAA;AAGrC,SAAS,oBAAoB,CAAC,UAAkC;AAAA,EAC/D,IAAI,SAAS,WAAW;AAAA,IAAG,OAAO;AAAA,EAClC,MAAM,QAAQ,SAAS,IAAI,CAAC,YAC3B,QAAQ,aAAa,QAAQ,YAC1B,IAAI,QAAQ,cACZ,QAAQ,GACZ;AAAA,EACA,OAAO,IAAI,MAAM,KAAK,GAAG;AAAA;AAG1B,SAAS,aAAa,CACrB,SACA,SACA,SACO;AAAA,EACP,IAAI,CAAC,YAAW,OAAO;AAAA,IAAG;AAAA,EAE1B,MAAM,UAAU,YAAY,OAAO;AAAA,EAEnC,WAAW,aAAa,SAAS;AAAA,IAChC,MAAM,WAAW,MAAK,SAAS,SAAS;AAAA,IACxC,MAAM,QAAQ,SAAS,QAAQ;AAAA,IAE/B,IAAI,MAAM,YAAY,GAAG;AAAA,MACxB,cAAc,UAAU,SAAS,OAAO;AAAA,MACxC;AAAA,IACD;AAAA,IAEA,IAAI,CAAC,MAAM,OAAO;AAAA,MAAG;AAAA,IAErB,MAAM,OAAO,aAAa;AAAA,IAC1B,IAAI,CAAC;AAAA,MAAM;AAAA,IAGX,MAAM,eAAe,SAAS,SAAS,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAAA,IAGnE,MAAM,cAAc,SAAS,SAAS,OAAO,EAAE,QAAQ,OAAO,GAAG;AAAA,IACjE,MAAM,cAAc,gBAAgB,KAAK,CAAC,IAAI,YAAY,MAAM,GAAG;AAAA,IAEnE,MAAM,WAA2B,YAAY,IAAI,YAAY;AAAA,IAC7D,MAAM,aAAa,qBAAqB,QAAQ;AAAA,IAChD,MAAM,aAAa,kBAAkB,QAAQ;AAAA,IAC7C,MAAM,YAAY,WAAW,SAAS;AAAA,IAEtC,QAAQ,KAAK;AAAA,MACZ,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAOM,SAAS,UAAU,CAAC,SAA4C;AAAA,EACtE,MAAM,UAAgC,CAAC;AAAA,EACvC,cAAc,QAAQ,QAAQ,QAAQ,QAAQ,OAAO;AAAA,EAGrD,QAAQ,KAAK,CAAC,QAAQ,WAAW;AAAA,IAChC,IAAI,OAAO,cAAc,OAAO,WAAW;AAAA,MAC1C,OAAO,OAAO,YAAY,IAAI;AAAA,IAC/B;AAAA,IACA,OAAO,OAAO,WAAW,cAAc,OAAO,UAAU;AAAA,GACxD;AAAA,EAED,OAAO;AAAA;;;AD9GD,SAAS,gBAAgB,CAAC,QAA+B;AAAA,EAC/D,MAAM,SAAS,WAAW,EAAE,OAAO,CAAC;AAAA,EAEpC,MAAM,WAA0B;AAAA,IAC/B,SAAS;AAAA,IACT,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,IACpC;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGD,SAAS,aAAa,CAC5B,UACA,YACO;AAAA,EACP,cAAc,YAAY,KAAK,UAAU,UAAU,MAAM,CAAC,GAAG,OAAO;AAAA;AAG9D,SAAS,YAAY,CAAC,cAA4C;AAAA,EACxE,IAAI,CAAC,YAAW,YAAY;AAAA,IAAG,OAAO;AAAA,EAEtC,MAAM,MAAM,aAAa,cAAc,OAAO;AAAA,EAE9C,MAAM,SAAkB,KAAK,MAAM,GAAG;AAAA,EACtC,IACC,OAAO,WAAW,YAClB,WAAW,QACX,EAAE,aAAa,WACf,EAAE,YAAY,SACb;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGD,SAAS,aAAa,CAAC,UAA+B;AAAA,EAC5D,MAAM,aAAa,SAAS,OAAO,OAAO,CAAC,UAAU,MAAM,SAAS,MAAM;AAAA,EAC1E,MAAM,YAAY,SAAS,OAAO,OAAO,CAAC,UAAU,MAAM,SAAS,KAAK;AAAA,EACxE,MAAM,eAAe,SAAS,OAAO,OACpC,CAAC,UAAU,MAAM,SAAS,QAC3B;AAAA,EACA,MAAM,gBAAgB,SAAS,OAAO,OAAO,CAAC,UAC7C,CAAC,WAAW,aAAa,OAAO,EAAE,SAAS,MAAM,IAAI,CACtD;AAAA,EAEA,MAAM,OAAO,SAAG,OAAO,EAAE;AAAA,EAEzB,QAAQ,IAAI;AAAA,0BAA6B;AAAA,EACzC,QAAQ,IAAI,KAAK,MAAM;AAAA,EACvB,QAAQ,IAAI,gBAAgB,SAAS,aAAa;AAAA,EAClD,QAAQ,IAAI,gBAAgB,SAAS,OAAO;AAAA,CAAiB;AAAA,EAE7D,IAAI,WAAW,SAAS,GAAG;AAAA,IAC1B,QAAQ,IAAI,UAAU;AAAA,IACtB,WAAW,SAAS,YAAY;AAAA,MAC/B,MAAM,UAAU,MAAM,YACnB,cAAc,MAAM,WAAW,KAAK,IAAI,OACxC;AAAA,MACH,QAAQ,IAAI,YAAY,MAAM,aAAa,SAAS;AAAA,IACrD;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,IAAI,UAAU,SAAS,GAAG;AAAA,IACzB,QAAQ,IAAI,eAAe;AAAA,IAC3B,WAAW,SAAS,WAAW;AAAA,MAC9B,MAAM,UAAU,MAAM,YACnB,cAAc,MAAM,WAAW,KAAK,IAAI,OACxC;AAAA,MACH,QAAQ,IAAI,YAAY,MAAM,aAAa,SAAS;AAAA,IACrD;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,IAAI,aAAa,SAAS,GAAG;AAAA,IAC5B,QAAQ,IAAI,YAAY;AAAA,IACxB,WAAW,SAAS,cAAc;AAAA,MACjC,QAAQ,IACP,OAAO,MAAM,eAAe,MAAM,SAAS,MAAM,YAClD;AAAA,IACD;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,IAAI,cAAc,SAAS,GAAG;AAAA,IAC7B,QAAQ,IAAI,YAAY;AAAA,IACxB,WAAW,SAAS,eAAe;AAAA,MAClC,QAAQ,IAAI,QAAQ,MAAM,UAAU,MAAM,UAAU;AAAA,IACrD;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,QAAQ,IAAI,KAAK;AAAA,CAAQ;AAAA;;;AFjF1B,SAAS,kBAAkB,CAAC,UAAgC;AAAA,EAC3D,IAAI,aAAa;AAAA,IAAuB,OAAO;AAAA,EAC/C,IAAI,SAAS,SAAS,MAAM;AAAA,IAAG,OAAO;AAAA,EACtC,IAAI,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,MAAM;AAAA,IAAG,OAAO;AAAA,EAClE,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,OAAuB;AAAA,EAC3C,IAAI,QAAQ;AAAA,IAAM,OAAO,GAAG;AAAA,EAC5B,IAAI,QAAQ;AAAA,IAAW,OAAO,IAAI,QAAQ,MAAM,QAAQ,CAAC;AAAA,EACzD,OAAO,IAAI,QAAQ,SAAW,QAAQ,CAAC;AAAA;AAGxC,SAAS,cAAa,CAAC,SAAuC;AAAA,EAC7D,IAAI,CAAC,YAAW,OAAO;AAAA,IAAG,OAAO,CAAC;AAAA,EAClC,MAAM,YAAkC,CAAC;AAAA,EAEzC,SAAS,IAAI,CAAC,SAAuB;AAAA,IACpC,MAAM,UAAU,aAAY,SAAS,EAAE,eAAe,KAAK,CAAC;AAAA,IAC5D,WAAW,SAAS,SAAS;AAAA,MAC5B,MAAM,OAAO,MAAK,SAAS,MAAM,IAAI;AAAA,MACrC,IAAI,MAAM,YAAY,GAAG;AAAA,QACxB,KAAK,IAAI;AAAA,MACV,EAAO,SAAI,MAAM,OAAO,GAAG;AAAA,QAC1B,UAAU,KAAK;AAAA,UACd,YAAY;AAAA,UACZ,WAAW,UAAS,IAAI,EAAE;AAAA,UAC1B,MAAM,mBAAmB,MAAM,IAAI;AAAA,QACpC,CAAC;AAAA,MACF;AAAA,IACD;AAAA;AAAA,EAGD,KAAK,OAAO;AAAA,EACZ,OAAO;AAAA;AAGD,SAAS,YAAY,CAAC,SAA6C;AAAA,EACzE,MAAM,YAAY,eAAc,QAAQ,MAAM;AAAA,EAC9C,MAAM,eAAe,MAAK,QAAQ,QAAQ,qBAAqB;AAAA,EAC/D,MAAM,WAAW,aAAa,YAAY;AAAA,EAE1C,MAAM,gBAAgB;AAAA,IACrB,SAAS;AAAA,IACT,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,IACpC,QAAQ,CAAC;AAAA,EACV;AAAA,EAEA,MAAM,cAAqC,YAAY,eAAe,OACpE,OAAO,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,SAAS,KAAK,EACnD,IAAI,CAAC,MAAM;AAAA,IACX,MAAM,WAAW,iBAAiB,EAAE,YAAY,QAAQ,YAAY;AAAA,IACpE,OAAO;AAAA,MACN,SAAS,EAAE;AAAA,MACX,MAAM,SAAS;AAAA,MACf,QAAQ,SAAS;AAAA,IAClB;AAAA,GACA;AAAA,EAEF,OAAO;AAAA,IACN,UAAU,QAAQ;AAAA,IAClB;AAAA,IACA,UAAU,YAAY;AAAA,IACtB;AAAA,IACA,gBAAgB,UAAU,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,WAAW,CAAC;AAAA,IACjE,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,EACrC;AAAA;AAGM,SAAS,kBAAkB,CAAC,QAAkC;AAAA,EACpE,MAAM,MAAM,SAAG,OAAO,EAAE;AAAA,EACxB,QAAQ,IAAI;AAAA;AAAA;AAAA,KAER;AAAA,EACJ,QAAQ,IAAI;AAAA,UACH;AAAA,KACL;AAAA,EACJ,QAAQ,IAAI;AAAA,sBACS,OAAO;AAAA,KACxB;AAAA,EACJ,QAAQ,IAAI;AAAA,sBACS,OAAO;AAAA,KACxB;AAAA,EACJ,QAAQ,IAAI;AAAA,sBACS,YAAY,OAAO,cAAc;AAAA;AAAA,KAClD;AAAA,EAEJ,IAAI,OAAO,UAAU,SAAS,GAAG;AAAA,IAChC,QAAQ,IAAI,YAAY;AAAA,IACxB,WAAW,YAAY,OAAO,WAAW;AAAA,MACxC,MAAM,MAAM,SAAS,WACnB,QAAQ,OAAO,UAAU,GAAG,EAC5B,QAAQ,OAAO,GAAG;AAAA,MACpB,QAAQ,IAAI;AAAA,WACJ,SAAS,KAAK,OAAO,EAAE;AAAA,UACxB,IAAI,OAAO,EAAE;AAAA,UACb,YAAY,SAAS,SAAS,GAAG;AAAA,IACzC;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,IAAI,OAAO,WAAW,SAAS,GAAG;AAAA,IACjC,QAAQ,IAAI,qBAAqB;AAAA,IACjC,WAAW,MAAM,OAAO,YAAY;AAAA,MACnC,MAAM,MAAM,GAAG,WAAW,mBAAmB,eAAe;AAAA,MAC5D,QAAQ,IAAI;AAAA,UACL,GAAG,KAAK,YAAY,EAAE,OAAO,CAAC;AAAA,UAC9B,GAAG,QAAQ,OAAO,EAAE,MAAM,KAAK;AAAA,IACvC;AAAA,IACA,QAAQ,IAAI,EAAE;AAAA,EACf;AAAA,EAEA,QAAQ,IAAI,GAAG;AAAA,CAAO;AAAA;;;AIjIvB,6BAAqB;;;ACArB,uBAAS,0BAAY;AACrB,iBAAS,kBAAM;;;ACDf,uBAAS,yCAAuB;AAChC,0BAAkB,mBAAM;AAUxB,SAAS,iBAAiB,CAAC,UAAkB,YAA4B;AAAA,EACxE,MAAM,eAAe,UAAS,QAAQ,QAAQ,GAAG,UAAU,EAAE,QAC5D,OACA,GACD;AAAA,EAEA,IAAI,aAAa,WAAW,GAAG,GAAG;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,KAAK;AAAA;AAGb,SAAS,oBAAoB,CAC5B,WACA,aACgB;AAAA,EAChB,MAAM,aAAa;AAAA,IAClB,MAAK,aAAa,UAAU,aAAa;AAAA,IACzC,MAAK,aAAa,UAAU,cAAc;AAAA,IAC1C,MAAK,aAAa,UAAU,cAAc;AAAA,EAC3C;AAAA,EAEA,MAAM,YAAY,WAAW,KAAK,CAAC,cAAc,YAAW,SAAS,CAAC;AAAA,EAEtE,IAAI,CAAC,WAAW;AAAA,IACf,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,kBAAkB,WAAW,SAAS;AAAA;AAG9C,SAAS,aAAa,CAAC,UAA+C;AAAA,EACrE,OAAO,SAAS,OAAO,OAAO,CAAC,UAAU,MAAM,SAAS,MAAM;AAAA;AAG/D,SAAS,iBAAiB,CACzB,WACA,QACA,YACS;AAAA,EACT,MAAM,eAAe,WACnB,IAAI,CAAC,UAAU;AAAA,IACf,MAAM,WAAW,MAAK,QAAQ,MAAM,QAAQ;AAAA,IAC5C,OAAO,KAAK,KAAK,UAAU,MAAM,UAAU,oBAAoB,kBAAkB,WAAW,QAAQ;AAAA,GACpG,EACA,KAAK;AAAA,CAAI;AAAA,EAEX,OAAO;AAAA,EAA2B;AAAA;AAAA;AAGnC,SAAS,eAAe,CACvB,YACS;AAAA,EACT,MAAM,eAAe,WACnB,IACA,CAAC,UACA,KAAK,KAAK,UAAU,MAAM,UAAU,mBAAmB,KAAK,UAAU,MAAM,UAAU,KACxF,EACC,KAAK;AAAA,CAAI;AAAA,EAEX,OAAO;AAAA,EAAqB;AAAA;AAAA;AAG7B,SAAS,kBAAkB,CAC1B,0BACqB;AAAA,EACrB,MAAM,aAAa,CAAC,QAAQ,OAAO,QAAQ,KAAK,EAAE,IACjD,CAAC,cAAc,GAAG,2BAA2B,WAC9C;AAAA,EAEA,OAAO,WAAW,KAAK,CAAC,cAAc,YAAW,SAAS,CAAC;AAAA;AAG5D,SAAS,yBAAyB,CAAC,WAAmB,QAAwB;AAAA,EAC7E,MAAM,aAAa,mBAClB,MAAK,QAAQ,cAAc,mBAAmB,CAC/C;AAAA,EACA,MAAM,WAAW,mBAChB,MAAK,QAAQ,cAAc,eAAe,CAC3C;AAAA,EACA,MAAM,UAAoB,CAAC;AAAA,EAE3B,IAAI,eAAe,WAAW;AAAA,IAC7B,QAAQ,KAAK,wCAAwC,kBAAkB,WAAW,UAAU;AAAA,wGACU;AAAA,EACvG;AAAA,EAEA,IAAI,aAAa,WAAW;AAAA,IAC3B,QAAQ,KAAK,sCAAsC,kBAAkB,WAAW,QAAQ;AAAA,kGACQ;AAAA,EACjG;AAAA,EAEA,IAAI,QAAQ,WAAW,GAAG;AAAA,IACzB,OAAO;AAAA;AAAA;AAAA,EAGR;AAAA,EAEA,OAAO;AAAA,EACN,QAAQ,KAAK;AAAA;AAAA,CAAM;AAAA;AAAA;AAIrB,SAAS,sBAAsB,CAC9B,SACA,WACS;AAAA,EACT,MAAM,aAAa,cAAc,QAAQ,QAAQ;AAAA,EACjD,MAAM,eAAe,kBAAkB,WAAW,QAAQ,QAAQ,UAAU;AAAA,EAC5E,MAAM,aAAa,gBAAgB,UAAU;AAAA,EAC7C,MAAM,qBAAqB,qBAC1B,WACA,QAAQ,WACT;AAAA,EACA,MAAM,YACL,uBAAuB,OAAO,WAAW;AAAA,IAA2B;AAAA,EACrE,MAAM,uBAAuB,0BAC5B,WACA,QAAQ,MACT;AAAA,EAEA,OAAO;AAAA;AAAA;AAAA,EAGN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0GK,SAAS,gBAAgB,CAAC,SAAqC;AAAA,EACrE,UAAU,QAAQ,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,EAE9C,MAAM,YAAY,MAAK,QAAQ,SAAS,kBAAkB;AAAA,EAC1D,MAAM,cAAc,uBAAuB,SAAS,SAAS;AAAA,EAE7D,eAAc,WAAW,aAAa,OAAO;AAAA,EAE7C,OAAO;AAAA;;;ADxPR,eAAsB,YAAY,CACjC,SAC4B;AAAA,EAC5B,MAAM,UAAU,KAAK,IAAI;AAAA,EACzB,MAAM,YAAkC,CAAC;AAAA,EACzC,MAAM,SAAmB,CAAC;AAAA,EAE1B,WAAU,SAAQ,QAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAGtD,MAAM,WAAW,iBAAiB,QAAQ,MAAM;AAAA,EAChD,MAAM,eAAe,MAAK,QAAQ,QAAQ,qBAAqB;AAAA,EAC/D,cAAc,UAAU,YAAY;AAAA,EAEpC,MAAM,kBAAkB,KAAK,UAAU,QAAQ;AAAA,EAC/C,UAAU,KAAK;AAAA,IACd,YAAY;AAAA,IACZ,WAAW,IAAI,YAAY,EAAE,OAAO,eAAe,EAAE;AAAA,IACrD,MAAM;AAAA,EACP,CAAC;AAAA,EAED,MAAM,aAAa,YAAW,QAAQ,UAAU,IAC7C,QAAQ,aACR,iBAAiB;AAAA,IACjB,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,IAChB,SAAS,MAAK,QAAQ,aAAa,QAAQ;AAAA,IAC3C;AAAA,EACD,CAAC;AAAA,EAGH,MAAM,cAAc,MAAM,IAAI,MAAM;AAAA,IACnC,aAAa,CAAC,UAAU;AAAA,IACxB,QAAQ,QAAQ;AAAA,IAChB,QAAQ,QAAQ;AAAA,IAChB,QAAQ,QAAQ;AAAA,IAChB,WAAW,QAAQ,YAAY,aAAa;AAAA,IAC5C,WAAW,QAAQ;AAAA,IACnB,QAAQ;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD,CAAC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS;AAAA,IACzB,WAAW,OAAO,YAAY,MAAM;AAAA,MACnC,OAAO,KAAK,IAAI,OAAO;AAAA,IACxB;AAAA,IACA,OAAO;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA,SAAS,KAAK,IAAI,IAAI;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,WAAW,UAAU,YAAY,SAAS;AAAA,IACzC,UAAU,KAAK;AAAA,MACd,YAAY,OAAO;AAAA,MACnB,WAAW,OAAO;AAAA,MAClB,MAAM,OAAO,KAAK,SAAS,MAAM,IAAI,eAAe;AAAA,IACrD,CAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,SAAS,KAAK,IAAI,IAAI;AAAA,IACtB,QAAQ,CAAC;AAAA,EACV;AAAA;;;ADlFD,SAAS,kBAAkB,CAAC,KAAa,WAA2B;AAAA,EACnE,IAAI,WAAW,SAAS,GAAG;AAAA,IAC1B,OAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAK,KAAK,SAAS;AAAA;AAG3B,eAAsB,YAAY,CAAC,MAAc,QAAQ,IAAI,GAAkB;AAAA,EAC9E,MAAM,gBAAgB,MAAM,WAAW,GAAG;AAAA,EAE1C,MAAM,eAAe,cAAc,UAAU;AAAA,EAC7C,MAAM,kBAAkB,cAAc,aAAa;AAAA,EACnD,MAAM,kBAAkB,cAAc,MAAM,UAAU;AAAA,EACtD,MAAM,YAAY,cAAc,MAAM,cAAc;AAAA,EAEpD,MAAM,aAAa,mBAAmB,MAAK,KAAK,YAAY,GAAG,SAAS;AAAA,EACxE,MAAM,SAAS,mBAAmB,KAAK,eAAe;AAAA,EAEtD,QAAQ,IAAI;AAAA;AAAA,CAAwC;AAAA,EAEpD,MAAM,cAAc,MAAM,aAAa;AAAA,IACtC,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,QAAQ,MAAK,KAAK,YAAY;AAAA,IAC9B,WAAW,MAAK,KAAK,eAAe;AAAA,IACpC,SAAS,cAAc;AAAA,IACvB,WAAW,cAAc,MAAM,aAAa;AAAA,IAC5C,QAAQ,cAAc,MAAM,UAAU;AAAA,IACtC,WAAW,cAAc,MAAM,aAAa;AAAA,IAC5C,QAAQ,cAAc,MAAM,UAAU;AAAA,IACtC,cAAc,cAAc;AAAA,EAC7B,CAAC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS;AAAA,IACzB,QAAQ,MAAM,eAAe;AAAA,IAE7B,WAAW,cAAc,YAAY,QAAQ;AAAA,MAC5C,QAAQ,MAAM,GAAG,YAAY;AAAA,IAC9B;AAAA,IAEA,QAAQ,KAAK,CAAC;AAAA,EACf;AAAA,EAEA,QAAQ,IAAI,qBAAqB,YAAY,WAAW;AAAA,EACxD,QAAQ,IAAI,WAAW,QAAQ;AAAA,EAC/B,QAAQ,IAAI,cAAc,YAAY,UAAU;AAAA,CAAU;AAAA;;;AGnD3D,iBAAS;;;ACAT,uBAAS,6BAAY,2BAAc;AACnC,iBAAS;;;ACkBT,SAAS,cAAc,CAAC,SAAkC;AAAA,EACzD,MAAM,QAAQ,QAAQ,SAAS,QAAQ;AAAA,EACvC,MAAM,cAAc,QAAQ,eAAe;AAAA,EAC3C,MAAM,kBACL,QAAQ,gBAAgB,YACrB,qCAAqC,QAAQ,oBAC7C;AAAA,EAEJ,OAAO;AAAA;AAAA,kBAEU,QAAQ;AAAA;AAAA;AAAA;AAAA,qBAIL;AAAA,cACP;AAAA,qCACuB;AAAA,2CACM,QAAQ;AAAA;AAAA;AAAA;AAAA,yCAIV,QAAQ;AAAA;AAAA;AAAA;AAKjD,SAAS,WAAW,CACnB,MACA,MACA,UACA,aAAqB,KACrB,YAAqB,OACL;AAAA,EAChB,OAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB,EAAE,gBAAgB,2BAA2B;AAAA,IAC9D;AAAA,IACA;AAAA,EACD;AAAA;AAGD,SAAS,WAAW,CACnB,QACA,MACA,aAAqB,KACL;AAAA,EAChB,OAAO,EAAE,MAAM,WAAW,QAAQ,MAAM,WAAW;AAAA;AAOpD,eAAsB,MAAM,CAC3B,SACA,SACwB;AAAA,EACxB,MAAM,UAAU,KAAK,IAAI;AAAA,EAGzB,IAAI,cAAc,QAAQ,IAAI,GAAG;AAAA,IAChC,QAAQ,KACP,2BAA2B,QAAQ,0CAClC,4BAA4B,QAAQ,WACtC;AAAA,IACA,OAAO,YAAY,eAAe,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO;AAAA,EACxE;AAAA,EAEA,QAAQ,QAAQ;AAAA,SACV;AAAA,SACA;AAAA,MACJ,OAAO,YACN,eAAe,OAAO,GACtB,QAAQ,MACR,KAAK,IAAI,IAAI,OACd;AAAA,SAEI;AAAA,MAGJ,OAAO,YAAY,eAAe,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO;AAAA,SAEnE;AAAA,SACA;AAAA,SACA;AAAA,MAGJ,OAAO,YACN,gBAAgB,QAAQ,iCACxB,QAAQ,MACR,GACD;AAAA;AAAA;;;AC3GH,SAAS,WAAW,CAAC,MAAsB;AAAA,EAC1C,OAAO,KAAK,QAAQ,uBAAuB,MAAM;AAAA;AAGlD,SAAS,iBAAiB,CAAC,UAGzB;AAAA,EACD,MAAM,aAAuB,CAAC;AAAA,EAE9B,MAAM,QAAQ,SAAS,IAAI,CAAC,YAAY;AAAA,IACvC,IAAI,QAAQ,aAAa,QAAQ,WAAW;AAAA,MAC3C,WAAW,KAAK,QAAQ,SAAS;AAAA,MAEjC,OAAO;AAAA,IACR;AAAA,IACA,OAAO,YAAY,QAAQ,GAAG;AAAA,GAC9B;AAAA,EAED,MAAM,UAAU,MAAM,WAAW,IAAI,KAAK,IAAI,MAAM,KAAK,GAAG;AAAA,EAC5D,MAAM,QAAQ,IAAI,OAAO,IAAI,WAAW,MAAM;AAAA,EAE9C,OAAO,EAAE,OAAO,WAAW;AAAA;AAGrB,SAAS,UAAU,CACzB,UACA,QACsB;AAAA,EAEtB,MAAM,aACL,aAAa,OAAO,SAAS,SAAS,GAAG,IACtC,SAAS,MAAM,GAAG,EAAE,IACpB;AAAA,EAEJ,WAAW,SAAS,QAAQ;AAAA,IAE3B,IAAI,MAAM,SAAS,UAAU,MAAM,SAAS;AAAA,MAAO;AAAA,IAEnD,QAAQ,OAAO,eAAe,kBAAkB,MAAM,QAAQ;AAAA,IAC9D,MAAM,QAAQ,MAAM,KAAK,UAAU;AAAA,IAEnC,IAAI,CAAC;AAAA,MAAO;AAAA,IAEZ,MAAM,SAAiC,CAAC;AAAA,IACxC,WAAW,QAAQ,CAAC,MAAM,UAAU;AAAA,MACnC,MAAM,WAAW,MAAM,QAAQ;AAAA,MAC/B,IAAI,aAAa,WAAW;AAAA,QAC3B,OAAO,QAAQ,mBAAmB,QAAQ;AAAA,MAC3C;AAAA,KACA;AAAA,IAED,OAAO,EAAE,OAAO,OAAO;AAAA,EACxB;AAAA,EAEA,OAAO;AAAA;;;AFpDR,IAAM,mBAAmB;AAEzB,IAAM,WAA6C;AAAA,EAClD,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AACT;AAEA,SAAS,WAAW,CAAC,UAA0B;AAAA,EAC9C,MAAM,MAAM,SAAS,MAAM,SAAS,YAAY,GAAG,CAAC,EAAE,YAAY;AAAA,EAClE,OAAO,SAAS,QAAQ;AAAA;AAGzB,SAAS,cAAc,CAAC,MAAsB;AAAA,EAC7C,OAAO,OAAO,IAAI,OAAO;AAAA;AAG1B,SAAS,cAAc,CAAC,UAA2B;AAAA,EAClD,OAAO,YAAW,QAAQ,KAAK,UAAS,QAAQ,EAAE,OAAO;AAAA;AAG1D,eAAe,oBAAoB,CAClC,SACA,UACkB;AAAA,EAClB,MAAM,UAAU,MAAK,QAAQ,aAAa,QAAQ;AAAA,EAClD,MAAM,eAAe,MAAK,SAAS,KAAK;AAAA,EACxC,MAAM,cAAc,iBAAiB;AAAA,IACpC,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,EACD,CAAC;AAAA,EAED,MAAM,cAAc,MAAM,IAAI,MAAM;AAAA,IACnC,aAAa,CAAC,WAAW;AAAA,IACzB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD,CAAC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS;AAAA,IACzB,MAAM,cAAc,YAAY,KAC9B,IAAI,CAAC,aAAa,SAAS,OAAO,EAClC,KAAK;AAAA,CAAI;AAAA,IAEX,MAAM,IAAI,MAAM;AAAA,EAA4C,aAAa;AAAA,EAC1E;AAAA,EAEA,OAAO;AAAA;AAiBR,eAAsB,cAAc,CACnC,SACgC;AAAA,EAChC,MAAM,WAAW,iBAAiB,QAAQ,MAAM;AAAA,EAChD,MAAM,eAAe,eAAe,QAAQ,IAAI;AAAA,EAChD,MAAM,eAAe,MAAM,qBAAqB,SAAS,QAAQ;AAAA,EAEjE,MAAM,SAAS,IAAI,MAAM;AAAA,IACxB,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,SAEZ,MAAK,CAAC,SAAqC;AAAA,MAChD,MAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAAA,MAC/B,QAAQ,aAAa;AAAA,MAErB,IAAI,aAAa,SAAS,GAAG;AAAA,QAC5B,MAAM,mBAAmB,MAAK,cAAc,QAAQ;AAAA,QAEpD,IAAI,eAAe,gBAAgB,GAAG;AAAA,UACrC,OAAO,IAAI,SAAS,cAAa,gBAAgB,GAAG;AAAA,YACnD,SAAS,EAAE,gBAAgB,YAAY,gBAAgB,EAAE;AAAA,UAC1D,CAAC;AAAA,QACF;AAAA,MACD;AAAA,MAGA,MAAM,aAAa,MAAK,QAAQ,WAAW,QAAQ;AAAA,MACnD,IAAI,eAAe,UAAU,GAAG;AAAA,QAC/B,OAAO,IAAI,SAAS,cAAa,UAAU,GAAG;AAAA,UAC7C,SAAS,EAAE,gBAAgB,YAAY,QAAQ,EAAE;AAAA,QAClD,CAAC;AAAA,MACF;AAAA,MAGA,MAAM,WAAW,WAChB,UACA,SAAS,OAAO,OAAO,CAAC,UAAU,MAAM,SAAS,KAAK,CACvD;AAAA,MAEA,IAAI,UAAU;AAAA,QACb,MAAM,aAAa,MAAK,QAAQ,QAAQ,SAAS,MAAM,QAAQ;AAAA,QAC/D,MAAM,cAAe,MAAa;AAAA,QAClC,MAAM,SAAS,QAAQ,OAAO,YAAY;AAAA,QAC1C,MAAM,UAAU,YAAY;AAAA,QAE5B,IAAI,OAAO,YAAY,YAAY;AAAA,UAClC,OAAO,IAAI,SAAS,sBAAsB,EAAE,QAAQ,IAAI,CAAC;AAAA,QAC1D;AAAA,QAEA,OAAO,MAAM,QAAQ,OAAO;AAAA,MAC7B;AAAA,MAGA,MAAM,WAAW,iBAAiB,UAAU,QAAQ,YAAY;AAAA,MAEhE,MAAM,eAAuC,CAAC;AAAA,MAC9C,IAAI,aAAa,QAAQ,CAAC,OAAO,QAAQ;AAAA,QACxC,aAAa,OAAO;AAAA,OACpB;AAAA,MAED,MAAM,iBAAyC,CAAC;AAAA,MAChD,QAAQ,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AAAA,QACvC,eAAe,OAAO;AAAA,OACtB;AAAA,MAED,MAAM,SAAS,MAAM,OACpB;AAAA,QACC,WAAW;AAAA,QACX,MAAM,SAAS;AAAA,QACf,QAAQ,CAAC;AAAA,QACT;AAAA,QACA;AAAA,QACA,aAAa,KAAK,IAAI;AAAA,MACvB,GACA;AAAA,QACC,SAAS,QAAQ;AAAA,QACjB,OAAO,QAAQ,IAAI;AAAA,QACnB,aAAa,QAAQ,IAAI;AAAA,QACzB,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,MAAM;AAAA,MACP,CACD;AAAA,MAEA,IAAI,OAAO,SAAS,WAAW;AAAA,QAC9B,OAAO,IAAI,SAAS,OAAO,QAAQ,EAAE,QAAQ,OAAO,WAAW,CAAC;AAAA,MACjE;AAAA,MAEA,OAAO,IAAI,SAAS,OAAO,MAAM;AAAA,QAChC,QAAQ,OAAO;AAAA,QACf,SAAS,OAAO;AAAA,MACjB,CAAC;AAAA;AAAA,EAEH,CAAC;AAAA,EAED,MAAM,aACL,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO;AAAA,EAEjD,OAAO;AAAA,IACN,MAAM;AAAA,IACN,MAAM,QAAQ;AAAA,IACd,KAAK,UAAU,QAAQ,QAAQ;AAAA,IAC/B,MAAM,MAAM,OAAO,KAAK;AAAA,EACzB;AAAA;;;AD9LD,eAAsB,UAAU,CAAC,MAAc,QAAQ,IAAI,GAAkB;AAAA,EAC5E,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EAEnC,QAAQ,IAAI;AAAA;AAAA,CAAuC;AAAA,EAEnD,MAAM,SAAS,MAAM,eAAe;AAAA,IACnC,aAAa;AAAA,IACb,MAAM,OAAO;AAAA,IACb,MAAM,OAAO,OAAO,YAAY;AAAA,IAChC,QAAQ,MAAK,KAAK,OAAO,MAAM;AAAA,IAC/B,WAAW,MAAK,KAAK,OAAO,SAAS;AAAA,IACrC,SAAS,OAAO;AAAA,IAChB,KAAK,OAAO;AAAA,IACZ,cAAc,OAAO;AAAA,EACtB,CAAC;AAAA,EAED,QAAQ,IAAI,cAAc,OAAO;AAAA,CAAO;AAAA;;;AInBzC,uBAAS;AACT,iBAAS;AAST,eAAsB,aAAa,CAClC,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EAEnC,MAAM,SAAwB;AAAA,IAC7B;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,OAAO,QAAQ;AAAA,MACvB,MAAM,OAAO,QAAQ,cAAc,IAAI,IAAI,YAAY;AAAA,IACxD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,QACC,YAAW,MAAK,KAAK,iBAAiB,CAAC,KACvC,YAAW,MAAK,KAAK,iBAAiB,CAAC;AAAA,IACzC;AAAA,IACA;AAAA,MACC,OAAO,mBAAmB,OAAO;AAAA,MACjC,QAAQ,YAAW,MAAK,KAAK,OAAO,MAAM,CAAC;AAAA,IAC5C;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,YAAW,MAAK,KAAK,OAAO,QAAQ,UAAU,CAAC;AAAA,IACxD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,YAAW,MAAK,KAAK,OAAO,QAAQ,YAAY,CAAC;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,OAAO,sBAAsB,OAAO;AAAA,MACpC,QAAQ,YAAW,MAAK,KAAK,OAAO,SAAS,CAAC;AAAA,IAC/C;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,YAAW,MAAK,KAAK,cAAc,CAAC;AAAA,IAC7C;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ,YAAW,MAAK,KAAK,eAAe,CAAC;AAAA,IAC9C;AAAA,EACD;AAAA,EAEA,MAAM,MAAM,SAAG,OAAO,EAAE;AAAA,EACxB,QAAQ,IAAI;AAAA,kBAAqB;AAAA,EACjC,QAAQ,IAAI,KAAK,KAAK;AAAA,EAEtB,IAAI,YAAY;AAAA,EAChB,WAAW,SAAS,QAAQ;AAAA,IAC3B,MAAM,OAAO,MAAM,SAAS,SAAS;AAAA,IACrC,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,UAAU;AAAA,IAChD,QAAQ,IAAI,MAAM,UAAU,MAAM,QAAQ,MAAM;AAAA,IAChD,IAAI,CAAC,MAAM;AAAA,MAAQ,YAAY;AAAA,EAChC;AAAA,EAEA,QAAQ,IAAI,KAAK,KAAK;AAAA,EAEtB,IAAI,WAAW;AAAA,IACd,QAAQ,IAAI;AAAA,CAAwB;AAAA,EACrC,EAAO;AAAA,IACN,QAAQ,IAAI;AAAA,CAAkD;AAAA,IAC9D,QAAQ,KAAK,CAAC;AAAA;AAAA;;;ACxEhB,sBAAS,6BAAW;AACpB,iBAAS;;;ACDT,uBAAS,4BAAY;AACrB,oCAA4B,oBAAM;AAGlC,IAAM,qBAA4C;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,SAAS,UAAU,CAAC,UAAkC;AAAA,EACrD,MAAM,QAAQ,SAAS,QAAQ,OAAO,GAAG,EAAE,YAAY;AAAA,EAEvD,IACC,MAAM,SAAS,UAAU,KACzB,MAAM,SAAS,WAAW,KAC1B,MAAM,SAAS,YAAY,GAC1B;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,IACC,MAAM,SAAS,WAAW,KAC1B,MAAM,SAAS,YAAY,KAC3B,MAAM,SAAS,aAAa,GAC3B;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,MAAM,SAAS,cAAc,GAAG;AAAA,IACnC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,WAAW,SAAS,KAAK;AAAA,EAE/B,IAAI,SAAS,WAAW,KAAK,GAAG;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EAEA,IACC,MAAM,SAAS,OAAO,KACtB,MAAM,SAAS,SAAS,KACxB,MAAM,SAAS,WAAW,GACzB;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,YAAY,CAAC,MAAsB;AAAA,EAC3C,OAAO,KACL,QAAQ,UAAU,GAAG,EACrB,QAAQ,WAAW,CAAC,QAAgB,SAAiB,KAAK,YAAY,CAAC,EACvE,QAAQ,QAAQ,CAAC,QAAgB,SAAiB,KAAK,YAAY,CAAC;AAAA;AAGvE,SAAS,gBAAgB,CAAC,UAAkB,SAAyB;AAAA,EACpE,MAAM,eAAe,UAAS,SAAS,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAAA,EAEnE,MAAM,mBAAmB,aACvB,QAAQ,sBAAsB,EAAE,EAChC,QAAQ,YAAY,EAAE;AAAA,EAExB,OAAO,aAAa,iBAAiB,QAAQ,OAAO,GAAG,CAAC;AAAA;AAGzD,SAAS,aAAa,CACrB,SACA,YACW;AAAA,EACX,IAAI,CAAC,YAAW,OAAO,GAAG;AAAA,IACzB,OAAO,CAAC;AAAA,EACT;AAAA,EAEA,MAAM,YAAsB,CAAC;AAAA,EAE7B,SAAS,IAAI,CAAC,aAA2B;AAAA,IACxC,MAAM,UAAU,aAAY,aAAa;AAAA,MACxC,eAAe;AAAA,IAChB,CAAC;AAAA,IAED,WAAW,SAAS,SAAS;AAAA,MAC5B,IAAI,MAAM,KAAK,WAAW,GAAG,KAAK,MAAM,SAAS,gBAAgB;AAAA,QAChE;AAAA,MACD;AAAA,MAEA,MAAM,WAAW,OAAK,aAAa,MAAM,IAAI;AAAA,MAE7C,IAAI,MAAM,YAAY,GAAG;AAAA,QACxB,KAAK,QAAQ;AAAA,QACb;AAAA,MACD;AAAA,MAEA,IAAI,MAAM,OAAO,KAAK,WAAW,SAAS,QAAQ,MAAM,IAAI,CAAC,GAAG;AAAA,QAC/D,UAAU,KAAK,QAAQ;AAAA,MACxB;AAAA,IACD;AAAA;AAAA,EAGD,KAAK,OAAO;AAAA,EAEZ,OAAO;AAAA;AAUD,SAAS,cAAc,CAC7B,SACqB;AAAA,EACrB,MAAM,aAAa,QAAQ,cAAc;AAAA,EACzC,MAAM,aAAiC,CAAC;AAAA,EACxC,MAAM,YAAY,OAAK,QAAQ,cAAc,QAAQ,eAAe;AAAA,EAEpE,WAAW,aAAa,QAAQ,aAAa;AAAA,IAC5C,MAAM,eAAe,OAAK,QAAQ,cAAc,SAAS;AAAA,IAEzD,MAAM,QAAQ,cAAc,cAAc,UAAU;AAAA,IAEpD,WAAW,YAAY,OAAO;AAAA,MAC7B,MAAM,qBAAqB,UAAS,WAAW,QAAQ,EACrD,QAAQ,OAAO,GAAG,EAClB,QAAQ,eAAe,EAAE;AAAA,MAE3B,MAAM,aAAa,mBAAmB,WAAW,GAAG,IACjD,qBACA,KAAK;AAAA,MAER,WAAW,KAAK;AAAA,QACf,MAAM,iBAAiB,UAAU,YAAY;AAAA,QAC7C,UAAU,UAAS,QAAQ,cAAc,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAAA,QACrE;AAAA,QACA,MAAM,WAAW,QAAQ;AAAA,MAC1B,CAAC;AAAA,IACF;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;;;ADtIR,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,SAAS,gBAAgB,CAAC,SAAkD;AAAA,EAC3E,IAAI,QAAQ,WAAW,GAAG;AAAA,IACzB,OAAO;AAAA;AAAA,EACR;AAAA,EAEA,OAAO,QACL,IACA,CAAC,qBAAqB,kBAAkB,iBAAiB,cAC1D,EACC,KAAK;AAAA,CAAI;AAAA;AAGL,SAAS,mBAAmB,CAClC,SACqB;AAAA,EACrB,MAAM,UAAU,eAAe;AAAA,IAC9B,cAAc,QAAQ;AAAA,IACtB,aAAa,QAAQ;AAAA,IACrB,iBAAiB,QAAQ;AAAA,OACrB,QAAQ,aACT;AAAA,MACA,YAAY,QAAQ;AAAA,IACrB,IACC,CAAC;AAAA,EACL,CAAC;AAAA,EAED,MAAM,YAAY,OAAK,QAAQ,cAAc,QAAQ,eAAe;AAAA,EAEpE,WAAU,WAAW;AAAA,IACpB,WAAW;AAAA,EACZ,CAAC;AAAA,EAED,MAAM,YAAY,GAAG;AAAA,EAAqB,iBAAiB,OAAO;AAAA;AAAA,EAElE,eAAc,OAAK,WAAW,iBAAiB,GAAG,WAAW,OAAO;AAAA,EAEpE,IAAI,QAAQ,aAAa;AAAA,IACxB,MAAM,aAAa,UAAU,QAC5B,iEACA,2EACD;AAAA,IAEA,eAAc,OAAK,WAAW,mBAAmB,GAAG,YAAY,OAAO;AAAA,EACxE;AAAA,EAEA,OAAO;AAAA,IACN,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,IACpC,mBAAmB,QAAQ;AAAA,IAC3B;AAAA,EACD;AAAA;AAGM,SAAS,sBAAsB,CAAC,UAAoC;AAAA,EAC1E,QAAQ,IAAI;AAAA,oBAAuB;AAAA,EACnC,QAAQ,IAAI,KAAK,SAAG,OAAO,EAAE,GAAG;AAAA,EAChC,QAAQ,IAAI,cAAc,SAAS,aAAa;AAAA,EAChD,QAAQ,IAAI,cAAc,SAAS,QAAQ,QAAQ;AAAA,EAEnD,IAAI,SAAS,QAAQ,SAAS,GAAG;AAAA,IAChC,QAAQ,IAAI,EAAE;AAAA,IAEd,WAAW,oBAAoB,SAAS,SAAS;AAAA,MAChD,QAAQ,IACP,IAAI,iBAAiB,KAAK,OAAO,EAAE,MAAM,iBAAiB,aAAa,iBAAiB,UACzF;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,IAAI,KAAK,SAAG,OAAO,EAAE;AAAA,CAAK;AAAA;;;AE5EnC,eAAsB,sBAAsB,CAC3C,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EAEnC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,IAC/B,QAAQ,KACP,4EACD;AAAA,IACA;AAAA,EACD;AAAA,EAEA,MAAM,WAAW,oBAAoB;AAAA,IACpC,cAAc;AAAA,IACd,aAAa,OAAO,WAAW;AAAA,IAC/B,iBAAiB,OAAO,WAAW;AAAA,IACnC,YAAY,OAAO,WAAW,cAAc,CAAC,OAAO,QAAQ,OAAO,MAAM;AAAA,IACzE,aAAa,OAAO,WAAW,OAAO;AAAA,EACvC,CAAC;AAAA,EAED,uBAAuB,QAAQ;AAAA;;;AC5BhC,uBAAS,2BAAY,6BAAW;AAChC,oBAAS,kBAAS;AAKlB,SAAS,aAAY,CAAC,MAAsB;AAAA,EAC3C,OAAO,KACL,MAAM,OAAO,EACb,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC,EAC1D,KAAK,EAAE;AAAA;AAGV,SAAS,UAAU,CAAC,UAAkB,SAAuB;AAAA,EAC5D,IAAI,aAAW,QAAQ,GAAG;AAAA,IACzB,QAAQ,KAAK,qBAAqB,UAAU;AAAA,IAC5C;AAAA,EACD;AAAA,EAEA,WAAU,SAAQ,QAAQ,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD,eAAc,UAAU,SAAS,OAAO;AAAA,EACxC,QAAQ,IAAI,cAAc,UAAU;AAAA;AAGrC,SAAS,mBAAmB,CAAC,UAAkB,KAAqB;AAAA,EACnE,OAAO,SAAS,QAAQ,GAAG,QAAQ,EAAE;AAAA;AAGtC,eAAsB,WAAW,CAChC,QACA,MACA,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EACnC,MAAM,SAAS,OAAK,KAAK,OAAO,MAAM;AAAA,EACtC,MAAM,gBAAgB,cAAa,IAAI;AAAA,EAEvC,QAAQ;AAAA,SACF,QAAQ;AAAA,MACZ,MAAM,WAAW,OAAK,QAAQ,MAAM,UAAU;AAAA,MAC9C,WACC,UACA,MAAM,oBAAoB,UAAU,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,YAK/B;AAAA;AAAA;AAAA,0BAGc;AAAA;AAAA;AAAA,YAGd;AAAA;AAAA;AAAA;AAAA,CAKT;AAAA,MACA;AAAA,IACD;AAAA,SAEK,UAAU;AAAA,MACd,MAAM,WAAW,OAAK,QAAQ,MAAM,YAAY;AAAA,MAChD,WACC,UACA,MAAM,oBAAoB,UAAU,GAAG;AAAA;AAAA;AAAA;AAAA,0BAIjB;AAAA;AAAA;AAAA,CAIvB;AAAA,MACA;AAAA,IACD;AAAA,SAEK,aAAa;AAAA,MACjB,MAAM,WAAW,OAAK,KAAK,cAAc,MAAM,GAAG,mBAAmB;AAAA,MACrE,WACC,UACA,oBAAoB;AAAA;AAAA;AAAA,mBAGL;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKD,0CAA0C;AAAA;AAAA;AAAA;AAAA,iBAI3C;AAAA,CAEd;AAAA,MACA;AAAA,IACD;AAAA,SAEK,OAAO;AAAA,MACX,MAAM,WAAW,OAAK,QAAQ,OAAO,MAAM,UAAU;AAAA,MACrD,WACC,UACA,MAAM,oBAAoB,UAAU,GAAG;AAAA;AAAA;AAAA;AAAA,qDAIU;AAAA;AAAA,CAGlD;AAAA,MACA;AAAA,IACD;AAAA;AAAA;;;ACjHF,iBAAS;AAIT,eAAsB,aAAa,CAClC,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EACnC,MAAM,SAAS,OAAK,KAAK,OAAO,MAAM;AAAA,EACtC,MAAM,WAAW,iBAAiB,MAAM;AAAA,EACxC,cAAc,QAAQ;AAAA;;;ACRvB,uBAAS,2BAAY,6BAAW;AAChC,iBAAS;AAET,eAAsB,eAAe,CACpC,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,iBAAiB,OAAK,KAAK,MAAM,UAAU,OAAO;AAAA,EAExD,IAAI,CAAC,aAAW,cAAc,GAAG;AAAA,IAChC,WAAU,gBAAgB,EAAE,WAAW,KAAK,CAAC;AAAA,EAC9C;AAAA,EAEA,MAAM,aAAa,OAAK,gBAAgB,QAAQ;AAAA,EAChD,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,eAAc,YAAY,SAAS,OAAO;AAAA,EAC1C,QAAQ,IAAI;AAAA;AAAA,CAAsC;AAAA,EAClD,QAAQ,IAAI,uBAAuB;AAAA,EACnC,QAAQ,IAAI;AAAA,CAAgE;AAAA;;;ACxB7E,uBAAS,2BAAY,6BAAW;AAChC,iBAAS;AAGT,eAAsB,kBAAkB,CACvC,MAAc,QAAQ,IAAI,GACV;AAAA,EAChB,MAAM,SAAS,MAAM,WAAW,GAAG;AAAA,EACnC,MAAM,SAAS,OAAK,KAAK,OAAO,MAAM;AAAA,EAEtC,MAAM,aAAa,OAAK,QAAQ,OAAO,aAAa;AAAA,EACpD,MAAM,YAAY,OAAK,QAAQ,OAAO,YAAY;AAAA,EAElD,IAAI,CAAC,aAAW,UAAU,GAAG;AAAA,IAC5B,WAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAAA,IACzC,eACC,OAAK,YAAY,UAAU,GAC3B;AAAA;AAAA;AAAA;AAAA,yCAIsC,OAAO,IAAI,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAO5D,OACD;AAAA,IACA,QAAQ,IAAI,yCAAyC;AAAA,EACtD,EAAO;AAAA,IACN,QAAQ,KAAK,gDAAgD;AAAA;AAAA,EAG9D,IAAI,CAAC,aAAW,SAAS,GAAG;AAAA,IAC3B,WAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,IACxC,eACC,OAAK,WAAW,UAAU,GAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAWW,OAAO,IAAI,WAAW;AAAA;AAAA,GAGjC,OACD;AAAA,IACA,QAAQ,IAAI,wCAAwC;AAAA,EACrD,EAAO;AAAA,IACN,QAAQ,KAAK,+CAA+C;AAAA;AAAA,EAG7D,QAAQ,IAAI;AAAA;AAAA,CAAqC;AAAA;;;AC9DlD,iBAAS;;;ACAT,uBAAS,8BAAY,2BAAc;AACnC,iBAAS;;ACEF,SAAS,oBAAoB,CACnC,SACA,KACA,QACA,cACqB;AAAA,EACrB,MAAM,eAAuC,CAAC;AAAA,EAC9C,IAAI,aAAa,QAAQ,CAAC,OAAO,QAAQ;AAAA,IACxC,aAAa,OAAO;AAAA,GACpB;AAAA,EAED,MAAM,iBAAyC,CAAC;AAAA,EAChD,QAAQ,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AAAA,IACvC,eAAe,OAAO;AAAA,GACtB;AAAA,EAED,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,IAAI;AAAA,IACd,aAAa,KAAK,IAAI;AAAA,IACtB,QAAQ,QAAQ,OAAO,YAAY;AAAA,EACpC;AAAA;AAGM,SAAS,iBAAiB,CAChC,MACA,QACA,SACW;AAAA,EACX,OAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,QAAQ,CAAC;AAAA;AAGvC,SAAS,iBAAiB,CAChC,MACA,SAAiB,KACN;AAAA,EACX,OAAO,kBAAkB,MAAM,QAAQ;AAAA,IACtC,gBAAgB;AAAA,EACjB,CAAC;AAAA;AAGK,SAAS,iBAAiB,CAChC,cACA,SAAiB,KACN;AAAA,EACX,OAAO,kBAAkB,KAAK,UAAU,YAAY,GAAG,QAAQ;AAAA,IAC9D,gBAAgB;AAAA,EACjB,CAAC;AAAA;AAGK,SAAS,kBAAkB,CACjC,cACA,SAAiB,KACN;AAAA,EACX,OAAO,kBAAkB,EAAE,OAAO,aAAa,GAAG,MAAM;AAAA;;;ADnDzD,IAAM,oBAAsD;AAAA,EAC3D,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACX;AAcA,SAAS,WAAW,CAAC,UAA0B;AAAA,EAC9C,MAAM,iBAAiB,SAAS,YAAY,GAAG;AAAA,EAE/C,IAAI,iBAAiB,GAAG;AAAA,IACvB,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,YAAY,SAAS,MAAM,cAAc,EAAE,YAAY;AAAA,EAE7D,OAAO,kBAAkB,cAAc;AAAA;AAGxC,SAAS,mBAAmB,CAAC,UAA0B;AAAA,EACtD,MAAM,8BAA8B,SAAS,QAAQ,QAAQ,EAAE;AAAA,EAE/D,IAAI,4BAA4B,SAAS,GAAG;AAAA,IAC3C,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,eAAc,CAAC,UAA2B;AAAA,EAClD,OAAO,aAAW,QAAQ,KAAK,UAAS,QAAQ,EAAE,OAAO;AAAA;AAG1D,SAAS,iBAAiB,CAAC,OAA0C;AAAA,EACpE,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAAA,IAChD,OAAO;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,kBAAkB,CAC1B,cACA,QAC8B;AAAA,EAC9B,IAAI,WAAW,OAAO;AAAA,IACrB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,QAAQ;AAAA,IACtB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,OAAO;AAAA,IACrB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,SAAS;AAAA,IACvB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,UAAU;AAAA,IACxB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,QAAQ;AAAA,IACtB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW,WAAW;AAAA,IACzB,OAAO,aAAa;AAAA,EACrB;AAAA,EAEA;AAAA;AAOM,SAAS,gBAAgB,CAC/B,eACA,cACc;AAAA,EACd,MAAM,WAAW,iBAAiB,cAAc,MAAM;AAAA,EACtD,MAAM,oBAAoB,CAAC,cAAc,WAAW,cAAc,MAAM;AAAA,EAExE,IAAI;AAAA,EAEJ,eAAe,MAAM,CAAC,SAAqC;AAAA,IAC1D,MAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAAA,IAC/B,QAAQ,aAAa;AAAA,IACrB,MAAM,iBAAiB,oBAAoB,QAAQ;AAAA,IAEnD,WAAW,mBAAmB,mBAAmB;AAAA,MAChD,MAAM,WAAW,OAAK,iBAAiB,cAAc;AAAA,MAErD,IAAI,gBAAe,QAAQ,GAAG;AAAA,QAC7B,OAAO,IAAI,SAAS,cAAa,QAAQ,GAAG;AAAA,UAC3C,SAAS;AAAA,YACR,gBAAgB,YAAY,QAAQ;AAAA,YACpC,iBAAiB;AAAA,UAClB;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,IAEA,MAAM,YAAY,SAAS,OAAO,OAAO,CAAC,UAAU,MAAM,SAAS,KAAK;AAAA,IACxE,MAAM,WAAW,WAAW,UAAU,SAAS;AAAA,IAE/C,IAAI,UAAU;AAAA,MACb,MAAM,aAAa,OAAK,cAAc,QAAQ,SAAS,MAAM,QAAQ;AAAA,MAErE,MAAM,cAAuB,MAAa;AAAA,MAE1C,IAAI,CAAC,kBAAkB,WAAW,GAAG;AAAA,QACpC,OAAO,IAAI,SAAS,4BAA4B;AAAA,UAC/C,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAAA,MAEA,MAAM,UAAU,mBACf,aACA,QAAQ,OAAO,YAAY,CAC5B;AAAA,MAEA,IAAI,CAAC,SAAS;AAAA,QACb,OAAO,IAAI,SAAS,sBAAsB;AAAA,UACzC,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAAA,MAEA,OAAO,MAAM,QAAQ,OAAO;AAAA,IAC7B;AAAA,IAEA,MAAM,oBAAoB,iBAAiB,UAAU,YAAY;AAAA,IAEjE,MAAM,iBAAiB,qBACtB,SACA,KACA,CAAC,GACD,kBAAkB,IACnB;AAAA,IAEA,MAAM,eAAe,MAAM,OAC1B;AAAA,MACC,WAAW,eAAe;AAAA,MAC1B,MAAM,eAAe;AAAA,MACrB,QAAQ,eAAe;AAAA,MACvB,cAAc,eAAe;AAAA,MAC7B,gBAAgB,eAAe;AAAA,MAC/B,aAAa,eAAe;AAAA,IAC7B,GACA;AAAA,MACC,SAAS,cAAc;AAAA,MACvB,OAAO,cAAc,IAAI;AAAA,MACzB,aAAa,cAAc,IAAI;AAAA,MAC/B,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,MAAM;AAAA,IACP,CACD;AAAA,IAEA,IAAI,aAAa,SAAS,WAAW;AAAA,MACpC,OAAO,mBAAmB,aAAa,QAAQ,aAAa,UAAU;AAAA,IACvE;AAAA,IAEA,OAAO,kBAAkB,aAAa,MAAM,aAAa,UAAU;AAAA;AAAA,EAGpE,OAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA,OAAO,YAA2B;AAAA,MACjC,iBAAiB,IAAI,MAAM;AAAA,QAC1B,MAAM,cAAc;AAAA,QACpB,UAAU,cAAc;AAAA,QACxB,OAAO;AAAA,MACR,CAAC;AAAA,MAED,QAAQ,IACP,qCAAqC,cAAc,QAAQ,eAAe,MAC3E;AAAA;AAAA,IAED,MAAM,MAAY;AAAA,MACjB,IAAI,CAAC,gBAAgB;AAAA,QACpB;AAAA,MACD;AAAA,MAEA,eAAe,KAAK;AAAA;AAAA,EAEtB;AAAA;;;AD1ND,eAAsB,YAAY,CAAC,MAAc,QAAQ,IAAI,GAAkB;AAAA,EAC9E,MAAM,gBAAgB,MAAM,WAAW,GAAG;AAAA,EAC1C,MAAM,kBAAkB,cAAc,MAAM,UAAU;AAAA,EAEtD,QAAQ,IAAI;AAAA;AAAA,CAA6C;AAAA,EAEzD,MAAM,gBAAgB,iBACrB;AAAA,IACC,MAAM;AAAA,IACN,MAAM,cAAc;AAAA,IACpB,MAAM,cAAc,OAAO,YAAY;AAAA,IACvC,SAAS,cAAc;AAAA,IACvB,KAAK,cAAc;AAAA,IACnB,QAAQ,OAAK,KAAK,cAAc,MAAM;AAAA,IACtC,WAAW,OAAK,KAAK,cAAc,SAAS;AAAA,IAC5C,QAAQ,OAAK,KAAK,eAAe;AAAA,EAClC,GACA,cAAc,MACf;AAAA,EAEA,MAAM,cAAc,MAAM;AAAA;;;AtBT3B,IAAM,MAAM;AACZ,IAAM,OAAO;AACb,IAAM,MAAM;AACZ,IAAM,QAAQ;AAEd,IAAM,UAAU,QAAQ,KAAK,MAAM,CAAC;AACpC,IAAM,kBAAkB,QAAQ,MAAM;AACtC,IAAM,gBAAgB,QAAQ;AAC9B,IAAM,MAAM,QAAQ,IAAI;AAExB,IAAM,SAAS;AAAA,EACd;AAAA,EACA,GAAG,OAAO,0SAAwE;AAAA,EAClF,GAAG,OAAO,wUAAwE;AAAA,EAClF,GAAG,OAAO,0SAAwE;AAAA,EAClF,GAAG,OAAO,oTAAwE;AAAA,EAClF,GAAG,OAAO,+SAAwE;AAAA,EAClF,GAAG,OAAO,qSAAwE;AAAA,EAClF;AACD,EAAE,KAAK;AAAA,CAAI;AAEX,SAAS,SAAS,GAAS;AAAA,EAC1B,QAAQ,IAAI,MAAM;AAAA,EAClB,QAAQ,IAAI,GAAG,OAAO,mBAAmB,OAAO;AAAA,EAChD,QAAQ,IACP,GAAG,4DAA4D,OAChE;AAAA,EACA,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,GAAG,aAAa,OAAO;AAAA,EACnC,QAAQ,IAAI,iCAAiC;AAAA,EAC7C,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,GAAG,gBAAgB,OAAO;AAAA,EACtC,QAAQ,IAAI,aAAa;AAAA,EACzB,QAAQ,IAAI,eAAe;AAAA,EAC3B,QAAQ,IAAI,eAAe;AAAA,EAC3B,QAAQ,IAAI,gBAAgB;AAAA,EAC5B,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,0BAA0B;AAAA,EACtC,QAAQ,IAAI,4BAA4B;AAAA,EACxC,QAAQ,IAAI,+BAA+B;AAAA,EAC3C,QAAQ,IAAI,yBAAyB;AAAA,EACrC,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,sBAAsB;AAAA,EAClC,QAAQ,IAAI,0BAA0B;AAAA,EACtC,QAAQ,IAAI,mBAAmB;AAAA,EAC/B,QAAQ,IAAI,EAAE;AAAA,EACd,QAAQ,IAAI,uBAAuB;AAAA,EACnC,QAAQ,IAAI,qBAAqB;AAAA,EACjC,QAAQ,IAAI,gBAAgB;AAAA,EAC5B,QAAQ,IAAI,cAAc;AAAA,EAC1B,QAAQ,IAAI,EAAE;AAAA;AAGf,SAAS,mBAAmB,CAC3B,aACA,eACS;AAAA,EACT,IAAI,OAAO,kBAAkB,YAAY,cAAc,KAAK,EAAE,SAAS,GAAG;AAAA,IACzE,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,MACP,GAAG,OAAO,cAAc,SAAS,2BAA2B,SAAS,aACtE;AAAA,EACA,QAAQ,MAAM,GAAG,mBAAmB,qBAAqB,OAAO;AAAA,EAChE,QAAQ,KAAK,CAAC;AAAA;AAGf,eAAe,eAAe,GAAkB;AAAA,EAC/C,MAAM,gBAAgB,MAAM,WAAW,GAAG;AAAA,EAC1C,MAAM,kBAAkB,cAAc,MAAM,UAAU;AAAA,EAEtD,MAAM,gBAAgB,aAAa;AAAA,IAClC,QAAQ,OAAK,KAAK,eAAe;AAAA,IACjC,cAAc,cAAc;AAAA,EAC7B,CAAC;AAAA,EAED,mBAAmB,aAAa;AAAA;AAGjC,eAAe,IAAI,GAAkB;AAAA,EACpC,QAAQ;AAAA,SACF;AAAA,SACA;AAAA,SACA;AAAA,MACJ,UAAU;AAAA,MACV;AAAA,SAEI;AAAA,MACJ,MAAM,WAAW,GAAG;AAAA,MACpB;AAAA,SAEI;AAAA,MACJ,MAAM,aAAa,GAAG;AAAA,MACtB;AAAA,SAEI;AAAA,MACJ,MAAM,aAAa,GAAG;AAAA,MACtB;AAAA,SAEI;AAAA,MACJ,MAAM,cAAc,GAAG;AAAA,MACvB;AAAA,SAEI;AAAA,MACJ,MAAM,YACL,QACA,oBAAoB,aAAa,aAAa,GAC9C,GACD;AAAA,MACA;AAAA,SAEI;AAAA,MACJ,MAAM,YACL,UACA,oBAAoB,eAAe,aAAa,GAChD,GACD;AAAA,MACA;AAAA,SAEI;AAAA,MACJ,MAAM,YACL,aACA,oBAAoB,kBAAkB,aAAa,GACnD,GACD;AAAA,MACA;AAAA,SAEI;AAAA,MACJ,MAAM,YACL,OACA,oBAAoB,YAAY,aAAa,GAC7C,GACD;AAAA,MACA;AAAA,SAEI;AAAA,MACJ,MAAM,mBAAmB,GAAG;AAAA,MAC5B;AAAA,SAEI;AAAA,MACJ,MAAM,uBAAuB,GAAG;AAAA,MAChC;AAAA,SAEI;AAAA,MACJ,MAAM,gBAAgB,GAAG;AAAA,MACzB;AAAA,SAEI;AAAA,MACJ,MAAM,gBAAgB;AAAA,MACtB;AAAA,SAEI;AAAA,MACJ,QAAQ,IACP,GAAG,OAAO,cAAc,SAAS,wCAAwC,OAC1E;AAAA,MACA;AAAA,SAEI;AAAA,MACJ,MAAM,cAAc,GAAG;AAAA,MACvB;AAAA;AAAA,MAGA,QAAQ,MACP,GAAG,OAAO,cAAc,SAAS,sBAAsB,SAAS,iBACjE;AAAA,MACA,UAAU;AAAA,MACV,QAAQ,KAAK,CAAC;AAAA;AAAA;AAIjB,KAAK,EAAE,MAAM,CAAC,gBAAyB;AAAA,EACtC,MAAM,eACL,uBAAuB,QAAQ,YAAY,UAAU,OAAO,WAAW;AAAA,EAExE,QAAQ,MAAM;AAAA,EAAK,OAAO,qBAAqB,SAAS;AAAA,CAAgB;AAAA,EACxE,QAAQ,KAAK,CAAC;AAAA,CACd;",
|
|
32
|
-
"debugId": "
|
|
31
|
+
"mappings": "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",
|
|
32
|
+
"debugId": "ACBE00BFA61391DE64756E2164756E21",
|
|
33
33
|
"names": []
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devServer.d.ts","sourceRoot":"","sources":["../../src/forge/devServer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgF3E;;;GAGG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"devServer.d.ts","sourceRoot":"","sources":["../../src/forge/devServer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgF3E;;;GAGG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA0L/B"}
|
package/dist/forge/index.js
CHANGED
|
@@ -383,8 +383,8 @@ async function buildProject(options) {
|
|
|
383
383
|
};
|
|
384
384
|
}
|
|
385
385
|
// src/forge/devServer.ts
|
|
386
|
-
import { existsSync as existsSync5, readFileSync as readFileSync2, statSync as statSync2 } from "fs";
|
|
387
|
-
import { join as join4 } from "path";
|
|
386
|
+
import { existsSync as existsSync5, readFileSync as readFileSync2, statSync as statSync2, watch } from "fs";
|
|
387
|
+
import { join as join4, relative as relative3 } from "path";
|
|
388
388
|
|
|
389
389
|
// src/render/modes.ts
|
|
390
390
|
var RENDER_MODE_DESCRIPTORS = {
|
|
@@ -503,7 +503,8 @@ function buildHtmlShell(options) {
|
|
|
503
503
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
504
504
|
<title>${title}</title>
|
|
505
505
|
${descriptionMeta}
|
|
506
|
-
<link rel="icon" href="${faviconPath}" sizes="any" />
|
|
506
|
+
<link rel="icon" href="${faviconPath}" sizes="any" type="image/x-icon" />
|
|
507
|
+
<link rel="shortcut icon" href="${faviconPath}" type="image/x-icon" />
|
|
507
508
|
<link rel="stylesheet" href="${options.cssPath}" />
|
|
508
509
|
</head>
|
|
509
510
|
<body>
|
|
@@ -642,14 +643,48 @@ ${buildErrors}`);
|
|
|
642
643
|
async function startDevServer(options) {
|
|
643
644
|
const manifest = generateManifest(options.appDir);
|
|
644
645
|
const resolvedPort = resolveDevPort(options.port);
|
|
645
|
-
|
|
646
|
+
let clientOutDir = await buildDevClientBundle(options, manifest);
|
|
647
|
+
let isClientBundleDirty = false;
|
|
648
|
+
let clientBundleRebuild = null;
|
|
649
|
+
function shouldReloadForPath(changedPath) {
|
|
650
|
+
if (changedPath === null)
|
|
651
|
+
return true;
|
|
652
|
+
const relativePath = relative3(options.projectRoot, changedPath).replace(/\\/g, "/");
|
|
653
|
+
return relativePath.length > 0 && !relativePath.startsWith("node_modules/") && !relativePath.startsWith(".rakta/") && !relativePath.startsWith("dist/");
|
|
654
|
+
}
|
|
655
|
+
async function ensureFreshClientBundle() {
|
|
656
|
+
if (!isClientBundleDirty)
|
|
657
|
+
return;
|
|
658
|
+
clientBundleRebuild ??= buildDevClientBundle(options, manifest).then((nextClientOutDir) => {
|
|
659
|
+
clientOutDir = nextClientOutDir;
|
|
660
|
+
isClientBundleDirty = false;
|
|
661
|
+
clientBundleRebuild = null;
|
|
662
|
+
}, (caughtError) => {
|
|
663
|
+
clientBundleRebuild = null;
|
|
664
|
+
throw caughtError;
|
|
665
|
+
});
|
|
666
|
+
await clientBundleRebuild;
|
|
667
|
+
}
|
|
646
668
|
const server = Bun.serve({
|
|
647
669
|
port: resolvedPort,
|
|
648
670
|
hostname: options.host,
|
|
649
|
-
|
|
671
|
+
websocket: {
|
|
672
|
+
open(ws) {
|
|
673
|
+
ws.subscribe("livereload");
|
|
674
|
+
},
|
|
675
|
+
message() {}
|
|
676
|
+
},
|
|
677
|
+
async fetch(request, server2) {
|
|
678
|
+
if (request.url.endsWith("/__livereload")) {
|
|
679
|
+
const upgraded = server2.upgrade(request);
|
|
680
|
+
if (upgraded) {
|
|
681
|
+
return new Response(null);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
650
684
|
const url = new URL(request.url);
|
|
651
685
|
const { pathname } = url;
|
|
652
686
|
if (clientOutDir.length > 0) {
|
|
687
|
+
await ensureFreshClientBundle();
|
|
653
688
|
const clientBundlePath = join4(clientOutDir, pathname);
|
|
654
689
|
if (isReadableFile(clientBundlePath)) {
|
|
655
690
|
return new Response(readFileSync2(clientBundlePath), {
|
|
@@ -674,6 +709,7 @@ async function startDevServer(options) {
|
|
|
674
709
|
}
|
|
675
710
|
return await handler(request);
|
|
676
711
|
}
|
|
712
|
+
await ensureFreshClientBundle();
|
|
677
713
|
const resolved = resolveRouteMode(pathname, options.renderConfig);
|
|
678
714
|
const searchParams = {};
|
|
679
715
|
url.searchParams.forEach((value, key) => {
|
|
@@ -701,17 +737,35 @@ async function startDevServer(options) {
|
|
|
701
737
|
if (result.kind === "failure") {
|
|
702
738
|
return new Response(result.reason, { status: result.httpStatus });
|
|
703
739
|
}
|
|
704
|
-
|
|
740
|
+
const liveReloadScript = `
|
|
741
|
+
<script>
|
|
742
|
+
(function() {
|
|
743
|
+
const ws = new WebSocket("ws://" + location.host + "/__livereload");
|
|
744
|
+
ws.onmessage = () => location.reload();
|
|
745
|
+
})();
|
|
746
|
+
</script>`;
|
|
747
|
+
const finalHtml = result.html.replace("</body>", `${liveReloadScript}</body>`);
|
|
748
|
+
return new Response(finalHtml, {
|
|
705
749
|
status: result.httpStatus,
|
|
706
750
|
headers: result.responseHeaders
|
|
707
751
|
});
|
|
708
752
|
}
|
|
709
753
|
});
|
|
710
754
|
const serverPort = typeof server.port === "number" ? server.port : resolvedPort;
|
|
755
|
+
try {
|
|
756
|
+
watch(options.projectRoot, { recursive: true }, (_eventType, filename) => {
|
|
757
|
+
const changedPath = typeof filename === "string" ? join4(options.projectRoot, filename) : null;
|
|
758
|
+
if (shouldReloadForPath(changedPath)) {
|
|
759
|
+
isClientBundleDirty = true;
|
|
760
|
+
server.publish("livereload", "reload");
|
|
761
|
+
}
|
|
762
|
+
});
|
|
763
|
+
} catch {}
|
|
764
|
+
const displayHost = options.host === "0.0.0.0" || options.host === "::" ? "localhost" : options.host;
|
|
711
765
|
return {
|
|
712
766
|
port: serverPort,
|
|
713
767
|
host: options.host,
|
|
714
|
-
url: `http://${
|
|
768
|
+
url: `http://${displayHost}:${serverPort}`,
|
|
715
769
|
stop: () => server.stop()
|
|
716
770
|
};
|
|
717
771
|
}
|
|
@@ -832,4 +886,4 @@ export {
|
|
|
832
886
|
buildProject
|
|
833
887
|
};
|
|
834
888
|
|
|
835
|
-
//# debugId=
|
|
889
|
+
//# debugId=6213DB37D3DC5B3264756E2164756E21
|