mates-fullstack 1.0.0-beta.1
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/README.md +311 -0
- package/dist/arctic-auth.d.ts +101 -0
- package/dist/arctic-auth.d.ts.map +1 -0
- package/dist/arctic-auth.js +538 -0
- package/dist/arctic-auth.js.map +1 -0
- package/dist/asset-manifest.d.ts +14 -0
- package/dist/asset-manifest.d.ts.map +1 -0
- package/dist/asset-manifest.js +102 -0
- package/dist/asset-manifest.js.map +1 -0
- package/dist/browser.d.ts +18 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +25 -0
- package/dist/browser.js.map +1 -0
- package/dist/build-esbuild.d.ts +29 -0
- package/dist/build-esbuild.d.ts.map +1 -0
- package/dist/build-esbuild.js +699 -0
- package/dist/build-esbuild.js.map +1 -0
- package/dist/build-prod.d.ts +126 -0
- package/dist/build-prod.d.ts.map +1 -0
- package/dist/build-prod.js +1014 -0
- package/dist/build-prod.js.map +1 -0
- package/dist/cli-new.d.ts +14 -0
- package/dist/cli-new.d.ts.map +1 -0
- package/dist/cli-new.js +637 -0
- package/dist/cli-new.js.map +1 -0
- package/dist/client.d.ts +43 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +130 -0
- package/dist/client.js.map +1 -0
- package/dist/cors.d.ts +16 -0
- package/dist/cors.d.ts.map +1 -0
- package/dist/cors.js +60 -0
- package/dist/cors.js.map +1 -0
- package/dist/ctx.d.ts +78 -0
- package/dist/ctx.d.ts.map +1 -0
- package/dist/ctx.js +280 -0
- package/dist/ctx.js.map +1 -0
- package/dist/dev-watcher.d.ts +23 -0
- package/dist/dev-watcher.d.ts.map +1 -0
- package/dist/dev-watcher.js +136 -0
- package/dist/dev-watcher.js.map +1 -0
- package/dist/docs-generator.d.ts +69 -0
- package/dist/docs-generator.d.ts.map +1 -0
- package/dist/docs-generator.js +557 -0
- package/dist/docs-generator.js.map +1 -0
- package/dist/docs-page.d.ts +20 -0
- package/dist/docs-page.d.ts.map +1 -0
- package/dist/docs-page.js +1152 -0
- package/dist/docs-page.js.map +1 -0
- package/dist/download.d.ts +78 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +202 -0
- package/dist/download.js.map +1 -0
- package/dist/env-loader.d.ts +76 -0
- package/dist/env-loader.d.ts.map +1 -0
- package/dist/env-loader.js +213 -0
- package/dist/env-loader.js.map +1 -0
- package/dist/errors.d.ts +146 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +386 -0
- package/dist/errors.js.map +1 -0
- package/dist/head.d.ts +31 -0
- package/dist/head.d.ts.map +1 -0
- package/dist/head.js +245 -0
- package/dist/head.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/internal-prefixes.d.ts +16 -0
- package/dist/internal-prefixes.d.ts.map +1 -0
- package/dist/internal-prefixes.js +16 -0
- package/dist/internal-prefixes.js.map +1 -0
- package/dist/internal.d.ts +25 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +25 -0
- package/dist/internal.js.map +1 -0
- package/dist/jwt.d.ts +166 -0
- package/dist/jwt.d.ts.map +1 -0
- package/dist/jwt.js +261 -0
- package/dist/jwt.js.map +1 -0
- package/dist/log.d.ts +44 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +66 -0
- package/dist/log.js.map +1 -0
- package/dist/logger.d.ts +76 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +138 -0
- package/dist/logger.js.map +1 -0
- package/dist/main-runner.d.ts +59 -0
- package/dist/main-runner.d.ts.map +1 -0
- package/dist/main-runner.js +157 -0
- package/dist/main-runner.js.map +1 -0
- package/dist/mates-auth.d.ts +82 -0
- package/dist/mates-auth.d.ts.map +1 -0
- package/dist/mates-auth.js +323 -0
- package/dist/mates-auth.js.map +1 -0
- package/dist/middleware.d.ts +30 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +67 -0
- package/dist/middleware.js.map +1 -0
- package/dist/project-resolver.d.ts +102 -0
- package/dist/project-resolver.d.ts.map +1 -0
- package/dist/project-resolver.js +271 -0
- package/dist/project-resolver.js.map +1 -0
- package/dist/rate-limit.d.ts +37 -0
- package/dist/rate-limit.d.ts.map +1 -0
- package/dist/rate-limit.js +109 -0
- package/dist/rate-limit.js.map +1 -0
- package/dist/redirect.d.ts +84 -0
- package/dist/redirect.d.ts.map +1 -0
- package/dist/redirect.js +105 -0
- package/dist/redirect.js.map +1 -0
- package/dist/renderer.d.ts +91 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +630 -0
- package/dist/renderer.js.map +1 -0
- package/dist/request-logger.d.ts +12 -0
- package/dist/request-logger.d.ts.map +1 -0
- package/dist/request-logger.js +55 -0
- package/dist/request-logger.js.map +1 -0
- package/dist/rest.d.ts +25 -0
- package/dist/rest.d.ts.map +1 -0
- package/dist/rest.js +93 -0
- package/dist/rest.js.map +1 -0
- package/dist/router.d.ts +71 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +222 -0
- package/dist/router.js.map +1 -0
- package/dist/rpc-registry.d.ts +84 -0
- package/dist/rpc-registry.d.ts.map +1 -0
- package/dist/rpc-registry.js +271 -0
- package/dist/rpc-registry.js.map +1 -0
- package/dist/rpc-runner.d.ts +82 -0
- package/dist/rpc-runner.d.ts.map +1 -0
- package/dist/rpc-runner.js +564 -0
- package/dist/rpc-runner.js.map +1 -0
- package/dist/sanitize.d.ts +61 -0
- package/dist/sanitize.d.ts.map +1 -0
- package/dist/sanitize.js +193 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/security-headers.d.ts +114 -0
- package/dist/security-headers.d.ts.map +1 -0
- package/dist/security-headers.js +121 -0
- package/dist/security-headers.js.map +1 -0
- package/dist/server-fn.d.ts +323 -0
- package/dist/server-fn.d.ts.map +1 -0
- package/dist/server-fn.js +373 -0
- package/dist/server-fn.js.map +1 -0
- package/dist/server-public.d.ts +13 -0
- package/dist/server-public.d.ts.map +1 -0
- package/dist/server-public.js +12 -0
- package/dist/server-public.js.map +1 -0
- package/dist/server-timeout.d.ts +38 -0
- package/dist/server-timeout.d.ts.map +1 -0
- package/dist/server-timeout.js +46 -0
- package/dist/server-timeout.js.map +1 -0
- package/dist/server.d.ts +100 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1218 -0
- package/dist/server.js.map +1 -0
- package/dist/socket-router.d.ts +153 -0
- package/dist/socket-router.d.ts.map +1 -0
- package/dist/socket-router.js +612 -0
- package/dist/socket-router.js.map +1 -0
- package/dist/sso.d.ts +90 -0
- package/dist/sso.d.ts.map +1 -0
- package/dist/sso.js +261 -0
- package/dist/sso.js.map +1 -0
- package/dist/ssr-context.d.ts +49 -0
- package/dist/ssr-context.d.ts.map +1 -0
- package/dist/ssr-context.js +85 -0
- package/dist/ssr-context.js.map +1 -0
- package/dist/ssr-globals.d.ts +32 -0
- package/dist/ssr-globals.d.ts.map +1 -0
- package/dist/ssr-globals.js +1010 -0
- package/dist/ssr-globals.js.map +1 -0
- package/dist/ssr-template.d.ts +73 -0
- package/dist/ssr-template.d.ts.map +1 -0
- package/dist/ssr-template.js +507 -0
- package/dist/ssr-template.js.map +1 -0
- package/dist/stack-mapper.d.ts +25 -0
- package/dist/stack-mapper.d.ts.map +1 -0
- package/dist/stack-mapper.js +139 -0
- package/dist/stack-mapper.js.map +1 -0
- package/dist/stream.d.ts +89 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +299 -0
- package/dist/stream.js.map +1 -0
- package/dist/upload.d.ts +69 -0
- package/dist/upload.d.ts.map +1 -0
- package/dist/upload.js +110 -0
- package/dist/upload.js.map +1 -0
- package/dist/validate.d.ts +58 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +89 -0
- package/dist/validate.js.map +1 -0
- package/dist/verify-package.d.ts +3 -0
- package/dist/verify-package.d.ts.map +1 -0
- package/dist/verify-package.js +128 -0
- package/dist/verify-package.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { isPathInside } from "./project-resolver.js";
|
|
4
|
+
export function readAssetManifest(manifestPath) {
|
|
5
|
+
let raw;
|
|
6
|
+
try {
|
|
7
|
+
raw = fs.readFileSync(manifestPath, "utf-8");
|
|
8
|
+
}
|
|
9
|
+
catch (err) {
|
|
10
|
+
throw new Error(`[mates-fullstack] Unable to read asset manifest at ${manifestPath}: ${formatError(err)}`);
|
|
11
|
+
}
|
|
12
|
+
let parsed;
|
|
13
|
+
try {
|
|
14
|
+
parsed = JSON.parse(raw);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest JSON at ${manifestPath}: ${formatError(err)}`);
|
|
18
|
+
}
|
|
19
|
+
if (!isRecord(parsed)) {
|
|
20
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest at ${manifestPath}: expected an object.`);
|
|
21
|
+
}
|
|
22
|
+
if (typeof parsed.client !== "string" || parsed.client.trim() === "") {
|
|
23
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest at ${manifestPath}: missing string "client" entry.`);
|
|
24
|
+
}
|
|
25
|
+
if (parsed.css !== undefined &&
|
|
26
|
+
parsed.css !== null &&
|
|
27
|
+
(typeof parsed.css !== "string" || parsed.css.trim() === "")) {
|
|
28
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest at ${manifestPath}: "css" must be a string or null.`);
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
client: parsed.client,
|
|
32
|
+
css: typeof parsed.css === "string" ? parsed.css : null,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function resolveAssetManifest(manifestPath) {
|
|
36
|
+
const manifest = readAssetManifest(manifestPath);
|
|
37
|
+
const assetsDir = path.dirname(manifestPath);
|
|
38
|
+
const clientBundlePath = resolveManifestFile(assetsDir, manifest.client, "client", manifestPath);
|
|
39
|
+
let cssFilename = null;
|
|
40
|
+
if (manifest.css) {
|
|
41
|
+
resolveManifestFile(assetsDir, manifest.css, "css", manifestPath);
|
|
42
|
+
cssFilename = manifest.css;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
assetsDir,
|
|
46
|
+
clientBundlePath,
|
|
47
|
+
clientFilename: manifest.client,
|
|
48
|
+
cssFilename,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function findProductionAssets(assetsDir, warn = console.warn) {
|
|
52
|
+
const manifestPath = path.join(assetsDir, "manifest.json");
|
|
53
|
+
if (fs.existsSync(manifestPath)) {
|
|
54
|
+
return resolveAssetManifest(manifestPath);
|
|
55
|
+
}
|
|
56
|
+
if (!fs.existsSync(assetsDir))
|
|
57
|
+
return null;
|
|
58
|
+
warn(`[mates-fullstack] dist/assets/manifest.json was not found; falling back to scanning client*.js. ` +
|
|
59
|
+
`Run a fresh production build to restore deterministic asset selection.`);
|
|
60
|
+
const clientFilename = findLatestFile(assetsDir, (file) => file.startsWith("client") && file.endsWith(".js") && !file.endsWith(".map"));
|
|
61
|
+
if (!clientFilename)
|
|
62
|
+
return null;
|
|
63
|
+
const cssFilename = findLatestFile(assetsDir, (file) => file.startsWith("client") && file.endsWith(".css"));
|
|
64
|
+
return {
|
|
65
|
+
assetsDir,
|
|
66
|
+
clientBundlePath: path.join(assetsDir, clientFilename),
|
|
67
|
+
clientFilename,
|
|
68
|
+
cssFilename,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function resolveManifestFile(assetsDir, filename, key, manifestPath) {
|
|
72
|
+
if (path.isAbsolute(filename)) {
|
|
73
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest at ${manifestPath}: "${key}" must be relative, got ${filename}.`);
|
|
74
|
+
}
|
|
75
|
+
const resolved = path.resolve(assetsDir, filename);
|
|
76
|
+
if (!isPathInside(assetsDir, resolved)) {
|
|
77
|
+
throw new Error(`[mates-fullstack] Invalid asset manifest at ${manifestPath}: "${key}" points outside dist/assets.`);
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
if (fs.statSync(resolved).isFile())
|
|
81
|
+
return resolved;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* throw below */
|
|
85
|
+
}
|
|
86
|
+
throw new Error(`[mates-fullstack] Asset manifest points to missing ${key} file: ${filename}. ` +
|
|
87
|
+
`Run 'mates-fullstack build' again.`);
|
|
88
|
+
}
|
|
89
|
+
function findLatestFile(dir, predicate) {
|
|
90
|
+
return (fs
|
|
91
|
+
.readdirSync(dir)
|
|
92
|
+
.filter(predicate)
|
|
93
|
+
.sort((a, b) => fs.statSync(path.join(dir, b)).mtimeMs -
|
|
94
|
+
fs.statSync(path.join(dir, a)).mtimeMs)[0] ?? null);
|
|
95
|
+
}
|
|
96
|
+
function isRecord(value) {
|
|
97
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
98
|
+
}
|
|
99
|
+
function formatError(err) {
|
|
100
|
+
return err instanceof Error ? err.message : String(err);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=asset-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-manifest.js","sourceRoot":"","sources":["../src/asset-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mates-fullstack/browser — browser-safe exports only.
|
|
3
|
+
*
|
|
4
|
+
* This file contains only the exports that are safe to use in the browser.
|
|
5
|
+
* It has zero Node.js dependencies.
|
|
6
|
+
*
|
|
7
|
+
* The build plugin replaces any import of "mates-fullstack" from client code
|
|
8
|
+
* with this file, so only browser-safe code reaches the bundle.
|
|
9
|
+
*
|
|
10
|
+
* Users can import from "mates-fullstack" in both client and server code —
|
|
11
|
+
* the build plugin handles the substitution automatically.
|
|
12
|
+
*/
|
|
13
|
+
export { ServerError, AppError, NotFoundError, AuthError, ForbiddenError, ValidationError, RateLimitError, reconstructError, isMatesError, getErrorStatus, type SerializedError, } from "./errors.js";
|
|
14
|
+
export { Redirect, isMatesRedirect, isExternalUrl, type SerializedRedirect, } from "./redirect.js";
|
|
15
|
+
export { readSseStream } from "./stream.js";
|
|
16
|
+
export { triggerBrowserDownload } from "./download.js";
|
|
17
|
+
export { isDev } from "./log.js";
|
|
18
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAIrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mates-fullstack/browser — browser-safe exports only.
|
|
3
|
+
*
|
|
4
|
+
* This file contains only the exports that are safe to use in the browser.
|
|
5
|
+
* It has zero Node.js dependencies.
|
|
6
|
+
*
|
|
7
|
+
* The build plugin replaces any import of "mates-fullstack" from client code
|
|
8
|
+
* with this file, so only browser-safe code reaches the bundle.
|
|
9
|
+
*
|
|
10
|
+
* Users can import from "mates-fullstack" in both client and server code —
|
|
11
|
+
* the build plugin handles the substitution automatically.
|
|
12
|
+
*/
|
|
13
|
+
// ─── Error classes (browser-safe) ────────────────────────────────────────────
|
|
14
|
+
// These are thrown by server functions and reconstructed on the client.
|
|
15
|
+
// They have no Node.js dependencies.
|
|
16
|
+
export { ServerError, AppError, NotFoundError, AuthError, ForbiddenError, ValidationError, RateLimitError, reconstructError, isMatesError, getErrorStatus, } from "./errors.js";
|
|
17
|
+
// ─── Redirect (browser-safe) ─────────────────────────────────────────────────
|
|
18
|
+
export { Redirect, isMatesRedirect, isExternalUrl, } from "./redirect.js";
|
|
19
|
+
// ─── Stream reader (browser-safe) ─────────────────────────────────────────────
|
|
20
|
+
export { readSseStream } from "./stream.js";
|
|
21
|
+
// ─── Download trigger (browser-safe) ─────────────────────────────────────────
|
|
22
|
+
export { triggerBrowserDownload } from "./download.js";
|
|
23
|
+
// ─── isDev (browser-safe) ─────────────────────────────────────────────────────
|
|
24
|
+
export { isDev } from "./log.js";
|
|
25
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,gFAAgF;AAChF,wEAAwE;AACxE,qCAAqC;AAErC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GAEf,MAAM,aAAa,CAAC;AAErB,gFAAgF;AAEhF,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,GAEd,MAAM,eAAe,CAAC;AAEvB,iFAAiF;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,gFAAgF;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,iFAAiF;AAEjF,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface TransformResult {
|
|
2
|
+
code: string;
|
|
3
|
+
map?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface DevModuleTransformOptions {
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
moduleRoot?: string;
|
|
8
|
+
modulePrefix?: string;
|
|
9
|
+
apiDir: string | null;
|
|
10
|
+
publicEnv: Record<string, string>;
|
|
11
|
+
sourceUrl?: string;
|
|
12
|
+
importMap?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
export declare function clearTransformCache(): void;
|
|
15
|
+
export declare function buildDefines(publicEnv: Record<string, string>): Record<string, string>;
|
|
16
|
+
export declare function extractRpcStub(source: string, filePath: string, apiDir: string): string;
|
|
17
|
+
export declare function transformFile(filePath: string, projectRoot: string, apiDir: string | null, publicEnv: Record<string, string>, sourceUrl?: string): Promise<TransformResult | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Transform one source file for no-bundle dev mode.
|
|
20
|
+
*
|
|
21
|
+
* Unlike `transformFile()`, this rewrites ESM specifiers so the browser can load
|
|
22
|
+
* TypeScript and package files directly from the dev server. Stylesheets are
|
|
23
|
+
* bundled separately into one linked CSS file; CSS imports are rewritten to a
|
|
24
|
+
* no-op compatibility module.
|
|
25
|
+
*/
|
|
26
|
+
export declare function transformDevModule(filePath: string, options: DevModuleTransformOptions): Promise<TransformResult | null>;
|
|
27
|
+
export declare function isVirtualFile(pathname: string): boolean;
|
|
28
|
+
export declare function serveVirtualFile(pathname: string): Promise<string | null>;
|
|
29
|
+
//# sourceMappingURL=build-esbuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-esbuild.d.ts","sourceRoot":"","sources":["../src/build-esbuild.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAQD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAuBD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAMD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAmDR;AAsBD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAuFjC;AAWD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmBjC;AAmiBD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
|