@happyvertical/smrt-core 0.56.0 → 0.56.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/agents/generators.md +37 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -1
- package/dist/cookbook/engine/commands.d.ts.map +1 -1
- package/dist/cookbook/engine/commands.js +12 -0
- package/dist/cookbook/engine/commands.js.map +1 -1
- package/dist/cookbook/engine/defaults.d.ts.map +1 -1
- package/dist/cookbook/engine/defaults.js +8 -0
- package/dist/cookbook/engine/defaults.js.map +1 -1
- package/dist/cookbook/engine/document.d.ts +4 -0
- package/dist/cookbook/engine/document.d.ts.map +1 -1
- package/dist/cookbook/engine/document.js +11 -3
- package/dist/cookbook/engine/document.js.map +1 -1
- package/dist/cookbook/engine/engine.d.ts.map +1 -1
- package/dist/cookbook/engine/engine.js +3 -1
- package/dist/cookbook/engine/engine.js.map +1 -1
- package/dist/cookbook/engine/schemas.d.ts.map +1 -1
- package/dist/cookbook/engine/schemas.js +8 -0
- package/dist/cookbook/engine/schemas.js.map +1 -1
- package/dist/cookbook/engine/types.d.ts +5 -1
- package/dist/cookbook/engine/types.d.ts.map +1 -1
- package/dist/cookbook/engine/types.js.map +1 -1
- package/dist/generators/index.d.ts +1 -0
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +2 -1
- package/dist/generators/mcp-runtime-template.d.ts +3 -0
- package/dist/generators/mcp-runtime-template.d.ts.map +1 -1
- package/dist/generators/mcp-runtime-template.js +30 -4
- package/dist/generators/mcp-runtime-template.js.map +1 -1
- package/dist/generators/mcp.d.ts +5 -0
- package/dist/generators/mcp.d.ts.map +1 -1
- package/dist/generators/mcp.js +78 -7
- package/dist/generators/mcp.js.map +1 -1
- package/dist/generators.js +2 -1
- package/dist/index.js +2 -1
- package/dist/manifest/browser-capability.generated.js +34 -5
- package/dist/manifest/browser-capability.generated.js.map +1 -1
- package/dist/manifest/index.js +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/mcp-serializer.d.ts +38 -0
- package/dist/mcp-serializer.d.ts.map +1 -0
- package/dist/mcp-serializer.js +60 -0
- package/dist/mcp-serializer.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/index.js +34 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/index.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/errors.js +343 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/get-format.js +109 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/get-format.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js +102 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/resolve.js +673 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/resolve.js.map +1 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/utils.js +32 -0
- package/dist/node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/utils.js.map +1 -0
- package/dist/registry/types.d.ts +13 -0
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/smrt-knowledge.json +7 -5
- package/dist/utils/import-project-vite.js +1 -1
- package/dist/utils/import-workspace-module.js +1 -1
- package/dist/vite-plugin/dev-plane-route.js +1 -1
- package/dist/vite-plugin/import-build-aware.js +1 -1
- package/dist/vite-plugin/index.js +1 -1
- package/dist/vite-plugin/resources-route.js +1 -1
- package/dist/vite-plugin/sveltekit-generator.js +1 -1
- package/package.json +16 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-format.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/get-format.js"],"sourcesContent":["// Manually “tree shaken” from:\n// <https://github.com/nodejs/node/blob/7c3dce0/lib/internal/modules/esm/get_format.js>\n// Last checked on: Apr 29, 2024.\n\nimport {fileURLToPath} from 'node:url'\nimport {getPackageType} from './package-json-reader.js'\nimport {codes} from './errors.js'\n\nconst {ERR_UNKNOWN_FILE_EXTENSION} = codes\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/** @type {Record<string, string>} */\nconst extensionFormatMap = {\n // @ts-expect-error: hush.\n __proto__: null,\n '.cjs': 'commonjs',\n '.js': 'module',\n '.json': 'json',\n '.mjs': 'module'\n}\n\n/**\n * @param {string | null} mime\n * @returns {string | null}\n */\nfunction mimeToFormat(mime) {\n if (\n mime &&\n /\\s*(text|application)\\/javascript\\s*(;\\s*charset=utf-?8\\s*)?/i.test(mime)\n )\n return 'module'\n if (mime === 'application/json') return 'json'\n return null\n}\n\n/**\n * @callback ProtocolHandler\n * @param {URL} parsed\n * @param {{parentURL: string, source?: Buffer}} context\n * @param {boolean} ignoreErrors\n * @returns {string | null | void}\n */\n\n/**\n * @type {Record<string, ProtocolHandler>}\n */\nconst protocolHandlers = {\n // @ts-expect-error: hush.\n __proto__: null,\n 'data:': getDataProtocolModuleFormat,\n 'file:': getFileProtocolModuleFormat,\n 'http:': getHttpProtocolModuleFormat,\n 'https:': getHttpProtocolModuleFormat,\n 'node:'() {\n return 'builtin'\n }\n}\n\n/**\n * @param {URL} parsed\n */\nfunction getDataProtocolModuleFormat(parsed) {\n const {1: mime} = /^([^/]+\\/[^;,]+)[^,]*?(;base64)?,/.exec(\n parsed.pathname\n ) || [null, null, null]\n return mimeToFormat(mime)\n}\n\n/**\n * Returns the file extension from a URL.\n *\n * Should give similar result to\n * `require('node:path').extname(require('node:url').fileURLToPath(url))`\n * when used with a `file:` URL.\n *\n * @param {URL} url\n * @returns {string}\n */\nfunction extname(url) {\n const pathname = url.pathname\n let index = pathname.length\n\n while (index--) {\n const code = pathname.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n return ''\n }\n\n if (code === 46 /* `.` */) {\n return pathname.codePointAt(index - 1) === 47 /* `/` */\n ? ''\n : pathname.slice(index)\n }\n }\n\n return ''\n}\n\n/**\n * @type {ProtocolHandler}\n */\nfunction getFileProtocolModuleFormat(url, _context, ignoreErrors) {\n const value = extname(url)\n\n if (value === '.js') {\n const packageType = getPackageType(url)\n\n if (packageType !== 'none') {\n return packageType\n }\n\n return 'commonjs'\n }\n\n if (value === '') {\n const packageType = getPackageType(url)\n\n // Legacy behavior\n if (packageType === 'none' || packageType === 'commonjs') {\n return 'commonjs'\n }\n\n // Note: we don’t implement WASM, so we don’t need\n // `getFormatOfExtensionlessFile` from `formats`.\n return 'module'\n }\n\n const format = extensionFormatMap[value]\n if (format) return format\n\n // Explicit undefined return indicates load hook should rerun format check\n if (ignoreErrors) {\n return undefined\n }\n\n const filepath = fileURLToPath(url)\n throw new ERR_UNKNOWN_FILE_EXTENSION(value, filepath)\n}\n\nfunction getHttpProtocolModuleFormat() {\n // To do: HTTPS imports.\n}\n\n/**\n * @param {URL} url\n * @param {{parentURL: string}} context\n * @returns {string | null}\n */\nexport function defaultGetFormatWithoutErrors(url, context) {\n const protocol = url.protocol\n\n if (!hasOwnProperty.call(protocolHandlers, protocol)) {\n return null\n }\n\n return protocolHandlers[protocol](url, context, true) || null\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAQA,IAAM,EAAC,+BAA8B;AAErC,IAAM,iBAAiB,CAAC,EAAE;;AAG1B,IAAM,qBAAqB;CAEzB,WAAW;CACX,QAAQ;CACR,OAAO;CACP,SAAS;CACT,QAAQ;AACV;;;;;AAMA,SAAS,aAAa,MAAM;CAC1B,IACE,QACA,gEAAgE,KAAK,IAAI,GAEzE,OAAO;CACT,IAAI,SAAS,oBAAoB,OAAO;CACxC,OAAO;AACT;;;;;;;;;;;AAaA,IAAM,mBAAmB;CAEvB,WAAW;CACX,SAAS;CACT,SAAS;CACT,SAAS;CACT,UAAU;CACV,UAAU;EACR,OAAO;CACT;AACF;;;;AAKA,SAAS,4BAA4B,QAAQ;CAC3C,MAAM,EAAC,GAAG,SAAQ,oCAAoC,KACpD,OAAO,QACT,KAAK;EAAC;EAAM;EAAM;CAAI;CACtB,OAAO,aAAa,IAAI;AAC1B;;;;;;;;;;;AAYA,SAAS,QAAQ,KAAK;CACpB,MAAM,WAAW,IAAI;CACrB,IAAI,QAAQ,SAAS;CAErB,OAAO,SAAS;EACd,MAAM,OAAO,SAAS,YAAY,KAAK;EAEvC,IAAI,SAAS,IACX,OAAO;EAGT,IAAI,SAAS,IACX,OAAO,SAAS,YAAY,QAAQ,CAAC,MAAM,KACvC,KACA,SAAS,MAAM,KAAK;CAE5B;CAEA,OAAO;AACT;;;;AAKA,SAAS,4BAA4B,KAAK,UAAU,cAAc;CAChE,MAAM,QAAQ,QAAQ,GAAG;CAEzB,IAAI,UAAU,OAAO;EACnB,MAAM,cAAc,eAAe,GAAG;EAEtC,IAAI,gBAAgB,QAClB,OAAO;EAGT,OAAO;CACT;CAEA,IAAI,UAAU,IAAI;EAChB,MAAM,cAAc,eAAe,GAAG;EAGtC,IAAI,gBAAgB,UAAU,gBAAgB,YAC5C,OAAO;EAKT,OAAO;CACT;CAEA,MAAM,SAAS,mBAAmB;CAClC,IAAI,QAAQ,OAAO;CAGnB,IAAI,cACF;CAIF,MAAM,IAAI,2BAA2B,OADpB,cAAc,GACa,CAAQ;AACtD;AAEA,SAAS,8BAA8B,CAEvC;;;;;;AAOA,SAAgB,8BAA8B,KAAK,SAAS;CAC1D,MAAM,WAAW,IAAI;CAErB,IAAI,CAAC,eAAe,KAAK,kBAAkB,QAAQ,GACjD,OAAO;CAGT,OAAO,iBAAiB,SAAS,CAAC,KAAK,SAAS,IAAI,KAAK;AAC3D"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { codes } from "./errors.js";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
//#region ../../node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js
|
|
6
|
+
/**
|
|
7
|
+
* @import {ErrnoException} from './errors.js'
|
|
8
|
+
*
|
|
9
|
+
* @typedef {'commonjs' | 'module' | 'none'} PackageType
|
|
10
|
+
*
|
|
11
|
+
* @typedef PackageConfig
|
|
12
|
+
* @property {string} pjsonPath
|
|
13
|
+
* @property {boolean} exists
|
|
14
|
+
* @property {string | undefined} [main]
|
|
15
|
+
* @property {string | undefined} [name]
|
|
16
|
+
* @property {PackageType} type
|
|
17
|
+
* @property {Record<string, unknown> | undefined} [exports]
|
|
18
|
+
* @property {Record<string, unknown> | undefined} [imports]
|
|
19
|
+
*/
|
|
20
|
+
var hasOwnProperty = {}.hasOwnProperty;
|
|
21
|
+
var { ERR_INVALID_PACKAGE_CONFIG } = codes;
|
|
22
|
+
/** @type {Map<string, PackageConfig>} */
|
|
23
|
+
var cache = /* @__PURE__ */ new Map();
|
|
24
|
+
/**
|
|
25
|
+
* @param {string} jsonPath
|
|
26
|
+
* @param {{specifier: URL | string, base?: URL}} options
|
|
27
|
+
* @returns {PackageConfig}
|
|
28
|
+
*/
|
|
29
|
+
function read(jsonPath, { base, specifier }) {
|
|
30
|
+
const existing = cache.get(jsonPath);
|
|
31
|
+
if (existing) return existing;
|
|
32
|
+
/** @type {string | undefined} */
|
|
33
|
+
let string;
|
|
34
|
+
try {
|
|
35
|
+
string = fs.readFileSync(path.toNamespacedPath(jsonPath), "utf8");
|
|
36
|
+
} catch (error) {
|
|
37
|
+
const exception = error;
|
|
38
|
+
if (exception.code !== "ENOENT") throw exception;
|
|
39
|
+
}
|
|
40
|
+
/** @type {PackageConfig} */
|
|
41
|
+
const result = {
|
|
42
|
+
exists: false,
|
|
43
|
+
pjsonPath: jsonPath,
|
|
44
|
+
main: void 0,
|
|
45
|
+
name: void 0,
|
|
46
|
+
type: "none",
|
|
47
|
+
exports: void 0,
|
|
48
|
+
imports: void 0
|
|
49
|
+
};
|
|
50
|
+
if (string !== void 0) {
|
|
51
|
+
/** @type {Record<string, unknown>} */
|
|
52
|
+
let parsed;
|
|
53
|
+
try {
|
|
54
|
+
parsed = JSON.parse(string);
|
|
55
|
+
} catch (error_) {
|
|
56
|
+
const cause = error_;
|
|
57
|
+
const error = new ERR_INVALID_PACKAGE_CONFIG(jsonPath, (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), cause.message);
|
|
58
|
+
error.cause = cause;
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
result.exists = true;
|
|
62
|
+
if (hasOwnProperty.call(parsed, "name") && typeof parsed.name === "string") result.name = parsed.name;
|
|
63
|
+
if (hasOwnProperty.call(parsed, "main") && typeof parsed.main === "string") result.main = parsed.main;
|
|
64
|
+
if (hasOwnProperty.call(parsed, "exports")) result.exports = parsed.exports;
|
|
65
|
+
if (hasOwnProperty.call(parsed, "imports")) result.imports = parsed.imports;
|
|
66
|
+
if (hasOwnProperty.call(parsed, "type") && (parsed.type === "commonjs" || parsed.type === "module")) result.type = parsed.type;
|
|
67
|
+
}
|
|
68
|
+
cache.set(jsonPath, result);
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @param {URL | string} resolved
|
|
73
|
+
* @returns {PackageConfig}
|
|
74
|
+
*/
|
|
75
|
+
function getPackageScopeConfig(resolved) {
|
|
76
|
+
let packageJSONUrl = new URL("package.json", resolved);
|
|
77
|
+
while (true) {
|
|
78
|
+
if (packageJSONUrl.pathname.endsWith("node_modules/package.json")) break;
|
|
79
|
+
const packageConfig = read(fileURLToPath(packageJSONUrl), { specifier: resolved });
|
|
80
|
+
if (packageConfig.exists) return packageConfig;
|
|
81
|
+
const lastPackageJSONUrl = packageJSONUrl;
|
|
82
|
+
packageJSONUrl = new URL("../package.json", packageJSONUrl);
|
|
83
|
+
if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
pjsonPath: fileURLToPath(packageJSONUrl),
|
|
87
|
+
exists: false,
|
|
88
|
+
type: "none"
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns the package type for a given URL.
|
|
93
|
+
* @param {URL} url - The URL to get the package type for.
|
|
94
|
+
* @returns {PackageType}
|
|
95
|
+
*/
|
|
96
|
+
function getPackageType(url) {
|
|
97
|
+
return getPackageScopeConfig(url).type;
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { getPackageScopeConfig, getPackageType, read };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=package-json-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json-reader.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/import-meta-resolve@4.2.0/node_modules/import-meta-resolve/lib/package-json-reader.js"],"sourcesContent":["// Manually “tree shaken” from:\n// <https://github.com/nodejs/node/blob/7c3dce0/lib/internal/modules/package_json_reader.js>\n// Last checked on: Apr 29, 2024.\n// Removed the native dependency.\n// Also: no need to cache, we do that in resolve already.\n\n/**\n * @import {ErrnoException} from './errors.js'\n *\n * @typedef {'commonjs' | 'module' | 'none'} PackageType\n *\n * @typedef PackageConfig\n * @property {string} pjsonPath\n * @property {boolean} exists\n * @property {string | undefined} [main]\n * @property {string | undefined} [name]\n * @property {PackageType} type\n * @property {Record<string, unknown> | undefined} [exports]\n * @property {Record<string, unknown> | undefined} [imports]\n */\n\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport {fileURLToPath} from 'node:url'\nimport {codes} from './errors.js'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\nconst {ERR_INVALID_PACKAGE_CONFIG} = codes\n\n/** @type {Map<string, PackageConfig>} */\nconst cache = new Map()\n\n/**\n * @param {string} jsonPath\n * @param {{specifier: URL | string, base?: URL}} options\n * @returns {PackageConfig}\n */\nexport function read(jsonPath, {base, specifier}) {\n const existing = cache.get(jsonPath)\n\n if (existing) {\n return existing\n }\n\n /** @type {string | undefined} */\n let string\n\n try {\n string = fs.readFileSync(path.toNamespacedPath(jsonPath), 'utf8')\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error)\n\n if (exception.code !== 'ENOENT') {\n throw exception\n }\n }\n\n /** @type {PackageConfig} */\n const result = {\n exists: false,\n pjsonPath: jsonPath,\n main: undefined,\n name: undefined,\n type: 'none', // Ignore unknown types for forwards compatibility\n exports: undefined,\n imports: undefined\n }\n\n if (string !== undefined) {\n /** @type {Record<string, unknown>} */\n let parsed\n\n try {\n parsed = JSON.parse(string)\n } catch (error_) {\n const cause = /** @type {ErrnoException} */ (error_)\n const error = new ERR_INVALID_PACKAGE_CONFIG(\n jsonPath,\n (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n cause.message\n )\n error.cause = cause\n throw error\n }\n\n result.exists = true\n\n if (\n hasOwnProperty.call(parsed, 'name') &&\n typeof parsed.name === 'string'\n ) {\n result.name = parsed.name\n }\n\n if (\n hasOwnProperty.call(parsed, 'main') &&\n typeof parsed.main === 'string'\n ) {\n result.main = parsed.main\n }\n\n if (hasOwnProperty.call(parsed, 'exports')) {\n // @ts-expect-error: assume valid.\n result.exports = parsed.exports\n }\n\n if (hasOwnProperty.call(parsed, 'imports')) {\n // @ts-expect-error: assume valid.\n result.imports = parsed.imports\n }\n\n // Ignore unknown types for forwards compatibility\n if (\n hasOwnProperty.call(parsed, 'type') &&\n (parsed.type === 'commonjs' || parsed.type === 'module')\n ) {\n result.type = parsed.type\n }\n }\n\n cache.set(jsonPath, result)\n\n return result\n}\n\n/**\n * @param {URL | string} resolved\n * @returns {PackageConfig}\n */\nexport function getPackageScopeConfig(resolved) {\n // Note: in Node, this is now a native module.\n let packageJSONUrl = new URL('package.json', resolved)\n\n while (true) {\n const packageJSONPath = packageJSONUrl.pathname\n if (packageJSONPath.endsWith('node_modules/package.json')) {\n break\n }\n\n const packageConfig = read(fileURLToPath(packageJSONUrl), {\n specifier: resolved\n })\n\n if (packageConfig.exists) {\n return packageConfig\n }\n\n const lastPackageJSONUrl = packageJSONUrl\n packageJSONUrl = new URL('../package.json', packageJSONUrl)\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check \"/package.json\" for Windows support).\n if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) {\n break\n }\n }\n\n const packageJSONPath = fileURLToPath(packageJSONUrl)\n // ^^ Note: in Node, this is now a native module.\n\n return {\n pjsonPath: packageJSONPath,\n exists: false,\n type: 'none'\n }\n}\n\n/**\n * Returns the package type for a given URL.\n * @param {URL} url - The URL to get the package type for.\n * @returns {PackageType}\n */\nexport function getPackageType(url) {\n // To do @anonrig: Write a C++ function that returns only \"type\".\n return getPackageScopeConfig(url).type\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;AA0BA,IAAM,iBAAiB,CAAC,EAAE;AAE1B,IAAM,EAAC,+BAA8B;;AAGrC,IAAM,wBAAQ,IAAI,IAAI;;;;;;AAOtB,SAAgB,KAAK,UAAU,EAAC,MAAM,aAAY;CAChD,MAAM,WAAW,MAAM,IAAI,QAAQ;CAEnC,IAAI,UACF,OAAO;;CAIT,IAAI;CAEJ,IAAI;EACF,SAAS,GAAG,aAAa,KAAK,iBAAiB,QAAQ,GAAG,MAAM;CAClE,SAAS,OAAO;EACd,MAAM,YAA2C;EAEjD,IAAI,UAAU,SAAS,UACrB,MAAM;CAEV;;CAGA,MAAM,SAAS;EACb,QAAQ;EACR,WAAW;EACX,MAAM,KAAA;EACN,MAAM,KAAA;EACN,MAAM;EACN,SAAS,KAAA;EACT,SAAS,KAAA;CACX;CAEA,IAAI,WAAW,KAAA,GAAW;;EAExB,IAAI;EAEJ,IAAI;GACF,SAAS,KAAK,MAAM,MAAM;EAC5B,SAAS,QAAQ;GACf,MAAM,QAAuC;GAC7C,MAAM,QAAQ,IAAI,2BAChB,WACC,OAAO,IAAI,UAAU,WAAW,MAAM,cAAc,QAAQ,SAAS,GACtE,MAAM,OACR;GACA,MAAM,QAAQ;GACd,MAAM;EACR;EAEA,OAAO,SAAS;EAEhB,IACE,eAAe,KAAK,QAAQ,MAAM,KAClC,OAAO,OAAO,SAAS,UAEvB,OAAO,OAAO,OAAO;EAGvB,IACE,eAAe,KAAK,QAAQ,MAAM,KAClC,OAAO,OAAO,SAAS,UAEvB,OAAO,OAAO,OAAO;EAGvB,IAAI,eAAe,KAAK,QAAQ,SAAS,GAEvC,OAAO,UAAU,OAAO;EAG1B,IAAI,eAAe,KAAK,QAAQ,SAAS,GAEvC,OAAO,UAAU,OAAO;EAI1B,IACE,eAAe,KAAK,QAAQ,MAAM,MACjC,OAAO,SAAS,cAAc,OAAO,SAAS,WAE/C,OAAO,OAAO,OAAO;CAEzB;CAEA,MAAM,IAAI,UAAU,MAAM;CAE1B,OAAO;AACT;;;;;AAMA,SAAgB,sBAAsB,UAAU;CAE9C,IAAI,iBAAiB,IAAI,IAAI,gBAAgB,QAAQ;CAErD,OAAO,MAAM;EAEX,IADwB,eAAe,SACnB,SAAS,2BAA2B,GACtD;EAGF,MAAM,gBAAgB,KAAK,cAAc,cAAc,GAAG,EACxD,WAAW,SACb,CAAC;EAED,IAAI,cAAc,QAChB,OAAO;EAGT,MAAM,qBAAqB;EAC3B,iBAAiB,IAAI,IAAI,mBAAmB,cAAc;EAI1D,IAAI,eAAe,aAAa,mBAAmB,UACjD;CAEJ;CAKA,OAAO;EACL,WAJsB,cAAc,cAIX;EACzB,QAAQ;EACR,MAAM;CACR;AACF;;;;;;AAOA,SAAgB,eAAe,KAAK;CAElC,OAAO,sBAAsB,GAAG,CAAC,CAAC;AACpC"}
|