lifecycleion 0.0.18 → 0.0.19

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 CHANGED
@@ -1,4 +1,4 @@
1
- # Lifecycleion v0.0.18
1
+ # Lifecycleion v0.0.19
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/lifecycleion.svg)](https://badge.fury.io/js/lifecycleion)
4
4
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/dev-mode.ts"],"sourcesContent":["// Stored in globalThis so state survives module re-evaluation and works across\n// module boundaries.\nconst GLOBAL_KEY = '__lifecycleion_is_dev__';\nconst INIT_PARAM_KEY = '__lifecycleion_init_param__';\n\ntype DevModeSource = 'cmd' | 'node_env' | 'both';\ntype InitParam =\n | boolean\n | { detect: DevModeSource; strict?: boolean }\n | undefined;\n\n// Cast once at module level — avoids repeating the assertion in every function.\nconst g = globalThis as typeof globalThis & Record<string, unknown>;\n\nfunction detectValue(detect: DevModeSource, isStrict?: boolean): boolean {\n // Guard against environments where process or its properties may not exist\n // (e.g. browser without polyfill, Deno without Node compat, edge runtimes).\n // Vite statically replaces process.env.NODE_ENV at build time, so it is safe\n // on the client. process.argv is an empty array shim in browsers — harmless.\n const argv: string[] =\n typeof process !== 'undefined' ? (process.argv ?? []) : [];\n const env: string | undefined =\n typeof process !== 'undefined' ? process.env?.NODE_ENV : undefined;\n\n const cmdArg = argv.find((a) => a === 'dev' || a === 'prod');\n\n if (isStrict && detect === 'cmd' && cmdArg === undefined) {\n throw new Error('initDevMode: expected \"dev\" or \"prod\" as a CLI argument');\n }\n\n const isFromCmd = cmdArg !== undefined ? cmdArg === 'dev' : false;\n const isFromEnv = env === 'development';\n\n if (detect === 'cmd') {\n return isFromCmd;\n }\n\n if (detect === 'node_env') {\n return isFromEnv;\n }\n\n // 'both': cmd wins when explicitly present, otherwise fall back to NODE_ENV\n return cmdArg !== undefined ? isFromCmd : isFromEnv;\n}\n\nfunction resolveInitParam(param: InitParam): boolean {\n if (param === undefined) {\n return detectValue('both');\n }\n\n if (typeof param === 'boolean') {\n return param;\n }\n\n return detectValue(param.detect, param.strict);\n}\n\n/**\n * Returns the current dev mode value.\n *\n * Reads `globalThis.__lifecycleion_is_dev__`. Defaults to `false` if\n * `initDevMode()` has not been called yet.\n */\nexport function getDevMode(): boolean {\n return typeof g[GLOBAL_KEY] === 'boolean' ? g[GLOBAL_KEY] : false;\n}\n\n/**\n * Sets the dev mode global for the current process.\n *\n * First-wins: if the global is already set (e.g. set by the HTML injection on\n * the client, or by a prior `initDevMode()` call), this is a no-op. Call once\n * at startup before serving any requests.\n *\n * @param param\n * - `true` / `false` — explicit value\n * - `{ detect: 'cmd' }` — read from `process.argv` (\"dev\" or \"prod\")\n * - `{ detect: 'node_env' }` — read from `NODE_ENV`\n * - `{ detect: 'both' }` — argv takes precedence, falls back to `NODE_ENV`\n * - `{ detect: 'cmd', strict: true }` — argv required, throws if absent\n * - omitted — same as `{ detect: 'both' }`\n */\nexport function initDevMode(\n param?: boolean | { detect: DevModeSource; strict?: boolean },\n): void {\n if (typeof g[GLOBAL_KEY] === 'boolean') {\n return; // first-wins — already initialized, no-op\n }\n\n g[INIT_PARAM_KEY] = param; // save original param so 'redetect' can replay it\n g[GLOBAL_KEY] = resolveInitParam(param);\n}\n\n/**\n * Bypasses first-wins semantics and forces the dev mode value.\n *\n * Intended for testing or tooling — not for production use.\n *\n * Pass `'redetect'` to re-run the same detection logic that\n * `initDevMode()` used originally.\n */\nexport function overrideDevMode(value: boolean | 'redetect'): void {\n const savedParam = g[INIT_PARAM_KEY] as InitParam;\n g[GLOBAL_KEY] = value === 'redetect' ? resolveInitParam(savedParam) : value;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,aAAa;AACnB,IAAM,iBAAiB;AASvB,IAAM,IAAI;AAEV,SAAS,YAAY,QAAuB,UAA6B;AAKvE,QAAM,OACJ,OAAO,YAAY,cAAe,QAAQ,QAAQ,CAAC,IAAK,CAAC;AAC3D,QAAM,MACJ,OAAO,YAAY,cAAc,QAAQ,KAAK,WAAW;AAE3D,QAAM,SAAS,KAAK,KAAK,CAAC,MAAM,MAAM,SAAS,MAAM,MAAM;AAE3D,MAAI,YAAY,WAAW,SAAS,WAAW,QAAW;AACxD,UAAM,IAAI,MAAM,yDAAyD;AAAA,EAC3E;AAEA,QAAM,YAAY,WAAW,SAAY,WAAW,QAAQ;AAC5D,QAAM,YAAY,QAAQ;AAE1B,MAAI,WAAW,OAAO;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,YAAY;AACzB,WAAO;AAAA,EACT;AAGA,SAAO,WAAW,SAAY,YAAY;AAC5C;AAEA,SAAS,iBAAiB,OAA2B;AACnD,MAAI,UAAU,QAAW;AACvB,WAAO,YAAY,MAAM;AAAA,EAC3B;AAEA,MAAI,OAAO,UAAU,WAAW;AAC9B,WAAO;AAAA,EACT;AAEA,SAAO,YAAY,MAAM,QAAQ,MAAM,MAAM;AAC/C;AAQO,SAAS,aAAsB;AACpC,SAAO,OAAO,EAAE,UAAU,MAAM,YAAY,EAAE,UAAU,IAAI;AAC9D;AAiBO,SAAS,YACd,OACM;AACN,MAAI,OAAO,EAAE,UAAU,MAAM,WAAW;AACtC;AAAA,EACF;AAEA,IAAE,cAAc,IAAI;AACpB,IAAE,UAAU,IAAI,iBAAiB,KAAK;AACxC;AAUO,SAAS,gBAAgB,OAAmC;AACjE,QAAM,aAAa,EAAE,cAAc;AACnC,IAAE,UAAU,IAAI,UAAU,aAAa,iBAAiB,UAAU,IAAI;AACxE;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/dev-mode.ts"],"sourcesContent":["// Stored in globalThis so state survives module re-evaluation and works across\n// module boundaries.\nconst GLOBAL_KEY = '__lifecycleion_is_dev__';\nconst INIT_PARAM_KEY = '__lifecycleion_init_param__';\n\ntype DevModeSource = 'cmd' | 'node_env' | 'both';\ntype InitParam =\n boolean | { detect: DevModeSource; strict?: boolean } | undefined;\n\n// Cast once at module level — avoids repeating the assertion in every function.\nconst g = globalThis as typeof globalThis & Record<string, unknown>;\n\nfunction detectValue(detect: DevModeSource, isStrict?: boolean): boolean {\n // Guard against environments where process or its properties may not exist\n // (e.g. browser without polyfill, Deno without Node compat, edge runtimes).\n // Vite statically replaces process.env.NODE_ENV at build time, so it is safe\n // on the client. process.argv is an empty array shim in browsers — harmless.\n const argv: string[] =\n typeof process !== 'undefined' ? (process.argv ?? []) : [];\n const env: string | undefined =\n typeof process !== 'undefined' ? process.env?.NODE_ENV : undefined;\n\n const cmdArg = argv.find((a) => a === 'dev' || a === 'prod');\n\n if (isStrict && detect === 'cmd' && cmdArg === undefined) {\n throw new Error('initDevMode: expected \"dev\" or \"prod\" as a CLI argument');\n }\n\n const isFromCmd = cmdArg !== undefined ? cmdArg === 'dev' : false;\n const isFromEnv = env === 'development';\n\n if (detect === 'cmd') {\n return isFromCmd;\n }\n\n if (detect === 'node_env') {\n return isFromEnv;\n }\n\n // 'both': cmd wins when explicitly present, otherwise fall back to NODE_ENV\n return cmdArg !== undefined ? isFromCmd : isFromEnv;\n}\n\nfunction resolveInitParam(param: InitParam): boolean {\n if (param === undefined) {\n return detectValue('both');\n }\n\n if (typeof param === 'boolean') {\n return param;\n }\n\n return detectValue(param.detect, param.strict);\n}\n\n/**\n * Returns the current dev mode value.\n *\n * Reads `globalThis.__lifecycleion_is_dev__`. Defaults to `false` if\n * `initDevMode()` has not been called yet.\n */\nexport function getDevMode(): boolean {\n return typeof g[GLOBAL_KEY] === 'boolean' ? g[GLOBAL_KEY] : false;\n}\n\n/**\n * Sets the dev mode global for the current process.\n *\n * First-wins: if the global is already set (e.g. set by the HTML injection on\n * the client, or by a prior `initDevMode()` call), this is a no-op. Call once\n * at startup before serving any requests.\n *\n * @param param\n * - `true` / `false` — explicit value\n * - `{ detect: 'cmd' }` — read from `process.argv` (\"dev\" or \"prod\")\n * - `{ detect: 'node_env' }` — read from `NODE_ENV`\n * - `{ detect: 'both' }` — argv takes precedence, falls back to `NODE_ENV`\n * - `{ detect: 'cmd', strict: true }` — argv required, throws if absent\n * - omitted — same as `{ detect: 'both' }`\n */\nexport function initDevMode(\n param?: boolean | { detect: DevModeSource; strict?: boolean },\n): void {\n if (typeof g[GLOBAL_KEY] === 'boolean') {\n return; // first-wins — already initialized, no-op\n }\n\n g[INIT_PARAM_KEY] = param; // save original param so 'redetect' can replay it\n g[GLOBAL_KEY] = resolveInitParam(param);\n}\n\n/**\n * Bypasses first-wins semantics and forces the dev mode value.\n *\n * Intended for testing or tooling — not for production use.\n *\n * Pass `'redetect'` to re-run the same detection logic that\n * `initDevMode()` used originally.\n */\nexport function overrideDevMode(value: boolean | 'redetect'): void {\n const savedParam = g[INIT_PARAM_KEY] as InitParam;\n g[GLOBAL_KEY] = value === 'redetect' ? resolveInitParam(savedParam) : value;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,aAAa;AACnB,IAAM,iBAAiB;AAOvB,IAAM,IAAI;AAEV,SAAS,YAAY,QAAuB,UAA6B;AAKvE,QAAM,OACJ,OAAO,YAAY,cAAe,QAAQ,QAAQ,CAAC,IAAK,CAAC;AAC3D,QAAM,MACJ,OAAO,YAAY,cAAc,QAAQ,KAAK,WAAW;AAE3D,QAAM,SAAS,KAAK,KAAK,CAAC,MAAM,MAAM,SAAS,MAAM,MAAM;AAE3D,MAAI,YAAY,WAAW,SAAS,WAAW,QAAW;AACxD,UAAM,IAAI,MAAM,yDAAyD;AAAA,EAC3E;AAEA,QAAM,YAAY,WAAW,SAAY,WAAW,QAAQ;AAC5D,QAAM,YAAY,QAAQ;AAE1B,MAAI,WAAW,OAAO;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,YAAY;AACzB,WAAO;AAAA,EACT;AAGA,SAAO,WAAW,SAAY,YAAY;AAC5C;AAEA,SAAS,iBAAiB,OAA2B;AACnD,MAAI,UAAU,QAAW;AACvB,WAAO,YAAY,MAAM;AAAA,EAC3B;AAEA,MAAI,OAAO,UAAU,WAAW;AAC9B,WAAO;AAAA,EACT;AAEA,SAAO,YAAY,MAAM,QAAQ,MAAM,MAAM;AAC/C;AAQO,SAAS,aAAsB;AACpC,SAAO,OAAO,EAAE,UAAU,MAAM,YAAY,EAAE,UAAU,IAAI;AAC9D;AAiBO,SAAS,YACd,OACM;AACN,MAAI,OAAO,EAAE,UAAU,MAAM,WAAW;AACtC;AAAA,EACF;AAEA,IAAE,cAAc,IAAI;AACpB,IAAE,UAAU,IAAI,iBAAiB,KAAK;AACxC;AAUO,SAAS,gBAAgB,OAAmC;AACjE,QAAM,aAAa,EAAE,cAAc;AACnC,IAAE,UAAU,IAAI,UAAU,aAAa,iBAAiB,UAAU,IAAI;AACxE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/dev-mode.ts"],"sourcesContent":["// Stored in globalThis so state survives module re-evaluation and works across\n// module boundaries.\nconst GLOBAL_KEY = '__lifecycleion_is_dev__';\nconst INIT_PARAM_KEY = '__lifecycleion_init_param__';\n\ntype DevModeSource = 'cmd' | 'node_env' | 'both';\ntype InitParam =\n | boolean\n | { detect: DevModeSource; strict?: boolean }\n | undefined;\n\n// Cast once at module level — avoids repeating the assertion in every function.\nconst g = globalThis as typeof globalThis & Record<string, unknown>;\n\nfunction detectValue(detect: DevModeSource, isStrict?: boolean): boolean {\n // Guard against environments where process or its properties may not exist\n // (e.g. browser without polyfill, Deno without Node compat, edge runtimes).\n // Vite statically replaces process.env.NODE_ENV at build time, so it is safe\n // on the client. process.argv is an empty array shim in browsers — harmless.\n const argv: string[] =\n typeof process !== 'undefined' ? (process.argv ?? []) : [];\n const env: string | undefined =\n typeof process !== 'undefined' ? process.env?.NODE_ENV : undefined;\n\n const cmdArg = argv.find((a) => a === 'dev' || a === 'prod');\n\n if (isStrict && detect === 'cmd' && cmdArg === undefined) {\n throw new Error('initDevMode: expected \"dev\" or \"prod\" as a CLI argument');\n }\n\n const isFromCmd = cmdArg !== undefined ? cmdArg === 'dev' : false;\n const isFromEnv = env === 'development';\n\n if (detect === 'cmd') {\n return isFromCmd;\n }\n\n if (detect === 'node_env') {\n return isFromEnv;\n }\n\n // 'both': cmd wins when explicitly present, otherwise fall back to NODE_ENV\n return cmdArg !== undefined ? isFromCmd : isFromEnv;\n}\n\nfunction resolveInitParam(param: InitParam): boolean {\n if (param === undefined) {\n return detectValue('both');\n }\n\n if (typeof param === 'boolean') {\n return param;\n }\n\n return detectValue(param.detect, param.strict);\n}\n\n/**\n * Returns the current dev mode value.\n *\n * Reads `globalThis.__lifecycleion_is_dev__`. Defaults to `false` if\n * `initDevMode()` has not been called yet.\n */\nexport function getDevMode(): boolean {\n return typeof g[GLOBAL_KEY] === 'boolean' ? g[GLOBAL_KEY] : false;\n}\n\n/**\n * Sets the dev mode global for the current process.\n *\n * First-wins: if the global is already set (e.g. set by the HTML injection on\n * the client, or by a prior `initDevMode()` call), this is a no-op. Call once\n * at startup before serving any requests.\n *\n * @param param\n * - `true` / `false` — explicit value\n * - `{ detect: 'cmd' }` — read from `process.argv` (\"dev\" or \"prod\")\n * - `{ detect: 'node_env' }` — read from `NODE_ENV`\n * - `{ detect: 'both' }` — argv takes precedence, falls back to `NODE_ENV`\n * - `{ detect: 'cmd', strict: true }` — argv required, throws if absent\n * - omitted — same as `{ detect: 'both' }`\n */\nexport function initDevMode(\n param?: boolean | { detect: DevModeSource; strict?: boolean },\n): void {\n if (typeof g[GLOBAL_KEY] === 'boolean') {\n return; // first-wins — already initialized, no-op\n }\n\n g[INIT_PARAM_KEY] = param; // save original param so 'redetect' can replay it\n g[GLOBAL_KEY] = resolveInitParam(param);\n}\n\n/**\n * Bypasses first-wins semantics and forces the dev mode value.\n *\n * Intended for testing or tooling — not for production use.\n *\n * Pass `'redetect'` to re-run the same detection logic that\n * `initDevMode()` used originally.\n */\nexport function overrideDevMode(value: boolean | 'redetect'): void {\n const savedParam = g[INIT_PARAM_KEY] as InitParam;\n g[GLOBAL_KEY] = value === 'redetect' ? resolveInitParam(savedParam) : value;\n}\n"],"mappings":";AAEA,IAAM,aAAa;AACnB,IAAM,iBAAiB;AASvB,IAAM,IAAI;AAEV,SAAS,YAAY,QAAuB,UAA6B;AAKvE,QAAM,OACJ,OAAO,YAAY,cAAe,QAAQ,QAAQ,CAAC,IAAK,CAAC;AAC3D,QAAM,MACJ,OAAO,YAAY,cAAc,QAAQ,KAAK,WAAW;AAE3D,QAAM,SAAS,KAAK,KAAK,CAAC,MAAM,MAAM,SAAS,MAAM,MAAM;AAE3D,MAAI,YAAY,WAAW,SAAS,WAAW,QAAW;AACxD,UAAM,IAAI,MAAM,yDAAyD;AAAA,EAC3E;AAEA,QAAM,YAAY,WAAW,SAAY,WAAW,QAAQ;AAC5D,QAAM,YAAY,QAAQ;AAE1B,MAAI,WAAW,OAAO;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,YAAY;AACzB,WAAO;AAAA,EACT;AAGA,SAAO,WAAW,SAAY,YAAY;AAC5C;AAEA,SAAS,iBAAiB,OAA2B;AACnD,MAAI,UAAU,QAAW;AACvB,WAAO,YAAY,MAAM;AAAA,EAC3B;AAEA,MAAI,OAAO,UAAU,WAAW;AAC9B,WAAO;AAAA,EACT;AAEA,SAAO,YAAY,MAAM,QAAQ,MAAM,MAAM;AAC/C;AAQO,SAAS,aAAsB;AACpC,SAAO,OAAO,EAAE,UAAU,MAAM,YAAY,EAAE,UAAU,IAAI;AAC9D;AAiBO,SAAS,YACd,OACM;AACN,MAAI,OAAO,EAAE,UAAU,MAAM,WAAW;AACtC;AAAA,EACF;AAEA,IAAE,cAAc,IAAI;AACpB,IAAE,UAAU,IAAI,iBAAiB,KAAK;AACxC;AAUO,SAAS,gBAAgB,OAAmC;AACjE,QAAM,aAAa,EAAE,cAAc;AACnC,IAAE,UAAU,IAAI,UAAU,aAAa,iBAAiB,UAAU,IAAI;AACxE;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/dev-mode.ts"],"sourcesContent":["// Stored in globalThis so state survives module re-evaluation and works across\n// module boundaries.\nconst GLOBAL_KEY = '__lifecycleion_is_dev__';\nconst INIT_PARAM_KEY = '__lifecycleion_init_param__';\n\ntype DevModeSource = 'cmd' | 'node_env' | 'both';\ntype InitParam =\n boolean | { detect: DevModeSource; strict?: boolean } | undefined;\n\n// Cast once at module level — avoids repeating the assertion in every function.\nconst g = globalThis as typeof globalThis & Record<string, unknown>;\n\nfunction detectValue(detect: DevModeSource, isStrict?: boolean): boolean {\n // Guard against environments where process or its properties may not exist\n // (e.g. browser without polyfill, Deno without Node compat, edge runtimes).\n // Vite statically replaces process.env.NODE_ENV at build time, so it is safe\n // on the client. process.argv is an empty array shim in browsers — harmless.\n const argv: string[] =\n typeof process !== 'undefined' ? (process.argv ?? []) : [];\n const env: string | undefined =\n typeof process !== 'undefined' ? process.env?.NODE_ENV : undefined;\n\n const cmdArg = argv.find((a) => a === 'dev' || a === 'prod');\n\n if (isStrict && detect === 'cmd' && cmdArg === undefined) {\n throw new Error('initDevMode: expected \"dev\" or \"prod\" as a CLI argument');\n }\n\n const isFromCmd = cmdArg !== undefined ? cmdArg === 'dev' : false;\n const isFromEnv = env === 'development';\n\n if (detect === 'cmd') {\n return isFromCmd;\n }\n\n if (detect === 'node_env') {\n return isFromEnv;\n }\n\n // 'both': cmd wins when explicitly present, otherwise fall back to NODE_ENV\n return cmdArg !== undefined ? isFromCmd : isFromEnv;\n}\n\nfunction resolveInitParam(param: InitParam): boolean {\n if (param === undefined) {\n return detectValue('both');\n }\n\n if (typeof param === 'boolean') {\n return param;\n }\n\n return detectValue(param.detect, param.strict);\n}\n\n/**\n * Returns the current dev mode value.\n *\n * Reads `globalThis.__lifecycleion_is_dev__`. Defaults to `false` if\n * `initDevMode()` has not been called yet.\n */\nexport function getDevMode(): boolean {\n return typeof g[GLOBAL_KEY] === 'boolean' ? g[GLOBAL_KEY] : false;\n}\n\n/**\n * Sets the dev mode global for the current process.\n *\n * First-wins: if the global is already set (e.g. set by the HTML injection on\n * the client, or by a prior `initDevMode()` call), this is a no-op. Call once\n * at startup before serving any requests.\n *\n * @param param\n * - `true` / `false` — explicit value\n * - `{ detect: 'cmd' }` — read from `process.argv` (\"dev\" or \"prod\")\n * - `{ detect: 'node_env' }` — read from `NODE_ENV`\n * - `{ detect: 'both' }` — argv takes precedence, falls back to `NODE_ENV`\n * - `{ detect: 'cmd', strict: true }` — argv required, throws if absent\n * - omitted — same as `{ detect: 'both' }`\n */\nexport function initDevMode(\n param?: boolean | { detect: DevModeSource; strict?: boolean },\n): void {\n if (typeof g[GLOBAL_KEY] === 'boolean') {\n return; // first-wins — already initialized, no-op\n }\n\n g[INIT_PARAM_KEY] = param; // save original param so 'redetect' can replay it\n g[GLOBAL_KEY] = resolveInitParam(param);\n}\n\n/**\n * Bypasses first-wins semantics and forces the dev mode value.\n *\n * Intended for testing or tooling — not for production use.\n *\n * Pass `'redetect'` to re-run the same detection logic that\n * `initDevMode()` used originally.\n */\nexport function overrideDevMode(value: boolean | 'redetect'): void {\n const savedParam = g[INIT_PARAM_KEY] as InitParam;\n g[GLOBAL_KEY] = value === 'redetect' ? resolveInitParam(savedParam) : value;\n}\n"],"mappings":";AAEA,IAAM,aAAa;AACnB,IAAM,iBAAiB;AAOvB,IAAM,IAAI;AAEV,SAAS,YAAY,QAAuB,UAA6B;AAKvE,QAAM,OACJ,OAAO,YAAY,cAAe,QAAQ,QAAQ,CAAC,IAAK,CAAC;AAC3D,QAAM,MACJ,OAAO,YAAY,cAAc,QAAQ,KAAK,WAAW;AAE3D,QAAM,SAAS,KAAK,KAAK,CAAC,MAAM,MAAM,SAAS,MAAM,MAAM;AAE3D,MAAI,YAAY,WAAW,SAAS,WAAW,QAAW;AACxD,UAAM,IAAI,MAAM,yDAAyD;AAAA,EAC3E;AAEA,QAAM,YAAY,WAAW,SAAY,WAAW,QAAQ;AAC5D,QAAM,YAAY,QAAQ;AAE1B,MAAI,WAAW,OAAO;AACpB,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,YAAY;AACzB,WAAO;AAAA,EACT;AAGA,SAAO,WAAW,SAAY,YAAY;AAC5C;AAEA,SAAS,iBAAiB,OAA2B;AACnD,MAAI,UAAU,QAAW;AACvB,WAAO,YAAY,MAAM;AAAA,EAC3B;AAEA,MAAI,OAAO,UAAU,WAAW;AAC9B,WAAO;AAAA,EACT;AAEA,SAAO,YAAY,MAAM,QAAQ,MAAM,MAAM;AAC/C;AAQO,SAAS,aAAsB;AACpC,SAAO,OAAO,EAAE,UAAU,MAAM,YAAY,EAAE,UAAU,IAAI;AAC9D;AAiBO,SAAS,YACd,OACM;AACN,MAAI,OAAO,EAAE,UAAU,MAAM,WAAW;AACtC;AAAA,EACF;AAEA,IAAE,cAAc,IAAI;AACpB,IAAE,UAAU,IAAI,iBAAiB,KAAK;AACxC;AAUO,SAAS,gBAAgB,OAAmC;AACjE,QAAM,aAAa,EAAE,cAAc;AACnC,IAAE,UAAU,IAAI,UAAU,aAAa,iBAAiB,UAAU,IAAI;AACxE;","names":[]}