susee 1.0.3 → 1.0.4
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/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5,4 +5,4 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
|
5
5
|
this file except in compliance with the License. You may obtain a copy of the
|
|
6
6
|
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
7
|
***************************************************************************** */
|
|
8
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var a=Object.getOwnPropertyDescriptor(t,i);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,a)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[t.length]=i);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var s=e(t),a=0;a<s.length;a++)"default"!==s[a]&&__createBinding(i,t,s[a]);return __setModuleDefault(i,t),i}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.susee=susee;const tsconfig_1=__importDefault(require("@suseejs/tsconfig")),node_fs_1=__importDefault(require("node:fs")),mhaehko_1=__importDefault(require("mhaehko")),node_path_1=__importDefault(require("node:path")),resolves_1=__importDefault(require("@phothinmaung/resolves")),tcolor_1=__importDefault(require("@suseejs/tcolor")),transformer_1=__importDefault(require("@suseejs/transformer")),typescript_1=__importDefault(require("typescript")),node_buffer_1=require("node:buffer"),depHooks=[],preProcessHooks=[];var utilities;!function(e){e.splitCamelCase=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(_|-|\/)([a-z] || [A-Z])/g," ").replace(/([A-Z])/g,e=>e.toLowerCase()).replace(/^([a-z])/,e=>e.toUpperCase())},e.wait=e=>new Promise(t=>setTimeout(t,e)),e.checkModuleType=(e,t)=>{let i=0,s=0,a=0;try{let r=!1,n=!1;function o(t){if((typescript_1.default.isImportDeclaration(t)||typescript_1.default.isImportEqualsDeclaration(t)||typescript_1.default.isExportDeclaration(t)||typescript_1.default.isExportSpecifier(t)||typescript_1.default.isExportAssignment(t))&&(r=!0),(typescript_1.default.isVariableStatement(t)||typescript_1.default.isFunctionDeclaration(t)||typescript_1.default.isInterfaceDeclaration(t)||typescript_1.default.isTypeAliasDeclaration(t)||typescript_1.default.isEnumDeclaration(t)||typescript_1.default.isClassDeclaration(t))&&t.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)&&(r=!0),typescript_1.default.isCallExpression(t)&&typescript_1.default.isIdentifier(t.expression)&&"require"===t.expression.text&&t.arguments.length>0&&(n=!0),typescript_1.default.isPropertyAccessExpression(t)){const i=t.getText(e);(i.startsWith("module.exports")||i.startsWith("exports."))&&(n=!0)}typescript_1.default.forEachChild(t,o)}o(e),r&&!n?i++:n&&!r?s++:r&&n&&i++}catch(c){console.error(tcolor_1.default.magenta(`Error checking module format for ${t} : \n ${c}`)),a++}return a>0&&(console.error(tcolor_1.default.magenta("Error checking module format.")),typescript_1.default.sys.exit(1)),{isCommonJs:s>0,isEsm:i>0}},e.isJsxContent=function(e){const t=typescript_1.default.createSourceFile("file.tsx",e,typescript_1.default.ScriptTarget.Latest,!0,typescript_1.default.ScriptKind.TSX);let i=!1;return function e(t){typescript_1.default.isJsxElement(t)||typescript_1.default.isJsxSelfClosingElement(t)||typescript_1.default.isJsxFragment(t)?i=!0:typescript_1.default.forEachChild(t,e)}(t),i},e.writeCompileFile=async function(t,i){const s=typescript_1.default.sys.resolvePath(t),a=node_path_1.default.dirname(s);typescript_1.default.sys.directoryExists(a)||await node_fs_1.default.promises.mkdir(a,{recursive:!0}),await e.wait(500),await node_fs_1.default.promises.writeFile(s,i)},e.isInsideNamespace=e=>{let t=e.parent;for(;t;){if(typescript_1.default.isModuleDeclaration(t)&&t.flags===typescript_1.default.NodeFlags.Namespace)return!0;t=t.parent}return!1},e.clearFolder=async function(e){e=node_path_1.default.resolve(process.cwd(),e);try{const t=await node_fs_1.default.promises.readdir(e,{withFileTypes:!0});await Promise.all(t.map(t=>node_fs_1.default.promises.rm(node_path_1.default.join(e,t.name),{recursive:!0})))}catch(e){if("ENOENT"!==e.code)throw e}}}(utilities||(utilities={}));const getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const i of e){const e=typescript_1.default.sys.resolvePath(i);if(typescript_1.default.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor_1.default.magenta("No entry found in susee.config file, at least one entry required")),typescript_1.default.sys.exit(1));const t={},i=[];for(const s of e){const e=s.exportPath;t[e]?i.push(`"${e}"`):t[e]=!0}i.length>0&&(console.error(tcolor_1.default.magenta(`Duplicate export paths/path (${i.join(",")}) found in your susee.config file , that will error for bundled output`)),typescript_1.default.sys.exit(1));for(const t of e)typescript_1.default.sys.fileExists(typescript_1.default.sys.resolvePath(t.entry))||(console.error(tcolor_1.default.magenta(`Entry file ${t.entry} dose not exists.`)),typescript_1.default.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor_1.default.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),typescript_1.default.sys.exit(1));const t=(await Promise.resolve(`${e}`).then(e=>__importStar(require(e)))).default,i=(0,resolves_1.default)([[checkEntries,t.entryPoints]]);await i.series(),await utilities.wait(1e3);const s=t.outDir??"dist",a=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??"esm",tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?s:`${s}${e.exportPath.slice(1)}`};a.push(t)}return{points:a,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!0,outDir:s}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new tsconfig_1.default(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:typescript_1.default.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...i}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...i}}get commonjs(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.CommonJS,...i}}get esm(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.ES2020,...i}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await node_fs_1.default.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));async function generateDependencies(e){const t=(await(0,mhaehko_1.default)(e)).sort(),i=[];for(const e of t){const t=typescript_1.default.sys.resolvePath(e),s=await node_fs_1.default.promises.readFile(t,"utf8"),a=node_path_1.default.extname(t),r=await fileSizes(t),n=s.length,o=checkExport(s,t),c=typescript_1.default.createSourceFile(t,s,typescript_1.default.ScriptTarget.Latest,!0),p=utilities.checkModuleType(c,t).isCommonJs?"cjs":"esm",l={file:t,content:s,length:n,includeDefExport:o,size:{logical:r.logical,allocated:r.allocated,utf8:(new TextEncoder).encode(s).length,buffBytes:node_buffer_1.Buffer.byteLength(s,"utf8")},moduleType:p,fileExt:a,isJsx:utilities.isJsxContent(s)};i.push(l)}return i}function _typesCheck(e,t){if(!t.noCheck){const i=e.map(e=>e.file);let s=!1;const a=typescript_1.default.createProgram(i,t);for(const e of i){const t=a.getSourceFile(e);t||(console.error(tcolor_1.default.magenta(`File not found: ${e}`)),typescript_1.default.sys.exit(1));const i=[...a.getSyntacticDiagnostics(t),...a.getSemanticDiagnostics(t),...a.getDeclarationDiagnostics(t)];if(i.length>0){const e={getCurrentDirectory:()=>process.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>typescript_1.default.sys.newLine};console.error(typescript_1.default.formatDiagnosticsWithColorAndContext(i,e)),s=!0}}if(!s)return!0;typescript_1.default.sys.exit(1)}}async function typeCheck(e,t){const i=(0,resolves_1.default)([[_typesCheck,e,t]]);return(await i.series())[0]}async function depPluginParser(e,t,i){if(t.length)for(const s of t){const t="function"==typeof s?s():s;"dependency"===t.type&&(e=t.async?await t.func(e,i):t.func(e,i))}return e}async function depHookParser(e,t){if(depHooks.length)for(const i of depHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function initializer(){console.time(`${tcolor_1.default.cyan("Collected Data")}`);const e=await finalSuseeConfig(),t=e.points,i=e.plugins,s=[];for(const e of t){const t=compilerOptions(e);let a=await generateDependencies(e.entry);await typeCheck(a,t.esm)||typescript_1.default.sys.exit(1),a=await depPluginParser(a,i,t.default),await utilities.wait(1e3),a=await depHookParser(a,t.default),await utilities.wait(1e3);const r={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:a,plugins:i};s.push(r)}return console.timeEnd(`${tcolor_1.default.cyan("Collected Data")}`),{points:s,allowUpdatePackageJson:e.allowUpdatePackageJson}}function uniqueName(){const e=new Map,t={setPrefix({key:i,value:s}){if(e.has(i))throw console.warn(`${i} already exist`),new Error;return e.set(i,[s,0]),t},getName(t,i){const[s,a]=e.get(t)||[],r=s?`${s}${i}_${(a??0)+1}`:`$nyein${i}_${(a??0)+1}`;return e.set(t,[s??"$nyein",(a??0)+1]),r},getPrefix(t){const[i]=e.get(t)||[];return i}};return t}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",genName=uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});function anonymousCallExpressionHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=a=>{if(typescript_1.default.isCallExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateCallExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isPropertyAccessExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updatePropertyAccessExpression(a,i.createIdentifier(s.newName),a.name)}}else if(typescript_1.default.isNewExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateNewExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isExportSpecifier(a)&&typescript_1.default.isIdentifier(a.name)){const e=a.name.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateExportSpecifier(a,a.isTypeOnly,a.propertyName,i.createIdentifier(s.newName))}return typescript_1.default.visitEachChild(a,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousExportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{const n=node_path_1.default.basename(t).split(".")[0];if((typescript_1.default.isFunctionDeclaration(r)||typescript_1.default.isClassDeclaration(r))&&void 0===r.name){let e=!1,t=!1;if(r.modifiers?.forEach(i=>{i.kind===typescript_1.default.SyntaxKind.ExportKeyword&&(e=!0),i.kind===typescript_1.default.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,n);if(exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),typescript_1.default.isFunctionDeclaration(r))return i.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,i.createIdentifier(e),r.typeParameters,r.parameters,r.type,r.body);if(typescript_1.default.isClassDeclaration(r))return i.updateClassDeclaration(r,r.modifiers,i.createIdentifier(e),r.typeParameters,r.heritageClauses,r.members)}}else if(typescript_1.default.isExportAssignment(r)&&!r.name&&!r.isExportEquals){if(typescript_1.default.isArrowFunction(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrowFunction(r.expression.modifiers,r.expression.typeParameters,r.expression.parameters,r.expression.type,r.expression.equalsGreaterThanToken,r.expression.body),s=i.createVariableDeclaration(i.createIdentifier(e),r.expression.exclamationToken,r.expression.type,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(r.expression.modifiers,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isObjectLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,r.expression),s=i.createVariableDeclarationList([t],typescript_1.default.NodeFlags.Const),o=i.createVariableStatement(void 0,s),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[o,c],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isArrayLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrayLiteralExpression(r.expression.elements,!0),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isStringLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createStringLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isNumericLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createNumericLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousImportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{if(typescript_1.default.isImportDeclaration(r)){const e=r.moduleSpecifier.getText(a),s=node_path_1.default.basename(e).split(".")[0].trim();if(r.importClause?.name&&typescript_1.default.isIdentifier(r.importClause.name)){const e=r.importClause.name.text.trim(),a=exportDefaultExportNameMap.find(e=>e.file===s);if(a){exportDefaultImportNameMap.push({base:e,file:t,newName:a.newName,isEd:!0});const s=i.updateImportClause(r.importClause,r.importClause.phaseModifier,i.createIdentifier(a.newName),r.importClause.namedBindings);return i.updateImportDeclaration(r,r.modifiers,s,r.moduleSpecifier,r.attributes)}}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}const anonymousHandler=async(e,t)=>{const i=(0,resolves_1.default)([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),s=await i.concurrent();for(const t of s)e=e.map(t);return e};function duplicates(e,t,i){const s=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),a=new Map;for(const e of s.statements){if(!typescript_1.default.isImportDeclaration(e)||!e.importClause)continue;const t=e.importClause;if(t.name&&typescript_1.default.isIdentifier(t.name)){const e=t.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t}))}else if(t.namedBindings&&typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)){const e=t.namedBindings.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t.namedBindings}))}else if(t.namedBindings&&typescript_1.default.isNamedImports(t.namedBindings))for(const e of t.namedBindings.elements)if(typescript_1.default.isIdentifier(e.name)){const t=e.name.text;a.set(t,(a.get(t)||[]).concat({name:t,node:e}))}}const r=new Map,n=uniqueName();n.setPrefix({key:"DuplicateImport",value:"__dup__"});for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const t=n.getName("DuplicateImport",`${e}_`);r.set(`${e}::${i}`,t),r.set(`${e}::occurrence_${i}`,t)}const o=new Map;for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const s=t[i];s?.node&&o.set(s.node.pos,r.get(`${e}::${i}`))}return(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(typescript_1.default.isImportDeclaration(s)&&s.importClause){const e=s.importClause;let i=!1,a=e;if(e.name&&typescript_1.default.isIdentifier(e.name)){e.pos;const s=o.get(e.pos);s&&(a=t.updateImportClause(e,e.isTypeOnly,t.createIdentifier(s),e.namedBindings),i=!0)}if(e.namedBindings&&typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)){const s=o.get(e.namedBindings.pos);if(s){const e=t.createNamespaceImport(t.createIdentifier(s));a=t.updateImportClause(a,a.isTypeOnly,a.name,e),i=!0}}if(e.namedBindings&&typescript_1.default.isNamedImports(e.namedBindings)){const s=e.namedBindings.elements.map(e=>{if(typescript_1.default.isIdentifier(e.name)){const s=o.get(e.pos);if(s)return i=!0,t.updateImportSpecifier(e,e.isTypeOnly,e.propertyName,t.createIdentifier(s))}return e});if(i){const e=t.createNamedImports(s);a=t.updateImportClause(a,a.isTypeOnly,a.name,e)}}if(i)return t.updateImportDeclaration(s,s.modifiers,a,s.moduleSpecifier,s.assertClause)}if(typescript_1.default.isIdentifier(s)){const e=s.text;if(!(e=>{const t=e.parent;if(!t)return!1;switch(t.kind){case typescript_1.default.SyntaxKind.ImportSpecifier:case typescript_1.default.SyntaxKind.NamespaceImport:case typescript_1.default.SyntaxKind.ImportClause:case typescript_1.default.SyntaxKind.VariableDeclaration:case typescript_1.default.SyntaxKind.FunctionDeclaration:case typescript_1.default.SyntaxKind.ClassDeclaration:case typescript_1.default.SyntaxKind.InterfaceDeclaration:case typescript_1.default.SyntaxKind.TypeAliasDeclaration:case typescript_1.default.SyntaxKind.EnumDeclaration:case typescript_1.default.SyntaxKind.Parameter:case typescript_1.default.SyntaxKind.PropertyDeclaration:case typescript_1.default.SyntaxKind.MethodDeclaration:case typescript_1.default.SyntaxKind.BindingElement:return!0;default:return!1}})(s)){if(s.parent&&typescript_1.default.isPropertyAccessExpression(s.parent)&&s.parent.name===s)return s;const i=a.get(e);if(i&&i.length>1)for(let s=1;s<i.length;s++){const i=r.get(`${e}::occurrence_${s}`)||r.get(`${e}::${s}`);if(i)return t.createIdentifier(i)}}}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},s,i)}function mergeImportsStatement(e){const t=new Map,i=new Map,s=new Map,a=new Map,r=new Map;for(const n of e){const e=n.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,c]=e,p=n.includes("import type"),l=c;if(!o){const e=n.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],i=p?a:s;i.has(l)||i.set(l,new Set),i.get(l)?.add(t)}continue}if(o.startsWith("{")){const e=p?i:t;e.has(l)||e.set(l,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(l)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];r.has(l)||r.set(l,new Set),r.get(l)?.add(t)}}else{const e=p?a:s;e.has(l)||e.set(l,new Set),e.get(l)?.add(o.trim())}}const n=[];for(const[e,s]of t){const t=i.get(e)||new Set,a=new Set([...s]);for(const e of t)s.has(e)||a.add(e);if(a.size>0){const t=Array.from(a).sort().join(", ");n.push(`import { ${t} } from "${e}";`)}}for(const[e,s]of i)if(!t.has(e)&&s.size>0){const t=Array.from(s).sort().join(", ");n.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of s){const i=a.get(e)||new Set,s=new Set([...t]);for(const e of i)t.has(e)||s.add(e);if(s.size>0){const t=Array.from(s).join(", ");n.push(`import ${t} from "${e}";`)}}for(const[e,t]of a)if(!s.has(e)&&t.size>0){const i=Array.from(t).join(", ");n.push(`import type ${i} from "${e}";`)}for(const[e,t]of r)if(t.size>0){const i=Array.from(t).join(", ");n.push(`import * as ${i} from "${e}";`)}return n.sort()}function esmExportRemoveHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0);return{file:t,content:(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(!utilities.isInsideNamespace(s)&&(typescript_1.default.isFunctionDeclaration(s)||typescript_1.default.isClassDeclaration(s)||typescript_1.default.isInterfaceDeclaration(s)||typescript_1.default.isTypeAliasDeclaration(s)||typescript_1.default.isEnumDeclaration(s)||typescript_1.default.isVariableStatement(s))){const e=s.modifiers?.filter(e=>e.kind!==typescript_1.default.SyntaxKind.ExportKeyword&&e.kind!==typescript_1.default.SyntaxKind.DefaultKeyword);if(e?.length!==s.modifiers?.length){if(typescript_1.default.isFunctionDeclaration(s))return t.updateFunctionDeclaration(s,e,s.asteriskToken,s.name,s.typeParameters,s.parameters,s.type,s.body);if(typescript_1.default.isClassDeclaration(s))return t.updateClassDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isInterfaceDeclaration(s))return t.updateInterfaceDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isTypeAliasDeclaration(s))return t.updateTypeAliasDeclaration(s,e,s.name,s.typeParameters,s.type);if(typescript_1.default.isEnumDeclaration(s))return t.updateEnumDeclaration(s,e,s.name,s.members);if(typescript_1.default.isVariableStatement(s))return t.updateVariableStatement(s,e,s.declarationList)}}if(typescript_1.default.isExportDeclaration(s))return t.createEmptyStatement();if(typescript_1.default.isExportAssignment(s)){const e=s.expression;if(typescript_1.default.isIdentifier(e))return t.createEmptyStatement()}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},a,e),...s}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return typescript_1.default.isPropertyAccessExpression(e)&&typescript_1.default.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:i,content:s,...a})=>{const r=typescript_1.default.createSourceFile(i,s,typescript_1.default.ScriptTarget.Latest,!0),n=new Set;for(const e of r.statements)if(typescript_1.default.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;typescript_1.default.isExternalModuleReference(t)&&typescript_1.default.isStringLiteral(t.expression)&&n.add(e.name.text)}const o=(0,transformer_1.default)(t=>{const{factory:s}=t,a=o=>{properties=[...properties,...findProperty(o)];const c={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(typescript_1.default.isTypeReferenceNode(o)&&typescript_1.default.isQualifiedName(o.typeName)&&typescript_1.default.isIdentifier(o.typeName.left)&&typescript_1.default.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utilities.checkModuleType(r,i).isCommonJs&&"ts"!==e&&!n.has(e))return s.updateTypeReferenceNode(o,s.createIdentifier(t),void 0)}if(typescript_1.default.isImportDeclaration(o)){const t=o.getText(r);return e.push(t),s.createEmptyStatement()}if(typescript_1.default.isImportEqualsDeclaration(o)){const t=o.name.text,i=o.moduleReference;let a;if(o.isTypeOnly&&(c.isTypeOnly=!0),c.importedString=t,c.isTypeOnly||properties.includes(t)&&(c.isNamespace=!0),typescript_1.default.isExternalModuleReference(i)&&typescript_1.default.isStringLiteral(i.expression)&&(c.source=i.expression.text),c.importedString&&!c.importedObject&&(a=c.isTypeOnly?n.has(c.importedString)?`import type * as ${c.importedString} from "${c.source}";`:typesNames.includes(c.importedString)?`import type { ${typeObj[c.importedString]?.join(",")} } from "${c.source}";`:`import type ${c.importedString} from "${c.source}";`:c.isNamespace&&c.source&&"typescript"!==c.source?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}if(typescript_1.default.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const i=t[0];if(i.initializer&&typescript_1.default.isCallExpression(i.initializer)&&typescript_1.default.isIdentifier(i.initializer.expression)&&"require"===i.initializer.expression.escapedText){const t=i.initializer.arguments[0];if(typescript_1.default.isStringLiteral(t)&&(c.source=t.text),typescript_1.default.isIdentifier(i.name)){const e=i.name.text;c.importedString=e,properties.includes(e)&&(c.isNamespace=!0)}else if(typescript_1.default.isObjectBindingPattern(i.name)){const e=[];for(const t of i.name.elements)typescript_1.default.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(c.importedObject=e)}let a;if(c.importedString&&!c.importedObject&&(a=c.isNamespace?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}}}return typescript_1.default.visitEachChild(o,a,t)};return e=>typescript_1.default.visitNode(e,a)},r,t);return{file:i,content:o,...a}}}const removeHandlers=async(e,t)=>{const i=(0,resolves_1.default)([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await i.series()};function collectBindingNames(e,t){typescript_1.default.isIdentifier(e)?t.push(e.text):(typescript_1.default.isObjectBindingPattern(e)||typescript_1.default.isArrayBindingPattern(e))&&e.elements.forEach(e=>{typescript_1.default.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,i,s={treatExportsAsUsed:!0}){const a=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),r=new Map,n=new Set,o=(e,t=!1)=>{const i=r.get(e);r.set(e,{exported:!!i?.exported||t})},c=e=>{if(typescript_1.default.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&typescript_1.default.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(typescript_1.default.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&o(e.name.text,!1)}):typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(typescript_1.default.isImportEqualsDeclaration(e)&&typescript_1.default.isIdentifier(e.name))o(e.name.text,!1);else if(typescript_1.default.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const i=[];collectBindingNames(e.name,i),i.forEach(e=>o(e,t))})}else if(typescript_1.default.isFunctionDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(typescript_1.default.isClassDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(typescript_1.default.isIdentifier(e)){const t=e.parent;typescript_1.default.isVariableDeclaration(t)&&t.name===e||typescript_1.default.isFunctionDeclaration(t)&&t.name===e||typescript_1.default.isClassDeclaration(t)&&t.name===e||typescript_1.default.isImportClause(t)&&t.name===e||typescript_1.default.isImportSpecifier(t)&&t.name===e||typescript_1.default.isNamespaceImport(t)&&t.name===e||typescript_1.default.isBindingElement(t)&&t.name===e||typescript_1.default.isParameter(t)&&t.name===e||n.add(e.text)}typescript_1.default.forEachChild(e,c)};c(a);const p=new Set;r.forEach((e,t)=>{n.has(t)||s.treatExportsAsUsed&&e.exported||p.add(t)});return(0,transformer_1.default)(e=>{const t=i=>{if(typescript_1.default.isImportDeclaration(i)&&i.importClause){const e=i.importClause,t=e.name&&typescript_1.default.isIdentifier(e.name)?e.name.text:void 0;let s;const a=[];e.namedBindings&&(typescript_1.default.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&a.push(e)}):typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)&&(s=e.namedBindings.name.text));const r=!!t&&!p.has(t),n=!!s&&!p.has(s),o=a.filter(e=>!p.has(e.name.text));if(!r&&!n&&0===o.length)return typescript_1.default.factory.createNotEmittedStatement(i);if(!r&&!!e.name||void 0!==s&&!n||o.length!==a.length){let e;e=o.length>0?typescript_1.default.factory.createNamedImports(o):n&&s?typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(s)):void 0;const a=r&&t?typescript_1.default.factory.createIdentifier(t):void 0,c=typescript_1.default.factory.createImportClause(!1,a,e);return typescript_1.default.factory.updateImportDeclaration(i,i.modifiers,c,i.moduleSpecifier,i.assertClause)}return i}if((typescript_1.default.isFunctionDeclaration(i)||typescript_1.default.isClassDeclaration(i))&&i.name&&typescript_1.default.isIdentifier(i.name))return p.has(i.name.text)?typescript_1.default.factory.createNotEmittedStatement(i):i;if(typescript_1.default.isVariableStatement(i)){const e=[];i.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!p.has(e))?i:typescript_1.default.factory.createNotEmittedStatement(i)}return typescript_1.default.visitEachChild(i,t,e)};return e=>typescript_1.default.visitNode(e,t)},a,i)}async function preProcessPluginParser(e,t,i){if(e.length)for(const s of e){const e="function"==typeof s?s():s;"pre-process"===e.type&&(t=e.async?await e.func(t,i):e.func(t,i))}return t}async function preProcessHooksParser(e,t){if(preProcessHooks.length)for(const i of preProcessHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function bundler(e){const t="."===e.exportPath?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`);let i=e.depFiles;const s=e.rename,a=e.tsOptions.default,r=e.plugins;let n=[];i=await anonymousHandler(i,a);const o=await removeHandlers(n,a);i=i.map(o[0]);const c=i.slice(0,-1).map(o[1]),p=i.slice(-1),l=/["']((?!\.\/|\.\.\/)[^"']+)["']/;n=n.filter(e=>l.test(e)),n=mergeImportsStatement(n);let d=`${n.join("\n").trim()}\n${c.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${p.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return d=d.replace(/^s*;\s*$/gm,"").trim(),s&&(d=duplicates(d,e.fileName,a)),d=clearUnusedCode(d,e.fileName,a),d=await preProcessPluginParser(r,d),await utilities.wait(1e3),d=await preProcessHooksParser(d),await utilities.wait(1e3),console.timeEnd(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`),{bundledContent:d,...e}}async function bundle(e){const t=[];for(const i of e.points){const e=await bundler(i);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const i={},s={getSourceFile:(i,s)=>{if(i===t)return typescript_1.default.createSourceFile(i,e,s)},writeFile:(e,t)=>{i[e]=t},getDefaultLibFileName:e=>typescript_1.default.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:i=>i===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:i,host:s}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`},require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let i=!0;"."!==t&&(i=!1);const s=typescript_1.default.sys.resolvePath("package.json"),a=node_fs_1.default.readFileSync(s,"utf8"),r=JSON.parse(a);let{name:n,version:o,description:c,main:p,module:l,type:d,types:f,exports:u,...m}=r;await utilities.wait(500),d="module";let y={},_={},g={},h={};if(i)y=e.main?{main:node_path_1.default.relative(process.cwd(),e.main)}:{},_=e.module?{module:node_path_1.default.relative(process.cwd(),e.module)}:{},g=e.types?{types:node_path_1.default.relative(process.cwd(),e.types)}:{},h={exports:{...getExports(e,t)}};else{y=p?{main:p}:{},_=l?{module:l}:{},g=f?{types:f}:{};h={exports:{...u&&"object"==typeof u&&!Array.isArray(u)?{...u}:{},...getExports(e,t)}}}await utilities.wait(1e3);const x={name:n,version:o,description:c,type:d,...y,...g,..._,...h,...m};utilities.writeCompileFile(s,JSON.stringify(x,null,2))}class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.cjs,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.commonjs=e.replace(/.js/g,".cjs")),e.match(/.d.ts/g)&&(this.files.commonjsTypes=e.replace(/.d.ts/g,".d.cts")),!t||"both"!==r&&"commonjs"!==r||(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),e=(e=(e=e.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),await utilities.wait(500),"commonjs"===r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async _esm(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.esm,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.esm=e.replace(/.js/g,".mjs")),e.match(/.d.ts/g)&&(this.files.esmTypes=e.replace(/.d.ts/g,".d.mts")),t&&"both"===r&&this.files.esm&&(this.files.module=this.files.esm)),e=(e=(e=e.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utilities.wait(500),"commonjs"!==r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async compile(){for(const e of this.object.points){switch(await utilities.wait(500),e.format){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"both":await this._esm(e),await utilities.wait(1e3),await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}await utilities.wait(500)}}}async function susee(){console.info(`${tcolor_1.default.cyan("Susee Started")} : `),console.time(`${tcolor_1.default.cyan("Susee Done")}`);const e=await initializer();await utilities.wait(1e3);const t=await bundle(e);await utilities.wait(1e3);const i=new Compiler(t);await i.compile(),console.timeEnd(`${tcolor_1.default.cyan("Susee Done")}`)}
|
|
8
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var a=Object.getOwnPropertyDescriptor(t,i);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,a)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[t.length]=i);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var s=e(t),a=0;a<s.length;a++)"default"!==s[a]&&__createBinding(i,t,s[a]);return __setModuleDefault(i,t),i}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.susee=susee;const tsconfig_1=__importDefault(require("@suseejs/tsconfig")),node_fs_1=__importDefault(require("node:fs")),mhaehko_1=__importDefault(require("mhaehko")),node_path_1=__importDefault(require("node:path")),resolves_1=__importDefault(require("@phothinmaung/resolves")),tcolor_1=__importDefault(require("@suseejs/tcolor")),transformer_1=__importDefault(require("@suseejs/transformer")),typescript_1=__importDefault(require("typescript")),node_buffer_1=require("node:buffer"),depHooks=[],preProcessHooks=[];var utilities;!function(e){e.splitCamelCase=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(_|-|\/)([a-z] || [A-Z])/g," ").replace(/([A-Z])/g,e=>e.toLowerCase()).replace(/^([a-z])/,e=>e.toUpperCase())},e.wait=e=>new Promise(t=>setTimeout(t,e)),e.checkModuleType=(e,t)=>{let i=0,s=0,a=0;try{let r=!1,n=!1;function o(t){if((typescript_1.default.isImportDeclaration(t)||typescript_1.default.isImportEqualsDeclaration(t)||typescript_1.default.isExportDeclaration(t)||typescript_1.default.isExportSpecifier(t)||typescript_1.default.isExportAssignment(t))&&(r=!0),(typescript_1.default.isVariableStatement(t)||typescript_1.default.isFunctionDeclaration(t)||typescript_1.default.isInterfaceDeclaration(t)||typescript_1.default.isTypeAliasDeclaration(t)||typescript_1.default.isEnumDeclaration(t)||typescript_1.default.isClassDeclaration(t))&&t.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)&&(r=!0),typescript_1.default.isCallExpression(t)&&typescript_1.default.isIdentifier(t.expression)&&"require"===t.expression.text&&t.arguments.length>0&&(n=!0),typescript_1.default.isPropertyAccessExpression(t)){const i=t.getText(e);(i.startsWith("module.exports")||i.startsWith("exports."))&&(n=!0)}typescript_1.default.forEachChild(t,o)}o(e),r&&!n?i++:n&&!r?s++:r&&n&&i++}catch(c){console.error(tcolor_1.default.magenta(`Error checking module format for ${t} : \n ${c}`)),a++}return a>0&&(console.error(tcolor_1.default.magenta("Error checking module format.")),typescript_1.default.sys.exit(1)),{isCommonJs:s>0,isEsm:i>0}},e.isJsxContent=function(e){const t=typescript_1.default.createSourceFile("file.tsx",e,typescript_1.default.ScriptTarget.Latest,!0,typescript_1.default.ScriptKind.TSX);let i=!1;return function e(t){typescript_1.default.isJsxElement(t)||typescript_1.default.isJsxSelfClosingElement(t)||typescript_1.default.isJsxFragment(t)?i=!0:typescript_1.default.forEachChild(t,e)}(t),i},e.writeCompileFile=async function(t,i){const s=typescript_1.default.sys.resolvePath(t),a=node_path_1.default.dirname(s);typescript_1.default.sys.directoryExists(a)||await node_fs_1.default.promises.mkdir(a,{recursive:!0}),await e.wait(500),await node_fs_1.default.promises.writeFile(s,i)},e.isInsideNamespace=e=>{let t=e.parent;for(;t;){if(typescript_1.default.isModuleDeclaration(t)&&t.flags===typescript_1.default.NodeFlags.Namespace)return!0;t=t.parent}return!1},e.clearFolder=async function(e){e=node_path_1.default.resolve(process.cwd(),e);try{const t=await node_fs_1.default.promises.readdir(e,{withFileTypes:!0});await Promise.all(t.map(t=>node_fs_1.default.promises.rm(node_path_1.default.join(e,t.name),{recursive:!0})))}catch(e){if("ENOENT"!==e.code)throw e}}}(utilities||(utilities={}));const getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const i of e){const e=typescript_1.default.sys.resolvePath(i);if(typescript_1.default.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor_1.default.magenta("No entry found in susee.config file, at least one entry required")),typescript_1.default.sys.exit(1));const t={},i=[];for(const s of e){const e=s.exportPath;t[e]?i.push(`"${e}"`):t[e]=!0}i.length>0&&(console.error(tcolor_1.default.magenta(`Duplicate export paths/path (${i.join(",")}) found in your susee.config file , that will error for bundled output`)),typescript_1.default.sys.exit(1));for(const t of e)typescript_1.default.sys.fileExists(typescript_1.default.sys.resolvePath(t.entry))||(console.error(tcolor_1.default.magenta(`Entry file ${t.entry} dose not exists.`)),typescript_1.default.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor_1.default.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),typescript_1.default.sys.exit(1));const t=(await Promise.resolve(`${e}`).then(e=>__importStar(require(e)))).default,i=(0,resolves_1.default)([[checkEntries,t.entryPoints]]);await i.series(),await utilities.wait(1e3);const s=t.outDir??"dist",a=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??"esm",tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?s:`${s}${e.exportPath.slice(1)}`};a.push(t)}return{points:a,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!0,outDir:s}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new tsconfig_1.default(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:typescript_1.default.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath,allowJs:!0}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...i}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...i}}get commonjs(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.CommonJS,...i}}get esm(){const e=this.__init2(),{module:t,...i}=e;return{module:typescript_1.default.ModuleKind.ES2020,...i}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await node_fs_1.default.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));async function generateDependencies(e){const t=(await(0,mhaehko_1.default)(e)).sort(),i=[];for(const e of t){const t=typescript_1.default.sys.resolvePath(e),s=await node_fs_1.default.promises.readFile(t,"utf8"),a=node_path_1.default.extname(t),r=await fileSizes(t),n=s.length,o=checkExport(s,t),c=typescript_1.default.createSourceFile(t,s,typescript_1.default.ScriptTarget.Latest,!0),p=utilities.checkModuleType(c,t).isCommonJs?"cjs":"esm",l={file:t,content:s,length:n,includeDefExport:o,size:{logical:r.logical,allocated:r.allocated,utf8:(new TextEncoder).encode(s).length,buffBytes:node_buffer_1.Buffer.byteLength(s,"utf8")},moduleType:p,fileExt:a,isJsx:utilities.isJsxContent(s)};i.push(l)}return i}function _typesCheck(e,t){if(!t.noCheck){const i=e.map(e=>e.file);let s=!1;const a=typescript_1.default.createProgram(i,t);for(const e of i){const t=a.getSourceFile(e);t||(console.error(tcolor_1.default.magenta(`File not found: ${e}`)),typescript_1.default.sys.exit(1));const i=[...a.getSyntacticDiagnostics(t),...a.getSemanticDiagnostics(t),...a.getDeclarationDiagnostics(t)];if(i.length>0){const e={getCurrentDirectory:()=>process.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>typescript_1.default.sys.newLine};console.error(typescript_1.default.formatDiagnosticsWithColorAndContext(i,e)),s=!0}}if(!s)return!0;typescript_1.default.sys.exit(1)}}async function typeCheck(e,t){const i=(0,resolves_1.default)([[_typesCheck,e,t]]);return(await i.series())[0]}async function depPluginParser(e,t,i){if(t.length)for(const s of t){const t="function"==typeof s?s():s;"dependency"===t.type&&(e=t.async?await t.func(e,i):t.func(e,i))}return e}async function depHookParser(e,t){if(depHooks.length)for(const i of depHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function initializer(){console.time(`${tcolor_1.default.cyan("Collected Data")}`);const e=await finalSuseeConfig(),t=e.points,i=e.plugins,s=[];for(const e of t){const t=compilerOptions(e);let a=await generateDependencies(e.entry);await typeCheck(a,t.esm)||typescript_1.default.sys.exit(1),a=await depPluginParser(a,i,t.default),await utilities.wait(1e3),a=await depHookParser(a,t.default),await utilities.wait(1e3);const r={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:a,plugins:i};s.push(r)}return console.timeEnd(`${tcolor_1.default.cyan("Collected Data")}`),{points:s,allowUpdatePackageJson:e.allowUpdatePackageJson}}function uniqueName(){const e=new Map,t={setPrefix({key:i,value:s}){if(e.has(i))throw console.warn(`${i} already exist`),new Error;return e.set(i,[s,0]),t},getName(t,i){const[s,a]=e.get(t)||[],r=s?`${s}${i}_${(a??0)+1}`:`$nyein${i}_${(a??0)+1}`;return e.set(t,[s??"$nyein",(a??0)+1]),r},getPrefix(t){const[i]=e.get(t)||[];return i}};return t}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",genName=uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});function anonymousCallExpressionHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=a=>{if(typescript_1.default.isCallExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateCallExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isPropertyAccessExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updatePropertyAccessExpression(a,i.createIdentifier(s.newName),a.name)}}else if(typescript_1.default.isNewExpression(a)){if(typescript_1.default.isIdentifier(a.expression)){const e=a.expression.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateNewExpression(a,i.createIdentifier(s.newName),a.typeArguments,a.arguments)}}else if(typescript_1.default.isExportSpecifier(a)&&typescript_1.default.isIdentifier(a.name)){const e=a.name.text,s=exportDefaultImportNameMap.find(i=>i.base===e&&i.file===t);if(s)return i.updateExportSpecifier(a,a.isTypeOnly,a.propertyName,i.createIdentifier(s.newName))}return typescript_1.default.visitEachChild(a,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousExportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{const n=node_path_1.default.basename(t).split(".")[0];if((typescript_1.default.isFunctionDeclaration(r)||typescript_1.default.isClassDeclaration(r))&&void 0===r.name){let e=!1,t=!1;if(r.modifiers?.forEach(i=>{i.kind===typescript_1.default.SyntaxKind.ExportKeyword&&(e=!0),i.kind===typescript_1.default.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,n);if(exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),typescript_1.default.isFunctionDeclaration(r))return i.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,i.createIdentifier(e),r.typeParameters,r.parameters,r.type,r.body);if(typescript_1.default.isClassDeclaration(r))return i.updateClassDeclaration(r,r.modifiers,i.createIdentifier(e),r.typeParameters,r.heritageClauses,r.members)}}else if(typescript_1.default.isExportAssignment(r)&&!r.name&&!r.isExportEquals){if(typescript_1.default.isArrowFunction(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrowFunction(r.expression.modifiers,r.expression.typeParameters,r.expression.parameters,r.expression.type,r.expression.equalsGreaterThanToken,r.expression.body),s=i.createVariableDeclaration(i.createIdentifier(e),r.expression.exclamationToken,r.expression.type,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(r.expression.modifiers,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isObjectLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,r.expression),s=i.createVariableDeclarationList([t],typescript_1.default.NodeFlags.Const),o=i.createVariableStatement(void 0,s),c=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[o,c],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isArrayLiteralExpression(r.expression)){const e=genName.getName(prefixKey,n),t=i.createArrayLiteralExpression(r.expression.elements,!0),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isStringLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createStringLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}if(typescript_1.default.isNumericLiteral(r.expression)){const e=genName.getName(prefixKey,n),t=i.createNumericLiteral(r.expression.text),s=i.createVariableDeclaration(i.createIdentifier(e),void 0,void 0,t),o=i.createVariableDeclarationList([s],typescript_1.default.NodeFlags.Const),c=i.createVariableStatement(void 0,o),p=i.createExportAssignment(void 0,void 0,i.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:n,newName:e,isEd:!0}),i.updateSourceFile(a,[c,p],a.isDeclarationFile,a.referencedFiles,a.typeReferenceDirectives,a.hasNoDefaultLib,a.libReferenceDirectives)}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}function anonymousImportHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0),r=(0,transformer_1.default)(e=>{const{factory:i}=e,s=r=>{if(typescript_1.default.isImportDeclaration(r)){const e=r.moduleSpecifier.getText(a),s=node_path_1.default.basename(e).split(".")[0].trim();if(r.importClause?.name&&typescript_1.default.isIdentifier(r.importClause.name)){const e=r.importClause.name.text.trim(),a=exportDefaultExportNameMap.find(e=>e.file===s);if(a){exportDefaultImportNameMap.push({base:e,file:t,newName:a.newName,isEd:!0});const s=i.updateImportClause(r.importClause,r.importClause.phaseModifier,i.createIdentifier(a.newName),r.importClause.namedBindings);return i.updateImportDeclaration(r,r.modifiers,s,r.moduleSpecifier,r.attributes)}}}return typescript_1.default.visitEachChild(r,s,e)};return e=>typescript_1.default.visitNode(e,s)},a,e);return{file:t,content:r,...s}}}const anonymousHandler=async(e,t)=>{const i=(0,resolves_1.default)([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),s=await i.concurrent();for(const t of s)e=e.map(t);return e};function duplicates(e,t,i){const s=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),a=new Map;for(const e of s.statements){if(!typescript_1.default.isImportDeclaration(e)||!e.importClause)continue;const t=e.importClause;if(t.name&&typescript_1.default.isIdentifier(t.name)){const e=t.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t}))}else if(t.namedBindings&&typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)){const e=t.namedBindings.name.text;a.set(e,(a.get(e)||[]).concat({name:e,node:t.namedBindings}))}else if(t.namedBindings&&typescript_1.default.isNamedImports(t.namedBindings))for(const e of t.namedBindings.elements)if(typescript_1.default.isIdentifier(e.name)){const t=e.name.text;a.set(t,(a.get(t)||[]).concat({name:t,node:e}))}}const r=new Map,n=uniqueName();n.setPrefix({key:"DuplicateImport",value:"__dup__"});for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const t=n.getName("DuplicateImport",`${e}_`);r.set(`${e}::${i}`,t),r.set(`${e}::occurrence_${i}`,t)}const o=new Map;for(const[e,t]of a.entries())if(t.length>1)for(let i=1;i<t.length;i++){const s=t[i];s?.node&&o.set(s.node.pos,r.get(`${e}::${i}`))}return(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(typescript_1.default.isImportDeclaration(s)&&s.importClause){const e=s.importClause;let i=!1,a=e;if(e.name&&typescript_1.default.isIdentifier(e.name)){e.pos;const s=o.get(e.pos);s&&(a=t.updateImportClause(e,e.isTypeOnly,t.createIdentifier(s),e.namedBindings),i=!0)}if(e.namedBindings&&typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)){const s=o.get(e.namedBindings.pos);if(s){const e=t.createNamespaceImport(t.createIdentifier(s));a=t.updateImportClause(a,a.isTypeOnly,a.name,e),i=!0}}if(e.namedBindings&&typescript_1.default.isNamedImports(e.namedBindings)){const s=e.namedBindings.elements.map(e=>{if(typescript_1.default.isIdentifier(e.name)){const s=o.get(e.pos);if(s)return i=!0,t.updateImportSpecifier(e,e.isTypeOnly,e.propertyName,t.createIdentifier(s))}return e});if(i){const e=t.createNamedImports(s);a=t.updateImportClause(a,a.isTypeOnly,a.name,e)}}if(i)return t.updateImportDeclaration(s,s.modifiers,a,s.moduleSpecifier,s.assertClause)}if(typescript_1.default.isIdentifier(s)){const e=s.text;if(!(e=>{const t=e.parent;if(!t)return!1;switch(t.kind){case typescript_1.default.SyntaxKind.ImportSpecifier:case typescript_1.default.SyntaxKind.NamespaceImport:case typescript_1.default.SyntaxKind.ImportClause:case typescript_1.default.SyntaxKind.VariableDeclaration:case typescript_1.default.SyntaxKind.FunctionDeclaration:case typescript_1.default.SyntaxKind.ClassDeclaration:case typescript_1.default.SyntaxKind.InterfaceDeclaration:case typescript_1.default.SyntaxKind.TypeAliasDeclaration:case typescript_1.default.SyntaxKind.EnumDeclaration:case typescript_1.default.SyntaxKind.Parameter:case typescript_1.default.SyntaxKind.PropertyDeclaration:case typescript_1.default.SyntaxKind.MethodDeclaration:case typescript_1.default.SyntaxKind.BindingElement:return!0;default:return!1}})(s)){if(s.parent&&typescript_1.default.isPropertyAccessExpression(s.parent)&&s.parent.name===s)return s;const i=a.get(e);if(i&&i.length>1)for(let s=1;s<i.length;s++){const i=r.get(`${e}::occurrence_${s}`)||r.get(`${e}::${s}`);if(i)return t.createIdentifier(i)}}}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},s,i)}function mergeImportsStatement(e){const t=new Map,i=new Map,s=new Map,a=new Map,r=new Map;for(const n of e){const e=n.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,c]=e,p=n.includes("import type"),l=c;if(!o){const e=n.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],i=p?a:s;i.has(l)||i.set(l,new Set),i.get(l)?.add(t)}continue}if(o.startsWith("{")){const e=p?i:t;e.has(l)||e.set(l,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(l)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];r.has(l)||r.set(l,new Set),r.get(l)?.add(t)}}else{const e=p?a:s;e.has(l)||e.set(l,new Set),e.get(l)?.add(o.trim())}}const n=[];for(const[e,s]of t){const t=i.get(e)||new Set,a=new Set([...s]);for(const e of t)s.has(e)||a.add(e);if(a.size>0){const t=Array.from(a).sort().join(", ");n.push(`import { ${t} } from "${e}";`)}}for(const[e,s]of i)if(!t.has(e)&&s.size>0){const t=Array.from(s).sort().join(", ");n.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of s){const i=a.get(e)||new Set,s=new Set([...t]);for(const e of i)t.has(e)||s.add(e);if(s.size>0){const t=Array.from(s).join(", ");n.push(`import ${t} from "${e}";`)}}for(const[e,t]of a)if(!s.has(e)&&t.size>0){const i=Array.from(t).join(", ");n.push(`import type ${i} from "${e}";`)}for(const[e,t]of r)if(t.size>0){const i=Array.from(t).join(", ");n.push(`import * as ${i} from "${e}";`)}return n.sort()}function esmExportRemoveHandler(e){return({file:t,content:i,...s})=>{const a=typescript_1.default.createSourceFile(t,i,typescript_1.default.ScriptTarget.Latest,!0);return{file:t,content:(0,transformer_1.default)(e=>{const{factory:t}=e,i=s=>{if(!utilities.isInsideNamespace(s)&&(typescript_1.default.isFunctionDeclaration(s)||typescript_1.default.isClassDeclaration(s)||typescript_1.default.isInterfaceDeclaration(s)||typescript_1.default.isTypeAliasDeclaration(s)||typescript_1.default.isEnumDeclaration(s)||typescript_1.default.isVariableStatement(s))){const e=s.modifiers?.filter(e=>e.kind!==typescript_1.default.SyntaxKind.ExportKeyword&&e.kind!==typescript_1.default.SyntaxKind.DefaultKeyword);if(e?.length!==s.modifiers?.length){if(typescript_1.default.isFunctionDeclaration(s))return t.updateFunctionDeclaration(s,e,s.asteriskToken,s.name,s.typeParameters,s.parameters,s.type,s.body);if(typescript_1.default.isClassDeclaration(s))return t.updateClassDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isInterfaceDeclaration(s))return t.updateInterfaceDeclaration(s,e,s.name,s.typeParameters,s.heritageClauses,s.members);if(typescript_1.default.isTypeAliasDeclaration(s))return t.updateTypeAliasDeclaration(s,e,s.name,s.typeParameters,s.type);if(typescript_1.default.isEnumDeclaration(s))return t.updateEnumDeclaration(s,e,s.name,s.members);if(typescript_1.default.isVariableStatement(s))return t.updateVariableStatement(s,e,s.declarationList)}}if(typescript_1.default.isExportDeclaration(s))return t.createEmptyStatement();if(typescript_1.default.isExportAssignment(s)){const e=s.expression;if(typescript_1.default.isIdentifier(e))return t.createEmptyStatement()}return typescript_1.default.visitEachChild(s,i,e)};return e=>typescript_1.default.visitNode(e,i)},a,e),...s}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return typescript_1.default.isPropertyAccessExpression(e)&&typescript_1.default.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:i,content:s,...a})=>{const r=typescript_1.default.createSourceFile(i,s,typescript_1.default.ScriptTarget.Latest,!0),n=new Set;for(const e of r.statements)if(typescript_1.default.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;typescript_1.default.isExternalModuleReference(t)&&typescript_1.default.isStringLiteral(t.expression)&&n.add(e.name.text)}const o=(0,transformer_1.default)(t=>{const{factory:s}=t,a=o=>{properties=[...properties,...findProperty(o)];const c={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(typescript_1.default.isTypeReferenceNode(o)&&typescript_1.default.isQualifiedName(o.typeName)&&typescript_1.default.isIdentifier(o.typeName.left)&&typescript_1.default.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utilities.checkModuleType(r,i).isCommonJs&&"ts"!==e&&!n.has(e))return s.updateTypeReferenceNode(o,s.createIdentifier(t),void 0)}if(typescript_1.default.isImportDeclaration(o)){const t=o.getText(r);return e.push(t),s.createEmptyStatement()}if(typescript_1.default.isImportEqualsDeclaration(o)){const t=o.name.text,i=o.moduleReference;let a;if(o.isTypeOnly&&(c.isTypeOnly=!0),c.importedString=t,c.isTypeOnly||properties.includes(t)&&(c.isNamespace=!0),typescript_1.default.isExternalModuleReference(i)&&typescript_1.default.isStringLiteral(i.expression)&&(c.source=i.expression.text),c.importedString&&!c.importedObject&&(a=c.isTypeOnly?n.has(c.importedString)?`import type * as ${c.importedString} from "${c.source}";`:typesNames.includes(c.importedString)?`import type { ${typeObj[c.importedString]?.join(",")} } from "${c.source}";`:`import type ${c.importedString} from "${c.source}";`:c.isNamespace&&c.source&&"typescript"!==c.source?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}if(typescript_1.default.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const i=t[0];if(i.initializer&&typescript_1.default.isCallExpression(i.initializer)&&typescript_1.default.isIdentifier(i.initializer.expression)&&"require"===i.initializer.expression.escapedText){const t=i.initializer.arguments[0];if(typescript_1.default.isStringLiteral(t)&&(c.source=t.text),typescript_1.default.isIdentifier(i.name)){const e=i.name.text;c.importedString=e,properties.includes(e)&&(c.isNamespace=!0)}else if(typescript_1.default.isObjectBindingPattern(i.name)){const e=[];for(const t of i.name.elements)typescript_1.default.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(c.importedObject=e)}let a;if(c.importedString&&!c.importedObject&&(a=c.isNamespace?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(a=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),a)return e.push(a),s.createEmptyStatement()}}}return typescript_1.default.visitEachChild(o,a,t)};return e=>typescript_1.default.visitNode(e,a)},r,t);return{file:i,content:o,...a}}}const removeHandlers=async(e,t)=>{const i=(0,resolves_1.default)([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await i.series()};function collectBindingNames(e,t){typescript_1.default.isIdentifier(e)?t.push(e.text):(typescript_1.default.isObjectBindingPattern(e)||typescript_1.default.isArrayBindingPattern(e))&&e.elements.forEach(e=>{typescript_1.default.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,i,s={treatExportsAsUsed:!0}){const a=typescript_1.default.createSourceFile(t,e,typescript_1.default.ScriptTarget.Latest,!0),r=new Map,n=new Set,o=(e,t=!1)=>{const i=r.get(e);r.set(e,{exported:!!i?.exported||t})},c=e=>{if(typescript_1.default.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&typescript_1.default.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(typescript_1.default.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&o(e.name.text,!1)}):typescript_1.default.isNamespaceImport(t.namedBindings)&&typescript_1.default.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(typescript_1.default.isImportEqualsDeclaration(e)&&typescript_1.default.isIdentifier(e.name))o(e.name.text,!1);else if(typescript_1.default.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const i=[];collectBindingNames(e.name,i),i.forEach(e=>o(e,t))})}else if(typescript_1.default.isFunctionDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(typescript_1.default.isClassDeclaration(e)&&e.name&&typescript_1.default.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===typescript_1.default.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(typescript_1.default.isIdentifier(e)){const t=e.parent;typescript_1.default.isVariableDeclaration(t)&&t.name===e||typescript_1.default.isFunctionDeclaration(t)&&t.name===e||typescript_1.default.isClassDeclaration(t)&&t.name===e||typescript_1.default.isImportClause(t)&&t.name===e||typescript_1.default.isImportSpecifier(t)&&t.name===e||typescript_1.default.isNamespaceImport(t)&&t.name===e||typescript_1.default.isBindingElement(t)&&t.name===e||typescript_1.default.isParameter(t)&&t.name===e||n.add(e.text)}typescript_1.default.forEachChild(e,c)};c(a);const p=new Set;r.forEach((e,t)=>{n.has(t)||s.treatExportsAsUsed&&e.exported||p.add(t)});return(0,transformer_1.default)(e=>{const t=i=>{if(typescript_1.default.isImportDeclaration(i)&&i.importClause){const e=i.importClause,t=e.name&&typescript_1.default.isIdentifier(e.name)?e.name.text:void 0;let s;const a=[];e.namedBindings&&(typescript_1.default.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{typescript_1.default.isImportSpecifier(e)&&typescript_1.default.isIdentifier(e.name)&&a.push(e)}):typescript_1.default.isNamespaceImport(e.namedBindings)&&typescript_1.default.isIdentifier(e.namedBindings.name)&&(s=e.namedBindings.name.text));const r=!!t&&!p.has(t),n=!!s&&!p.has(s),o=a.filter(e=>!p.has(e.name.text));if(!r&&!n&&0===o.length)return typescript_1.default.factory.createNotEmittedStatement(i);if(!r&&!!e.name||void 0!==s&&!n||o.length!==a.length){let e;e=o.length>0?typescript_1.default.factory.createNamedImports(o):n&&s?typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(s)):void 0;const a=r&&t?typescript_1.default.factory.createIdentifier(t):void 0,c=typescript_1.default.factory.createImportClause(!1,a,e);return typescript_1.default.factory.updateImportDeclaration(i,i.modifiers,c,i.moduleSpecifier,i.assertClause)}return i}if((typescript_1.default.isFunctionDeclaration(i)||typescript_1.default.isClassDeclaration(i))&&i.name&&typescript_1.default.isIdentifier(i.name))return p.has(i.name.text)?typescript_1.default.factory.createNotEmittedStatement(i):i;if(typescript_1.default.isVariableStatement(i)){const e=[];i.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!p.has(e))?i:typescript_1.default.factory.createNotEmittedStatement(i)}return typescript_1.default.visitEachChild(i,t,e)};return e=>typescript_1.default.visitNode(e,t)},a,i)}async function preProcessPluginParser(e,t,i){if(e.length)for(const s of e){const e="function"==typeof s?s():s;"pre-process"===e.type&&(t=e.async?await e.func(t,i):e.func(t,i))}return t}async function preProcessHooksParser(e,t){if(preProcessHooks.length)for(const i of preProcessHooks)e=i.async?await i.func(e,t):i.func(e,t);return e}async function bundler(e){const t="."===e.exportPath?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`);let i=e.depFiles;const s=e.rename,a=e.tsOptions.default,r=e.plugins;let n=[];i=await anonymousHandler(i,a);const o=await removeHandlers(n,a);i=i.map(o[0]);const c=i.slice(0,-1).map(o[1]),p=i.slice(-1),l=/["']((?!\.\/|\.\.\/)[^"']+)["']/;n=n.filter(e=>l.test(e)),n=mergeImportsStatement(n);let d=`${n.join("\n").trim()}\n${c.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${p.map(e=>`${`//${node_path_1.default.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return d=d.replace(/^s*;\s*$/gm,"").trim(),s&&(d=duplicates(d,e.fileName,a)),d=clearUnusedCode(d,e.fileName,a),d=await preProcessPluginParser(r,d),await utilities.wait(1e3),d=await preProcessHooksParser(d),await utilities.wait(1e3),console.timeEnd(`${tcolor_1.default.cyan("Bundled")} -> ${tcolor_1.default.brightCyan(t)} ${tcolor_1.default.cyan("export path")}`),{bundledContent:d,...e}}async function bundle(e){const t=[];for(const i of e.points){const e=await bundler(i);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const i={},s={getSourceFile:(i,s)=>{if(i===t)return typescript_1.default.createSourceFile(i,e,s)},writeFile:(e,t)=>{i[e]=t},getDefaultLibFileName:e=>typescript_1.default.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:i=>i===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:i,host:s}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`},require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${node_path_1.default.relative(process.cwd(),e.commonjsTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${node_path_1.default.relative(process.cwd(),e.esmTypes)}`,default:`./${node_path_1.default.relative(process.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let i=!0;"."!==t&&(i=!1);const s=typescript_1.default.sys.resolvePath("package.json"),a=node_fs_1.default.readFileSync(s,"utf8"),r=JSON.parse(a);let{name:n,version:o,description:c,main:p,module:l,type:d,types:f,exports:u,...m}=r;await utilities.wait(500),d="module";let y={},_={},g={},h={};if(i)y=e.main?{main:node_path_1.default.relative(process.cwd(),e.main)}:{},_=e.module?{module:node_path_1.default.relative(process.cwd(),e.module)}:{},g=e.types?{types:node_path_1.default.relative(process.cwd(),e.types)}:{},h={exports:{...getExports(e,t)}};else{y=p?{main:p}:{},_=l?{module:l}:{},g=f?{types:f}:{};h={exports:{...u&&"object"==typeof u&&!Array.isArray(u)?{...u}:{},...getExports(e,t)}}}await utilities.wait(1e3);const x={name:n,version:o,description:c,type:d,...y,...g,..._,...h,...m};utilities.writeCompileFile(s,JSON.stringify(x,null,2))}class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.cjs,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.commonjs=e.replace(/.js/g,".cjs")),e.match(/.d.ts/g)&&(this.files.commonjsTypes=e.replace(/.d.ts/g,".d.cts")),!t||"both"!==r&&"commonjs"!==r||(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),e=(e=(e=e.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),await utilities.wait(500),"commonjs"===r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled CJS")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async _esm(e){const t="."===e.exportPath,i=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`);const s=e.fileName,a=e.bundledContent,r=e.format,n=e.plugins,o=e.tsOptions.esm,c=createHost(a,s),p=c.createdFiles,l=c.host;typescript_1.default.createProgram([s],o,l).emit(),Object.entries(p).map(async([e,i])=>{if(".js"===node_path_1.default.extname(e)&&n.length)for(let t of n)t="function"==typeof t?t():t,"post-process"===t.type&&(i=t.async?await t.func(i,e):t.func(i,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.esm=e.replace(/.js/g,".mjs")),e.match(/.d.ts/g)&&(this.files.esmTypes=e.replace(/.d.ts/g,".d.mts")),t&&"both"===r&&this.files.esm&&(this.files.module=this.files.esm)),e=(e=(e=e.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utilities.wait(500),"commonjs"!==r&&await utilities.clearFolder(node_path_1.default.dirname(e)),await utilities.writeCompileFile(e,i)}),console.timeEnd(`${tcolor_1.default.cyan("Compiled ESM")} -> ${tcolor_1.default.brightCyan(i)} ${tcolor_1.default.cyan("export path")}`)}async compile(){for(const e of this.object.points){switch(await utilities.wait(500),e.format){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"both":await this._esm(e),await utilities.wait(1e3),await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}await utilities.wait(500)}}}async function susee(){console.info(`${tcolor_1.default.cyan("Susee Started")} : `),console.time(`${tcolor_1.default.cyan("Susee Done")}`);const e=await initializer();await utilities.wait(1e3);const t=await bundle(e);await utilities.wait(1e3);const i=new Compiler(t);await i.compile(),console.timeEnd(`${tcolor_1.default.cyan("Susee Done")}`)}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAooES,sBAAK;AApoEd,iEAAyC;AACzC,sDAAyB;AACzB,sDAA8B;AAC9B,0DAA6B;AAC7B,sEAA8C;AAC9C,6DAAqC;AACrC,uEAAqD;AACrD,4DAA4B;AAG5B,6CAAqC;AACrC,sBAAsB;AACtB,MAAM,QAAQ,GAAuB,EAAE,CAAC;AACxC,MAAM,eAAe,GAAuB,EAAE,CAAC;AAC/C,kBAAkB;AAClB,IAAU,SAAS,CA8JlB;AA9JD,WAAU,SAAS;IACf;;;;OAIG;IACH,SAAgB,cAAc,CAAC,GAAW;QACtC,MAAM,WAAW,GAAG,GAAG;aAClB,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;aACnC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC;aACzC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACnD,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO,WAAW,CAAC;IACvB,CAAC;IAPe,wBAAc,iBAO7B,CAAA;IACD;;;;OAIG;IACU,cAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1F;;;;;;OAMG;IACU,yBAAe,GAAG,CAAC,UAAyB,EAAE,IAAY,EAAE,EAAE;QACvE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,+CAA+C;YAC/C,SAAS,IAAI,CAAC,IAAa;gBACvB,qCAAqC;gBACrC,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC5B,oBAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAClC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC5B,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC1B,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,aAAa,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,4CAA4C;gBAC5C,IAAI,CAAC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC7B,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAC9B,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;oBAC/B,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;oBAC/B,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC1B,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1E,aAAa,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,qCAAqC;gBACrC,IAAI,oBAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;wBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;wBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,WAAW,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACL,CAAC;gBACD,0CAA0C;gBAC1C,IAAI,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACtC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;wBACjC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC9B,WAAW,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACL,CAAC;gBACD,2BAA2B;gBAC3B,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC,KAAK;YACP,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,qDAAqD;YACrD,IAAI,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChC,SAAS,EAAE,CAAC;YAChB,CAAC;iBACI,IAAI,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrC,QAAQ,EAAE,CAAC;YACf,CAAC;iBACI,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;gBACpC,uDAAuD;gBACvD,SAAS,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,oCAAoC,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC;YACxF,YAAY,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC/D,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;YACH,UAAU,EAAE,QAAQ,GAAG,CAAC;YACxB,KAAK,EAAE,SAAS,GAAG,CAAC;SACvB,CAAC;IACN,CAAC,CAAC;IACF;;;;OAIG;IACH,SAAgB,YAAY,CAAC,IAAY;QACrC,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM;QAC/E,kBAAkB,CAAC,IAAI,EAAE,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,SAAS,OAAO,CAAC,IAAa;YAC1B,kEAAkE;YAClE,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,oBAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC;gBAChC,oBAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;QACpB,OAAO,WAAW,CAAC;IACvB,CAAC;IAhBe,sBAAY,eAgB3B,CAAA;IACM,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAChE,MAAM,QAAQ,GAAG,oBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,oBAAE,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,iBAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAA,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,iBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IARqB,0BAAgB,mBAQrC,CAAA;IACY,2BAAiB,GAAG,CAAC,CAAU,EAAW,EAAE;QACrD,IAAI,OAAO,GAAwB,CAAC,CAAC,MAAM,CAAC;QAC5C,OAAO,OAAO,EAAE,CAAC;YACb,IAAI,oBAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAC/B,OAAO,CAAC,KAAK,KAAK,oBAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IACK,KAAK,UAAU,WAAW,CAAC,UAAkB;QAChD,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE;gBAClD,aAAa,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBACvF,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC,CAAC,CAAC;QACT,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,yDAAyD;YACzD,IAAK,KAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAhBqB,qBAAW,cAgBhC,CAAA;AACL,CAAC,EA9JS,SAAS,KAAT,SAAS,QA8JlB;AA2FD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,GAAuB,EAAE;IAC3C,MAAM,SAAS,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAC7E,IAAI,UAA8B,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,oBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,UAAU,GAAG,KAAK,CAAC;YACnB,MAAM;QACV,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AACF;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,OAAqB;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,CAAC;QAClG,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;QAC7B,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAC5C,CAAC;aACI,CAAC;YACF,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,gCAAgC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;QACtK,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC;YAC1E,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;AACL,CAAC;AACD;;;;GAIG;AACH,KAAK,UAAU,gBAAgB;IAC3B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC,CAAC;QACvH,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAEV,yBAAa,UAAoB,uCAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;YAC3B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;YACnD,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;YAC9C,UAAU,EAAE,GAAG,CAAC,UAAU,KAAK,GAAG;gBAC9B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SACtC,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO;QACH,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI;QAC7D,MAAM,EAAE,OAAO;KACE,CAAC;AAC1B,CAAC;AACD,2CAA2C;AAC3C,MAAM,eAAe;IAGjB,YAAY,KAAY;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IACO,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,kBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,mBAAmB,CAAC;YACvB,gBAAgB,EAAE,oBAAE,CAAC,oBAAoB,CAAC,QAAQ;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;IACO,OAAO;QACX,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnD,gCAAgC;QAChC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,KAAK,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;aACI,CAAC;YACF,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACN,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,EAAwB,CAAC;IAChE,CAAC;IACD,IAAW,QAAQ;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAwB,CAAC;IAC7E,CAAC;IACD,IAAW,GAAG;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,EAAwB,CAAC;IAC3E,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;CACJ;AACD;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAY;IACjC,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AACD,wCAAwC;AACxC,KAAK,UAAU,SAAS,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB;IACxC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAmC;IAChG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AACD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;SACI,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AACF,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IACjD,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,oBAAoB;IAChD,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,oBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAW,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,MAAM,MAAM,GAAG;YACX,IAAI;YACJ,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI,EAAE;gBACF,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;gBAC9C,SAAS,EAAE,oBAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;aAChD;YACD,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC;SACrB,CAAC;QACtB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AACD,qCAAqC;AACrC,SAAS,WAAW,CAAC,GAAsB,EAAE,eAAmC;IAC5E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,iBAAiB;QACjB,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC7D,sDAAsD;QACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,OAAO,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC7D,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,MAAM,WAAW,GAAG;gBAChB,GAAG,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC;gBAC9C,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC;gBAC7C,GAAG,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC;aACnD,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,UAAU,GAA6B;oBACzC,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;oBACxC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBAC5C,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAE,CAAC,GAAG,CAAC,OAAO;iBACnC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,oBAAE,CAAC,oCAAoC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;gBAChF,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;aACI,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC;AACD,KAAK,UAAU,SAAS,CAAC,GAAsB,EAAE,eAAmC;IAChF,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAoBD;;;;;;;;GAQG;AACH,KAAK,UAAU,eAAe,CAAC,QAA2B,EAAE,OAA8C,EAAE,eAAmC;IAC3I,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC7D,CAAC;qBACI,CAAC;oBACF,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAC,QAA2B,EAAE,eAAmC;IACzF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1D,CAAC;iBACI,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD;;;;;GAKG;AACH,KAAK,UAAU,WAAW;IACtB,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,oBAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,oCAAoC;QACpC,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG;YACN,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,gBAAgB;YAC9B,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,SAAS,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,QAAQ;gBACpB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B;YACD,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,OAAO;SACA,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO;QACH,MAAM,EAAE,MAAM;QACd,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;KACtC,CAAC;AAC1B,CAAC;AACD,8BAA8B;AAC9B;;;;;;GAMG;AACH,SAAS,UAAU;IACf,MAAM,YAAY,GAGb,IAAI,GAAG,EAAE,CAAC;IACf,MAAM,GAAG,GAAG;QACR,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAGrB;YACG,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;gBACrC,MAAM,IAAI,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAW,EAAE,KAAa;YAC9B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM;gBAChB,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;gBACzC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,SAAS,CAAC,GAAW;YACjB,MAAM,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC;AACD,6BAA6B;AAC7B,MAAM,0BAA0B,GAAc,EAAE,CAAC;AACjD,MAAM,0BAA0B,GAAc,EAAE,CAAC;AACjD,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC;IACnC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,eAAe;CACzB,CAAC,CAAC;AACH;;;;;;;GAOG;AACH,SAAS,8BAA8B,CAAC,eAAmC;IACvE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAoB,EAAoB,EAAE;QACtE,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpF,MAAM,WAAW,GAAyC,CAAC,OAAO,EAAE,EAAE;YAClE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;gBACvC,IAAI,oBAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClC,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;wBAC3F,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC7H,CAAC;oBACL,CAAC;gBACL,CAAC;qBACI,IAAI,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClC,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;wBAC3F,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,OAAO,CAAC,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9G,CAAC;oBACL,CAAC;gBACL,CAAC;qBACI,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClC,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;wBAC3F,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC5H,CAAC;oBACL,CAAC;oBACD,iDAAiD;gBACrD,CAAC;qBACI,IAAI,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;wBAC3F,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC9H,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AACD;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,eAAmC;IAC/D,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAoB,EAAoB,EAAE;QACtE,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpF;;;;;WAKG;QACH,MAAM,WAAW,GAAyC,CAAC,OAAiC,EAAiC,EAAE;YAC3H,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B;;;;;eAKG;YACH,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;gBACvC,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;gBAC7D,IAAI,CAAC,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,GAAG,GAAG,KAAK,CAAC;oBAChB,IAAI,GAAG,GAAG,KAAK,CAAC;oBAChB,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;4BAC3C,GAAG,GAAG,IAAI,CAAC;wBACf,CAAC;wBACD,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;4BAC5C,GAAG,GAAG,IAAI,CAAC;wBACf,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;wBACb,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,IAAI,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;4BACjC,OAAO,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnL,CAAC;6BACI,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBACzJ,CAAC;oBACL,CAAC;gBACL,CAAC;qBACI,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAChC,CAAC,IAAI,CAAC,IAAI;oBACV,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACjO,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;wBAC7K,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,EAAE,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzH,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;wBACtH,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClH,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC5P,CAAC;yBACI,IAAI,oBAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzI,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,EAAE,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzH,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;wBACtG,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClH,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC5P,CAAC;yBACI,IAAI,oBAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,MAAM,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACxG,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;wBACpJ,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,EAAE,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzH,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;wBACtG,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClH,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC5P,CAAC;yBACI,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC5E,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;wBAC3I,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,EAAE,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzH,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;wBACtG,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClH,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC5P,CAAC;yBACI,IAAI,oBAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAClD,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC9E,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;wBAC5I,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,uBAAuB,CAAC,EAAE,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzH,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;wBACtG,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClH,0BAA0B,CAAC,IAAI,CAAC;4BAC5B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oBAC5P,CAAC;gBACL,CAAC,CAAC,EAAE;gBACJ,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AACD;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,eAAmC;IAC/D,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAoB,EAAoB,EAAE;QACtE,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpF,MAAM,WAAW,GAAyC,CAAC,OAAO,EAAE,EAAE;YAClE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;gBACvC,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAI,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAY,CAAC,IAAI,EAAE,CAAC;oBACvE,uCAAuC;oBACvC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI;wBACvB,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChD,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;wBACzE,IAAI,OAAO,EAAE,CAAC;4BACV,0BAA0B,CAAC,IAAI,CAAC;gCAC5B,IAAI;gCACJ,IAAI;gCACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gCACxB,IAAI,EAAE,IAAI;6BACb,CAAC,CAAC;4BACH,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;4BACnL,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzH,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AACD;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAwB,EAAE,eAAmC,EAA+B,EAAE;IAC1H,MAAM,SAAS,GAAG,IAAA,kBAAQ,EAAC;QACvB,CAAC,sBAAsB,EAAE,eAAe,CAAC;QACzC,CAAC,sBAAsB,EAAE,eAAe,CAAC;QACzC,CAAC,8BAA8B,EAAE,eAAe,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AACF,6BAA6B;AAC7B,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,eAAmC;IAClF,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAMpF,MAAM,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YACnD,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,iBAAiB;QACjB,IAAI,GAAG,CAAC,IAAI,IAAI,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,6CAA6C;aACxC,IAAI,GAAG,CAAC,aAAa;YACtB,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;YACvC,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,gDAAgD;aAC3C,IAAI,GAAG,CAAC,aAAa,IAAI,oBAAE,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,oEAAoE;IACpE,MAAM,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjB,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;gBAC3D,qCAAqC;gBACrC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxC,iFAAiF;gBACjF,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IACD,sFAAsF;IACtF,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;oBAChB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAW,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAyC,CAAC,OAAiC,EAAE,EAAE;QAC5F,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,EAAiB,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,MAAM;gBACP,OAAO,KAAK,CAAC;YACjB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,oBAAE,CAAC,UAAU,CAAC,eAAe,CAAC;gBACnC,KAAK,oBAAE,CAAC,UAAU,CAAC,eAAe,CAAC;gBACnC,KAAK,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAChC,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBACvC,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBACvC,KAAK,oBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACpC,KAAK,oBAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBACxC,KAAK,oBAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBACxC,KAAK,oBAAE,CAAC,UAAU,CAAC,eAAe,CAAC;gBACnC,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7B,KAAK,oBAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBACvC,KAAK,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBACrC,KAAK,oBAAE,CAAC,UAAU,CAAC,cAAc;oBAC7B,OAAO,IAAI,CAAC;gBAChB;oBACI,OAAO,KAAK,CAAC;YACrB,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;YACvC,gEAAgE;YAChE,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,eAAe,GAAG,GAAG,CAAC;gBAC1B,iBAAiB;gBACjB,IAAI,GAAG,CAAC,IAAI,IAAI,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;oBACrB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,OAAO,EAAE,CAAC;wBACV,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;wBACxH,OAAO,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACL,CAAC;gBACD,mBAAmB;gBACnB,IAAI,GAAG,CAAC,aAAa;oBACjB,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;oBACvC,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5E,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACpH,OAAO,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACL,CAAC;gBACD,gBAAgB;gBAChB,IAAI,GAAG,CAAC,aAAa,IAAI,oBAAE,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;wBACnD,IAAI,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;4BAC5C,IAAI,OAAO,EAAE,CAAC;gCACV,OAAO,GAAG,IAAI,CAAC;gCACf,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;4BAChH,CAAC;wBACL,CAAC;wBACD,OAAO,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;wBACnD,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3H,CAAC;gBACL,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3H,CAAC;YACL,CAAC;YACD,2DAA2D;YAC3D,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,gEAAgE;gBAChE,8FAA8F;gBAC9F,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,MAAM;wBACX,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBAC5B,sBAAsB;wBACtB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,oDAAoD;oBACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,wEAAwE;wBACxE,4FAA4F;wBAC5F,yGAAyG;wBACzG,kDAAkD;wBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAClC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC;gCACpD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;4BAClC,IAAI,OAAO,EAAE,CAAC;gCACV,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;4BAC7C,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;IAC1E,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,gCAAgC;AAChC;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,OAAiB;IAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxD,8BAA8B;IAC9B,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnG,IAAI,CAAC,WAAW;YACZ,SAAS;QACb,MAAM,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC;QAClD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,WAAqB,CAAC;QACzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,uCAAuC;YACvC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAW,CAAC;gBAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;gBACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;oBAC1B,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACzC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,YAAY;iBACrB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;iBACpB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,yFAAyF;YACzF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;aACI,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,mDAAmD;YACnD,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC7D,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAW,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;oBACjC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAChD,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;aACI,CAAC;YACF,4CAA4C;YAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACzC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,wEAAwE;IACxE,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,aAAa,CAAC,IAAI,CAAC,YAAY,WAAW,YAAY,UAAU,IAAI,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IACD,kFAAkF;IAClF,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,aAAa,CAAC,IAAI,CAAC,iBAAiB,WAAW,YAAY,UAAU,IAAI,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IACD,0FAA0F;IAC1F,KAAK,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,cAAc,EAAE,CAAC;QAC7D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACzE,0EAA0E;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,aAAa,CAAC,IAAI,CAAC,UAAU,WAAW,UAAU,UAAU,IAAI,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IACD,0CAA0C;IAC1C,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,aAAa,CAAC,IAAI,CAAC,eAAe,WAAW,UAAU,UAAU,IAAI,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IACD,4BAA4B;IAC5B,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,eAAe,WAAW,UAAU,UAAU,IAAI,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AACD,2BAA2B;AAC3B;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,eAAmC;IAC/D,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAoB,EAAoB,EAAE;QACtE,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpF,MAAM,WAAW,GAAyC,CAAC,OAAO,EAAE,EAAE;YAClE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;gBACvC,2CAA2C;gBAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,IAAI,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;wBAC9B,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAC/B,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAC/B,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;4BAClF,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;wBAC7C,IAAI,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;4BAC/C,iDAAiD;4BACjD,yFAAyF;4BACzF,0DAA0D;4BAC1D,IAAI,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gCACjC,OAAO,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzJ,CAAC,CAAC,WAAW;4BACb,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC9B,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC/H,CAAC,CAAC,QAAQ;4BACV,IAAI,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAClC,OAAO,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnI,CAAC,CAAC,YAAY;4BACd,IAAI,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAClC,OAAO,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1G,CAAC,CAAC,QAAQ;4BACV,IAAI,oBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC7B,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnF,CAAC,CAAC,MAAM;4BACR,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC/B,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;4BAClF,CAAC,CAAC,OAAO;wBACb,CAAC,CAAC,IAAI;oBACV,CAAC,CAAC,aAAa;gBACnB,CAAC;gBACD,mDAAmD;gBACnD,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,mDAAmD;oBACnD,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC1C,CAAC;gBACD,8CAA8C;gBAC9C,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC7B,uCAAuC;oBACvC,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,CAAC;gBACL,CAAC;gBACD,uFAAuF;gBACvF,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,2FAA2F;YAC3F,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AACD,IAAI,UAAU,GAAa,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAY,EAAE,CAAC;AAC5B,MAAM,UAAU,GAAa,EAAE,CAAC;AAChC;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAa;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,UAAU,CAAC;AACtB,CAAC;AACD;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,iBAA2B,EAAE,eAAmC;IAC5F,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAoB,EAAoB,EAAE;QACtE,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpF,wFAAwF;QACxF,yCAAyC;QACzC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,oBAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC7C,IAAI,oBAAE,CAAC,yBAAyB,CAAC,eAAe,CAAC;oBAC7C,oBAAE,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjD,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;QACL,CAAC;QACD,MAAM,WAAW,GAAyC,CAAC,OAAO,EAAE,EAAE;YAClE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC5B,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;gBACvC,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAwB;oBAC7B,WAAW,EAAE,KAAK;oBAClB,UAAU,EAAE,KAAK;oBACjB,eAAe,EAAE,KAAK;oBACtB,MAAM,EAAE,EAAE;oBACV,cAAc,EAAE,SAAS;oBACzB,cAAc,EAAE,SAAS;iBAC5B,CAAC;gBACF,kEAAkE;gBAClE,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC5B,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjC,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnC,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;wBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;yBACI,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,oFAAoF;oBACpF,kFAAkF;oBAClF,sFAAsF;oBACtF,IAAI,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnD,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;wBAC7F,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,2BAA2B;gBAC3B,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,kCAAkC;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACtC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAC1C,CAAC;gBACD,wCAAwC;gBACxC,IAAI,oBAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;oBAC7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC1B,CAAC;oBACD,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC5B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC3B,CAAC;oBACL,CAAC;oBACD,IAAI,oBAAE,CAAC,yBAAyB,CAAC,eAAe,CAAC;wBAC7C,oBAAE,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjD,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;oBACjD,CAAC;oBACD,IAAI,CAAqB,CAAC;oBAC1B,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;wBAC5C,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BACjB,sFAAsF;4BACtF,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC/C,CAAC,GAAG,oBAAoB,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;4BACvE,CAAC;iCACI,CAAC;gCACF,wEAAwE;gCACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oCAC1C,CAAC,GAAG,iBAAiB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC;gCAC1F,CAAC;qCACI,CAAC;oCACF,CAAC,GAAG,eAAe,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;gCAClE,CAAC;4BACL,CAAC;wBACL,CAAC;6BACI,CAAC;4BACF,IAAI,GAAG,CAAC,WAAW;gCACf,GAAG,CAAC,MAAM;gCACV,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gCAC9B,CAAC,GAAG,eAAe,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;4BAClE,CAAC;iCACI,CAAC;gCACF,CAAC,GAAG,UAAU,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;4BAC7D,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;wBAC5C,CAAC,GAAG,YAAY,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC;oBAC5E,CAAC;oBACD,UAAU;oBACV,IAAI,CAAC,EAAE,CAAC;wBACJ,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC1B,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,CAAC;gBACL,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;oBAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAA2B,CAAC;wBAChD,IAAI,IAAI,CAAC,WAAW;4BAChB,oBAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;4BACrC,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;4BAC5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;4BACxD,gBAAgB;4BAChB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAkB,CAAC;4BAC3D,IAAI,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC1B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;4BAC1B,CAAC;4BACD,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gCAC1B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACxB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oCAC1B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;gCAC3B,CAAC;4BACL,CAAC;iCACI,IAAI,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;gCAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oCACnC,IAAI,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oCAC/B,CAAC;gCACL,CAAC;gCACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpB,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;gCAChC,CAAC;4BACL,CAAC;4BACD,IAAI,EAAsB,CAAC;4BAC3B,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gCAC5C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oCAClB,EAAE,GAAG,eAAe,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;gCACnE,CAAC;qCACI,CAAC;oCACF,EAAE,GAAG,UAAU,GAAG,CAAC,cAAc,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC;gCAC9D,CAAC;4BACL,CAAC;4BACD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gCAC5C,EAAE,GAAG,YAAY,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC;4BAC7E,CAAC;4BACD,IAAI,EAAE,EAAE,CAAC;gCACL,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC3B,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;4BAC1C,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,uFAAuF;gBACvF,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,2FAA2F;YAC3F,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AACD;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,KAAK,EAAE,iBAA2B,EAAE,eAAmC,EAG3F,EAAE;IACD,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC;QACtB,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,eAAe,CAAC;QAC5D,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC5C,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC,CAAC;AAMF,SAAS,mBAAmB,CAAC,IAAoB,EAAE,GAAa;IAC5D,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB,IAAI,oBAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,IAAI,oBAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI;gBAClC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AACD;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,IAAY,EAAE,eAAmC,EAAE,UAA8B,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACnJ,MAAM,UAAU,GAAG,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,GAAG,EAEnB,CAAC;IACL,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,yFAAyF;IACzF,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE;QAC9B,cAAc;QACd,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7B,IAAI,EAAE,CAAC,IAAI,IAAI,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;gBACnC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,oBAAE,CAAC,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtC,IAAI,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;4BACtD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBACP,CAAC;qBACI,IAAI,oBAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,aAAa,CAAC;oBAC3C,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;QACL,CAAC;aACI,IAAI,oBAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;YACvC,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;aACI,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAChF,KAAK,CAAC;YACV,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,+DAA+D;gBAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC;aACI,IAAI,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,IAAI;YACT,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAChF,KAAK,CAAC;YACV,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;aACI,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI;YACT,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAChF,KAAK,CAAC;YACV,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,2EAA2E;QAC3E,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,iBAAiB,GAAG,CAAC,oBAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBAChF,CAAC,oBAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBAC1D,CAAC,oBAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBACvD,CAAC,oBAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBACnD,CAAC,oBAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBACtD,CAAC,oBAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBACtD,CAAC,oBAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBACrD,CAAC,oBAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,iBAAiB;gBAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,oBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,OAAO,CAAC,UAAU,CAAC,CAAC;IACpB,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACd,OAAO;QACX,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ;YAC3C,OAAO;QACX,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,+DAA+D;IAC/D,MAAM,WAAW,GAAyC,CAAC,OAAiC,EAAE,EAAE;QAC5F,MAAM,OAAO,GAAG,CAAC,IAAa,EAA2B,EAAE;YACvD,+DAA+D;YAC/D,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC7B,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,IAAI,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,IAAI,aAAiC,CAAC;gBACtC,MAAM,aAAa,GAAyB,EAAE,CAAC;gBAC/C,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;oBACnB,IAAI,oBAAE,CAAC,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;wBACtC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;4BACtC,IAAI,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,oBAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gCACtD,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChC,CAAC,CAAC,CAAC;oBACP,CAAC;yBACI,IAAI,oBAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,aAAa,CAAC;wBAC3C,oBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/C,CAAC;gBACL,CAAC;gBACD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnE,MAAM,aAAa,GAAG,aAAa;oBAC/B,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;oBAC5B,CAAC,CAAC,KAAK,CAAC;gBACZ,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3D,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;oBAC1C,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC;oBAC/C,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC9C,IAAI,UAAU,EAAE,CAAC;oBACb,oCAAoC;oBACpC,IAAI,gBAAoD,CAAC;oBACzD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,gBAAgB,GAAG,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBAChE,CAAC;yBACI,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;wBACtC,gBAAgB,GAAG,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;oBACpG,CAAC;yBACI,CAAC;wBACF,gBAAgB,GAAG,SAAS,CAAC;oBACjC,CAAC;oBACD,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW;wBACzC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;wBAC1C,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,eAAe,GAAG,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;oBAC3F,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrG,mDAAmD;oBAClD,IAAY,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,qEAAqE;YACrE,IAAI,CAAC,oBAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI;gBACT,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1B,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,oFAAoF;YACpF,IAAI,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,+DAA+D;gBAC/D,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO;oBACR,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,oBAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAkB,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,qBAAiB,EAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AAClB,CAAC;AAUD,yFAAyF;AACzF;;;;;;;;GAQG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAA8C,EAAE,IAAY,EAAE,IAAyB;IACzH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;qBACI,CAAC;oBACF,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAyB;IACxE,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;iBACI,CAAC;gBACF,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,qFAAqF;AACrF,KAAK,UAAU,OAAO,CAAC,KAAsB;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,GAAG;QAClC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvG,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,yCAAyC;IACzC,SAAS,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC/D,iBAAiB;IACjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACzE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,wCAAwC;IACxC,qCAAqC;IACrC,MAAM,UAAU,GAAG,SAAS;SACvB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAsB,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,6BAA6B;IAC7B,qEAAqE;IACrE,MAAM,MAAM,GAAG,iCAAiC,CAAC;IACjD,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,iBAAiB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC7D,uBAAuB;IACvB,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,eAAe,GAAG,UAAU;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC,CAAC;SACG,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;IACZ,MAAM,eAAe,GAAG,QAAQ;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC,CAAC;SACG,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;IACZ,oCAAoC;IACpC,IAAI,OAAO,GAAG,GAAG,gBAAgB,KAAK,eAAe,KAAK,eAAe,EAAE,CAAC;IAC5E,WAAW;IACX,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpE,2BAA2B;IAC3B,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU;IACV,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1G,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,EAAiB,CAAC;AAChE,CAAC;AACD,KAAK,UAAU,MAAM,CAAC,MAAwB;IAC1C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,OAAO;QACH,MAAM;QACN,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;KACvC,CAAC;AACvB,CAAC;AACD,yBAAyB;AACzB;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,UAAkB,EAAE,QAAgB;IAIpD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,IAAI,GAAoB;QAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE;YACrC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,OAAO,oBAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC9B,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACtC,CAAC;QACD,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC;QACrE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ;QACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;QACpC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;QACrC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;KACzB,CAAC;IACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AACD,4BAA4B;AAC5B,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC;AACzE,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC;AAC/D;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,KAAe,EAAE,UAA+B;IAChE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC;YACE,CAAC,UAAU,CAAC,EAAE;gBACV,MAAM,EAAE;oBACJ,KAAK,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAkB,CAAC,EAAE;oBACpE,OAAO,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,GAAa,CAAC,EAAE;iBACpE;gBACD,OAAO,EAAE;oBACL,KAAK,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,aAAuB,CAAC,EAAE;oBACzE,OAAO,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAkB,CAAC,EAAE;iBACzE;aACJ;SACJ;QACD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC;gBACE,CAAC,UAAU,CAAC,EAAE;oBACV,OAAO,EAAE;wBACL,KAAK,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,aAAuB,CAAC,EAAE;wBACzE,OAAO,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAkB,CAAC,EAAE;qBACzE;iBACJ;aACJ;YACD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC;oBACE,CAAC,UAAU,CAAC,EAAE;wBACV,MAAM,EAAE;4BACJ,KAAK,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAkB,CAAC,EAAE;4BACpE,OAAO,EAAE,KAAK,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,GAAa,CAAC,EAAE;yBACpE;qBACJ;iBACJ;gBACD,CAAC,CAAC,EAAE,CAAC;AACrB,CAAC;AACD;;;;;;;;;GASG;AACH,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,UAA+B;IACxE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,oBAAE,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC1F,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,GAAG,QAAQ,CAAC;IAChB,IAAI,KAAK,GAA2B,EAAE,CAAC;IACvC,IAAI,OAAO,GAA2B,EAAE,CAAC;IACzC,IAAI,MAAM,GAA2B,EAAE,CAAC;IACxC,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACT,KAAK,GAAG,KAAK,CAAC,IAAI;YACd,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAc,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,GAAG,KAAK,CAAC,MAAM;YAClB,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAgB,CAAC,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,KAAK,CAAC,KAAK;YAChB,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,KAAe,CAAC,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;QACT,QAAQ,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;IACjE,CAAC;SACI,CAAC;QACF,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACvF,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE;YAChB,CAAC,CAAC,EAAE,CAAC;QACT,QAAQ,GAAG;YACP,OAAO,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;SACtE,CAAC;IACN,CAAC;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG;QACZ,IAAI;QACJ,OAAO;QACP,WAAW;QACX,IAAI;QACJ,GAAG,KAAK;QACR,GAAG,MAAM;QACT,GAAG,OAAO;QACV,GAAG,QAAQ;QACX,GAAG,IAAI;KACV,CAAC;IACF,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AACD,0BAA0B;AAC1B,MAAM,QAAQ;IAGV,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG;YACT,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,SAAS;YACxB,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;SACnB,CAAC;IACN,CAAC;IACO,SAAS;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC9C,CAAC;IACD;;;;OAIG;IACK,KAAK,CAAC,SAAS,CAAC,KAAkB;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM;YAChB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5G,OAAO;QACP,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;QAC5C,cAAc;QACd,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,YAAY,GAA2B,KAAK,CAAC,YAAY,CAAC;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClC,uCAAuC;YACvC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACjB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBACzB,MAAM,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;4BACjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gCACf,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAClD,CAAC;iCACI,CAAC;gCACF,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAC5C,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,kEAAkE;YAClE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACnB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;oBACzD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;wBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACpD,CAAC;YACL,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,SAAS,CAAC,WAAW,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD;;;;OAIG;IACK,KAAK,CAAC,IAAI,CAAC,KAAkB;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM;YAChB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5G,OAAO;QACP,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;QAC5C,cAAc;QACd,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,YAAY,GAA2B,KAAK,CAAC,YAAY,CAAC;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClC,uCAAuC;YACvC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACjB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;wBACzB,MAAM,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;4BACjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gCACf,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAClD,CAAC;iCACI,CAAC;gCACF,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAC5C,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,kEAAkE;YAClE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACnB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBAChD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,SAAS,CAAC,WAAW,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO;QACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,UAAU;oBACX,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM;gBACV,KAAK,KAAK;oBACN,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM;YACd,CAAC;YACD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ;AACD,cAAc;AACd;;;;;;;GAOG;AACH,KAAK,UAAU,KAAK;IAChB,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,WAAW,EAAE,CAAC;IACtC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzB,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAmL,WAAW,EAAE,mBAAmB,EAAW,MAAM,gBAAgB,CAAC;AAuKjQ;;GAEG;AACH,UAAU,UAAU;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH;;;;OAIG;IACH,UAAU,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD;;GAEG;AACH,UAAU,WAAW;IACjB;;;;OAIG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAChD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAmL,WAAW,EAAE,mBAAmB,EAAW,MAAM,gBAAgB,CAAC;AAuKjQ;;GAEG;AACH,UAAU,UAAU;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH;;;;OAIG;IACH,UAAU,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD;;GAEG;AACH,UAAU,WAAW;IACjB;;;;OAIG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAChD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAy3DD;;;;;;;GAOG;AACH,iBAAe,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpC;AACD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAmL,WAAW,EAAE,mBAAmB,EAAW,MAAM,gBAAgB,CAAC;AAuKjQ;;GAEG;AACH,UAAU,UAAU;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH;;;;OAIG;IACH,UAAU,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD;;GAEG;AACH,UAAU,WAAW;IACjB;;;;OAIG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAChD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAmL,WAAW,EAAE,mBAAmB,EAAW,MAAM,gBAAgB,CAAC;AAuKjQ;;GAEG;AACH,UAAU,UAAU;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH;;;;OAIG;IACH,UAAU,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD;;GAEG;AACH,UAAU,WAAW;IACjB;;;;OAIG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAChD;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAy3DD;;;;;;;GAOG;AACH,iBAAe,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpC;AACD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -5,4 +5,4 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
|
5
5
|
this file except in compliance with the License. You may obtain a copy of the
|
|
6
6
|
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
7
|
***************************************************************************** */
|
|
8
|
-
import TsConfig from"@suseejs/tsconfig";import fs from"node:fs";import mhaehko from"mhaehko";import path from"node:path";import resolves from"@phothinmaung/resolves";import tcolor from"@suseejs/tcolor";import transformFunction from"@suseejs/transformer";import ts from"typescript";import{Buffer}from"node:buffer";const depHooks=[],preProcessHooks=[];var utilities;!function(e){e.splitCamelCase=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(_|-|\/)([a-z] || [A-Z])/g," ").replace(/([A-Z])/g,e=>e.toLowerCase()).replace(/^([a-z])/,e=>e.toUpperCase())},e.wait=e=>new Promise(t=>setTimeout(t,e)),e.checkModuleType=(e,t)=>{let s=0,i=0,n=0;try{let t=!1,n=!1;!function s(i){if((ts.isImportDeclaration(i)||ts.isImportEqualsDeclaration(i)||ts.isExportDeclaration(i)||ts.isExportSpecifier(i)||ts.isExportAssignment(i))&&(t=!0),(ts.isVariableStatement(i)||ts.isFunctionDeclaration(i)||ts.isInterfaceDeclaration(i)||ts.isTypeAliasDeclaration(i)||ts.isEnumDeclaration(i)||ts.isClassDeclaration(i))&&i.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)&&(t=!0),ts.isCallExpression(i)&&ts.isIdentifier(i.expression)&&"require"===i.expression.text&&i.arguments.length>0&&(n=!0),ts.isPropertyAccessExpression(i)){const t=i.getText(e);(t.startsWith("module.exports")||t.startsWith("exports."))&&(n=!0)}ts.forEachChild(i,s)}(e),t&&!n?s++:n&&!t?i++:t&&n&&s++}catch(e){console.error(tcolor.magenta(`Error checking module format for ${t} : \n ${e}`)),n++}return n>0&&(console.error(tcolor.magenta("Error checking module format.")),ts.sys.exit(1)),{isCommonJs:i>0,isEsm:s>0}},e.isJsxContent=function(e){const t=ts.createSourceFile("file.tsx",e,ts.ScriptTarget.Latest,!0,ts.ScriptKind.TSX);let s=!1;return function e(t){ts.isJsxElement(t)||ts.isJsxSelfClosingElement(t)||ts.isJsxFragment(t)?s=!0:ts.forEachChild(t,e)}(t),s},e.writeCompileFile=async function(t,s){const i=ts.sys.resolvePath(t),n=path.dirname(i);ts.sys.directoryExists(n)||await fs.promises.mkdir(n,{recursive:!0}),await e.wait(500),await fs.promises.writeFile(i,s)},e.isInsideNamespace=e=>{let t=e.parent;for(;t;){if(ts.isModuleDeclaration(t)&&t.flags===ts.NodeFlags.Namespace)return!0;t=t.parent}return!1},e.clearFolder=async function(e){e=path.resolve(process.cwd(),e);try{const t=await fs.promises.readdir(e,{withFileTypes:!0});await Promise.all(t.map(t=>fs.promises.rm(path.join(e,t.name),{recursive:!0})))}catch(e){if("ENOENT"!==e.code)throw e}}}(utilities||(utilities={}));const getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const s of e){const e=ts.sys.resolvePath(s);if(ts.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor.magenta("No entry found in susee.config file, at least one entry required")),ts.sys.exit(1));const t={},s=[];for(const i of e){const e=i.exportPath;t[e]?s.push(`"${e}"`):t[e]=!0}s.length>0&&(console.error(tcolor.magenta(`Duplicate export paths/path (${s.join(",")}) found in your susee.config file , that will error for bundled output`)),ts.sys.exit(1));for(const t of e)ts.sys.fileExists(ts.sys.resolvePath(t.entry))||(console.error(tcolor.magenta(`Entry file ${t.entry} dose not exists.`)),ts.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),ts.sys.exit(1));const t=(await import(e)).default,s=resolves([[checkEntries,t.entryPoints]]);await s.series(),await utilities.wait(1e3);const i=t.outDir??"dist",n=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??"esm",tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?i:`${i}${e.exportPath.slice(1)}`};n.push(t)}return{points:n,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!0,outDir:i}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new TsConfig(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:ts.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...s}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...s}}get commonjs(){const e=this.__init2(),{module:t,...s}=e;return{module:ts.ModuleKind.CommonJS,...s}}get esm(){const e=this.__init2(),{module:t,...s}=e;return{module:ts.ModuleKind.ES2020,...s}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await fs.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));async function generateDependencies(e){const t=(await mhaehko(e)).sort(),s=[];for(const e of t){const t=ts.sys.resolvePath(e),i=await fs.promises.readFile(t,"utf8"),n=path.extname(t),r=await fileSizes(t),a=i.length,o=checkExport(i,t),c=ts.createSourceFile(t,i,ts.ScriptTarget.Latest,!0),l=utilities.checkModuleType(c,t).isCommonJs?"cjs":"esm",p={file:t,content:i,length:a,includeDefExport:o,size:{logical:r.logical,allocated:r.allocated,utf8:(new TextEncoder).encode(i).length,buffBytes:Buffer.byteLength(i,"utf8")},moduleType:l,fileExt:n,isJsx:utilities.isJsxContent(i)};s.push(p)}return s}function _typesCheck(e,t){if(!t.noCheck){const s=e.map(e=>e.file);let i=!1;const n=ts.createProgram(s,t);for(const e of s){const t=n.getSourceFile(e);t||(console.error(tcolor.magenta(`File not found: ${e}`)),ts.sys.exit(1));const s=[...n.getSyntacticDiagnostics(t),...n.getSemanticDiagnostics(t),...n.getDeclarationDiagnostics(t)];if(s.length>0){const e={getCurrentDirectory:()=>process.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>ts.sys.newLine};console.error(ts.formatDiagnosticsWithColorAndContext(s,e)),i=!0}}if(!i)return!0;ts.sys.exit(1)}}async function typeCheck(e,t){const s=resolves([[_typesCheck,e,t]]);return(await s.series())[0]}async function depPluginParser(e,t,s){if(t.length)for(const i of t){const t="function"==typeof i?i():i;"dependency"===t.type&&(e=t.async?await t.func(e,s):t.func(e,s))}return e}async function depHookParser(e,t){if(depHooks.length)for(const s of depHooks)e=s.async?await s.func(e,t):s.func(e,t);return e}async function initializer(){console.time(`${tcolor.cyan("Collected Data")}`);const e=await finalSuseeConfig(),t=e.points,s=e.plugins,i=[];for(const e of t){const t=compilerOptions(e);let n=await generateDependencies(e.entry);await typeCheck(n,t.esm)||ts.sys.exit(1),n=await depPluginParser(n,s,t.default),await utilities.wait(1e3),n=await depHookParser(n,t.default),await utilities.wait(1e3);const r={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:n,plugins:s};i.push(r)}return console.timeEnd(`${tcolor.cyan("Collected Data")}`),{points:i,allowUpdatePackageJson:e.allowUpdatePackageJson}}function uniqueName(){const e=new Map,t={setPrefix({key:s,value:i}){if(e.has(s))throw console.warn(`${s} already exist`),new Error;return e.set(s,[i,0]),t},getName(t,s){const[i,n]=e.get(t)||[],r=i?`${i}${s}_${(n??0)+1}`:`$nyein${s}_${(n??0)+1}`;return e.set(t,[i??"$nyein",(n??0)+1]),r},getPrefix(t){const[s]=e.get(t)||[];return s}};return t}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",genName=uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});function anonymousCallExpressionHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=n=>{if(ts.isCallExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateCallExpression(n,s.createIdentifier(i.newName),n.typeArguments,n.arguments)}}else if(ts.isPropertyAccessExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updatePropertyAccessExpression(n,s.createIdentifier(i.newName),n.name)}}else if(ts.isNewExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateNewExpression(n,s.createIdentifier(i.newName),n.typeArguments,n.arguments)}}else if(ts.isExportSpecifier(n)&&ts.isIdentifier(n.name)){const e=n.name.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateExportSpecifier(n,n.isTypeOnly,n.propertyName,s.createIdentifier(i.newName))}return ts.visitEachChild(n,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}function anonymousExportHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=r=>{const a=path.basename(t).split(".")[0];if((ts.isFunctionDeclaration(r)||ts.isClassDeclaration(r))&&void 0===r.name){let e=!1,t=!1;if(r.modifiers?.forEach(s=>{s.kind===ts.SyntaxKind.ExportKeyword&&(e=!0),s.kind===ts.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,a);if(exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),ts.isFunctionDeclaration(r))return s.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,s.createIdentifier(e),r.typeParameters,r.parameters,r.type,r.body);if(ts.isClassDeclaration(r))return s.updateClassDeclaration(r,r.modifiers,s.createIdentifier(e),r.typeParameters,r.heritageClauses,r.members)}}else if(ts.isExportAssignment(r)&&!r.name&&!r.isExportEquals){if(ts.isArrowFunction(r.expression)){const e=genName.getName(prefixKey,a),t=s.createArrowFunction(r.expression.modifiers,r.expression.typeParameters,r.expression.parameters,r.expression.type,r.expression.equalsGreaterThanToken,r.expression.body),i=s.createVariableDeclaration(s.createIdentifier(e),r.expression.exclamationToken,r.expression.type,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(r.expression.modifiers,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isObjectLiteralExpression(r.expression)){const e=genName.getName(prefixKey,a),t=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,r.expression),i=s.createVariableDeclarationList([t],ts.NodeFlags.Const),o=s.createVariableStatement(void 0,i),c=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[o,c],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isArrayLiteralExpression(r.expression)){const e=genName.getName(prefixKey,a),t=s.createArrayLiteralExpression(r.expression.elements,!0),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isStringLiteral(r.expression)){const e=genName.getName(prefixKey,a),t=s.createStringLiteral(r.expression.text),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isNumericLiteral(r.expression)){const e=genName.getName(prefixKey,a),t=s.createNumericLiteral(r.expression.text),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}}return ts.visitEachChild(r,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}function anonymousImportHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=r=>{if(ts.isImportDeclaration(r)){const e=r.moduleSpecifier.getText(n),i=path.basename(e).split(".")[0].trim();if(r.importClause?.name&&ts.isIdentifier(r.importClause.name)){const e=r.importClause.name.text.trim(),n=exportDefaultExportNameMap.find(e=>e.file===i);if(n){exportDefaultImportNameMap.push({base:e,file:t,newName:n.newName,isEd:!0});const i=s.updateImportClause(r.importClause,r.importClause.phaseModifier,s.createIdentifier(n.newName),r.importClause.namedBindings);return s.updateImportDeclaration(r,r.modifiers,i,r.moduleSpecifier,r.attributes)}}}return ts.visitEachChild(r,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}const anonymousHandler=async(e,t)=>{const s=resolves([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),i=await s.concurrent();for(const t of i)e=e.map(t);return e};function duplicates(e,t,s){const i=ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0),n=new Map;for(const e of i.statements){if(!ts.isImportDeclaration(e)||!e.importClause)continue;const t=e.importClause;if(t.name&&ts.isIdentifier(t.name)){const e=t.name.text;n.set(e,(n.get(e)||[]).concat({name:e,node:t}))}else if(t.namedBindings&&ts.isNamespaceImport(t.namedBindings)&&ts.isIdentifier(t.namedBindings.name)){const e=t.namedBindings.name.text;n.set(e,(n.get(e)||[]).concat({name:e,node:t.namedBindings}))}else if(t.namedBindings&&ts.isNamedImports(t.namedBindings))for(const e of t.namedBindings.elements)if(ts.isIdentifier(e.name)){const t=e.name.text;n.set(t,(n.get(t)||[]).concat({name:t,node:e}))}}const r=new Map,a=uniqueName();a.setPrefix({key:"DuplicateImport",value:"__dup__"});for(const[e,t]of n.entries())if(t.length>1)for(let s=1;s<t.length;s++){const t=a.getName("DuplicateImport",`${e}_`);r.set(`${e}::${s}`,t),r.set(`${e}::occurrence_${s}`,t)}const o=new Map;for(const[e,t]of n.entries())if(t.length>1)for(let s=1;s<t.length;s++){const i=t[s];i?.node&&o.set(i.node.pos,r.get(`${e}::${s}`))}return transformFunction(e=>{const{factory:t}=e,s=i=>{if(ts.isImportDeclaration(i)&&i.importClause){const e=i.importClause;let s=!1,n=e;if(e.name&&ts.isIdentifier(e.name)){e.pos;const i=o.get(e.pos);i&&(n=t.updateImportClause(e,e.isTypeOnly,t.createIdentifier(i),e.namedBindings),s=!0)}if(e.namedBindings&&ts.isNamespaceImport(e.namedBindings)&&ts.isIdentifier(e.namedBindings.name)){const i=o.get(e.namedBindings.pos);if(i){const e=t.createNamespaceImport(t.createIdentifier(i));n=t.updateImportClause(n,n.isTypeOnly,n.name,e),s=!0}}if(e.namedBindings&&ts.isNamedImports(e.namedBindings)){const i=e.namedBindings.elements.map(e=>{if(ts.isIdentifier(e.name)){const i=o.get(e.pos);if(i)return s=!0,t.updateImportSpecifier(e,e.isTypeOnly,e.propertyName,t.createIdentifier(i))}return e});if(s){const e=t.createNamedImports(i);n=t.updateImportClause(n,n.isTypeOnly,n.name,e)}}if(s)return t.updateImportDeclaration(i,i.modifiers,n,i.moduleSpecifier,i.assertClause)}if(ts.isIdentifier(i)){const e=i.text;if(!(e=>{const t=e.parent;if(!t)return!1;switch(t.kind){case ts.SyntaxKind.ImportSpecifier:case ts.SyntaxKind.NamespaceImport:case ts.SyntaxKind.ImportClause:case ts.SyntaxKind.VariableDeclaration:case ts.SyntaxKind.FunctionDeclaration:case ts.SyntaxKind.ClassDeclaration:case ts.SyntaxKind.InterfaceDeclaration:case ts.SyntaxKind.TypeAliasDeclaration:case ts.SyntaxKind.EnumDeclaration:case ts.SyntaxKind.Parameter:case ts.SyntaxKind.PropertyDeclaration:case ts.SyntaxKind.MethodDeclaration:case ts.SyntaxKind.BindingElement:return!0;default:return!1}})(i)){if(i.parent&&ts.isPropertyAccessExpression(i.parent)&&i.parent.name===i)return i;const s=n.get(e);if(s&&s.length>1)for(let i=1;i<s.length;i++){const s=r.get(`${e}::occurrence_${i}`)||r.get(`${e}::${i}`);if(s)return t.createIdentifier(s)}}}return ts.visitEachChild(i,s,e)};return e=>ts.visitNode(e,s)},i,s)}function mergeImportsStatement(e){const t=new Map,s=new Map,i=new Map,n=new Map,r=new Map;for(const a of e){const e=a.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,c]=e,l=a.includes("import type"),p=c;if(!o){const e=a.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],s=l?n:i;s.has(p)||s.set(p,new Set),s.get(p)?.add(t)}continue}if(o.startsWith("{")){const e=l?s:t;e.has(p)||e.set(p,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(p)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];r.has(p)||r.set(p,new Set),r.get(p)?.add(t)}}else{const e=l?n:i;e.has(p)||e.set(p,new Set),e.get(p)?.add(o.trim())}}const a=[];for(const[e,i]of t){const t=s.get(e)||new Set,n=new Set([...i]);for(const e of t)i.has(e)||n.add(e);if(n.size>0){const t=Array.from(n).sort().join(", ");a.push(`import { ${t} } from "${e}";`)}}for(const[e,i]of s)if(!t.has(e)&&i.size>0){const t=Array.from(i).sort().join(", ");a.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of i){const s=n.get(e)||new Set,i=new Set([...t]);for(const e of s)t.has(e)||i.add(e);if(i.size>0){const t=Array.from(i).join(", ");a.push(`import ${t} from "${e}";`)}}for(const[e,t]of n)if(!i.has(e)&&t.size>0){const s=Array.from(t).join(", ");a.push(`import type ${s} from "${e}";`)}for(const[e,t]of r)if(t.size>0){const s=Array.from(t).join(", ");a.push(`import * as ${s} from "${e}";`)}return a.sort()}function esmExportRemoveHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0);return{file:t,content:transformFunction(e=>{const{factory:t}=e,s=i=>{if(!utilities.isInsideNamespace(i)&&(ts.isFunctionDeclaration(i)||ts.isClassDeclaration(i)||ts.isInterfaceDeclaration(i)||ts.isTypeAliasDeclaration(i)||ts.isEnumDeclaration(i)||ts.isVariableStatement(i))){const e=i.modifiers?.filter(e=>e.kind!==ts.SyntaxKind.ExportKeyword&&e.kind!==ts.SyntaxKind.DefaultKeyword);if(e?.length!==i.modifiers?.length){if(ts.isFunctionDeclaration(i))return t.updateFunctionDeclaration(i,e,i.asteriskToken,i.name,i.typeParameters,i.parameters,i.type,i.body);if(ts.isClassDeclaration(i))return t.updateClassDeclaration(i,e,i.name,i.typeParameters,i.heritageClauses,i.members);if(ts.isInterfaceDeclaration(i))return t.updateInterfaceDeclaration(i,e,i.name,i.typeParameters,i.heritageClauses,i.members);if(ts.isTypeAliasDeclaration(i))return t.updateTypeAliasDeclaration(i,e,i.name,i.typeParameters,i.type);if(ts.isEnumDeclaration(i))return t.updateEnumDeclaration(i,e,i.name,i.members);if(ts.isVariableStatement(i))return t.updateVariableStatement(i,e,i.declarationList)}}if(ts.isExportDeclaration(i))return t.createEmptyStatement();if(ts.isExportAssignment(i)){const e=i.expression;if(ts.isIdentifier(e))return t.createEmptyStatement()}return ts.visitEachChild(i,s,e)};return e=>ts.visitNode(e,s)},n,e),...i}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return ts.isPropertyAccessExpression(e)&&ts.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:s,content:i,...n})=>{const r=ts.createSourceFile(s,i,ts.ScriptTarget.Latest,!0),a=new Set;for(const e of r.statements)if(ts.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;ts.isExternalModuleReference(t)&&ts.isStringLiteral(t.expression)&&a.add(e.name.text)}const o=transformFunction(t=>{const{factory:i}=t,n=o=>{properties=[...properties,...findProperty(o)];const c={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(ts.isTypeReferenceNode(o)&&ts.isQualifiedName(o.typeName)&&ts.isIdentifier(o.typeName.left)&&ts.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utilities.checkModuleType(r,s).isCommonJs&&"ts"!==e&&!a.has(e))return i.updateTypeReferenceNode(o,i.createIdentifier(t),void 0)}if(ts.isImportDeclaration(o)){const t=o.getText(r);return e.push(t),i.createEmptyStatement()}if(ts.isImportEqualsDeclaration(o)){const t=o.name.text,s=o.moduleReference;let n;if(o.isTypeOnly&&(c.isTypeOnly=!0),c.importedString=t,c.isTypeOnly||properties.includes(t)&&(c.isNamespace=!0),ts.isExternalModuleReference(s)&&ts.isStringLiteral(s.expression)&&(c.source=s.expression.text),c.importedString&&!c.importedObject&&(n=c.isTypeOnly?a.has(c.importedString)?`import type * as ${c.importedString} from "${c.source}";`:typesNames.includes(c.importedString)?`import type { ${typeObj[c.importedString]?.join(",")} } from "${c.source}";`:`import type ${c.importedString} from "${c.source}";`:c.isNamespace&&c.source&&"typescript"!==c.source?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(n=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),n)return e.push(n),i.createEmptyStatement()}if(ts.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const s=t[0];if(s.initializer&&ts.isCallExpression(s.initializer)&&ts.isIdentifier(s.initializer.expression)&&"require"===s.initializer.expression.escapedText){const t=s.initializer.arguments[0];if(ts.isStringLiteral(t)&&(c.source=t.text),ts.isIdentifier(s.name)){const e=s.name.text;c.importedString=e,properties.includes(e)&&(c.isNamespace=!0)}else if(ts.isObjectBindingPattern(s.name)){const e=[];for(const t of s.name.elements)ts.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(c.importedObject=e)}let n;if(c.importedString&&!c.importedObject&&(n=c.isNamespace?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(n=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),n)return e.push(n),i.createEmptyStatement()}}}return ts.visitEachChild(o,n,t)};return e=>ts.visitNode(e,n)},r,t);return{file:s,content:o,...n}}}const removeHandlers=async(e,t)=>{const s=resolves([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await s.series()};function collectBindingNames(e,t){ts.isIdentifier(e)?t.push(e.text):(ts.isObjectBindingPattern(e)||ts.isArrayBindingPattern(e))&&e.elements.forEach(e=>{ts.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,s,i={treatExportsAsUsed:!0}){const n=ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0),r=new Map,a=new Set,o=(e,t=!1)=>{const s=r.get(e);r.set(e,{exported:!!s?.exported||t})},c=e=>{if(ts.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&ts.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(ts.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{ts.isImportSpecifier(e)&&ts.isIdentifier(e.name)&&o(e.name.text,!1)}):ts.isNamespaceImport(t.namedBindings)&&ts.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(ts.isImportEqualsDeclaration(e)&&ts.isIdentifier(e.name))o(e.name.text,!1);else if(ts.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const s=[];collectBindingNames(e.name,s),s.forEach(e=>o(e,t))})}else if(ts.isFunctionDeclaration(e)&&e.name&&ts.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(ts.isClassDeclaration(e)&&e.name&&ts.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(ts.isIdentifier(e)){const t=e.parent;ts.isVariableDeclaration(t)&&t.name===e||ts.isFunctionDeclaration(t)&&t.name===e||ts.isClassDeclaration(t)&&t.name===e||ts.isImportClause(t)&&t.name===e||ts.isImportSpecifier(t)&&t.name===e||ts.isNamespaceImport(t)&&t.name===e||ts.isBindingElement(t)&&t.name===e||ts.isParameter(t)&&t.name===e||a.add(e.text)}ts.forEachChild(e,c)};c(n);const l=new Set;r.forEach((e,t)=>{a.has(t)||i.treatExportsAsUsed&&e.exported||l.add(t)});return transformFunction(e=>{const t=s=>{if(ts.isImportDeclaration(s)&&s.importClause){const e=s.importClause,t=e.name&&ts.isIdentifier(e.name)?e.name.text:void 0;let i;const n=[];e.namedBindings&&(ts.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{ts.isImportSpecifier(e)&&ts.isIdentifier(e.name)&&n.push(e)}):ts.isNamespaceImport(e.namedBindings)&&ts.isIdentifier(e.namedBindings.name)&&(i=e.namedBindings.name.text));const r=!!t&&!l.has(t),a=!!i&&!l.has(i),o=n.filter(e=>!l.has(e.name.text));if(!r&&!a&&0===o.length)return ts.factory.createNotEmittedStatement(s);if(!r&&!!e.name||void 0!==i&&!a||o.length!==n.length){let e;e=o.length>0?ts.factory.createNamedImports(o):a&&i?ts.factory.createNamespaceImport(ts.factory.createIdentifier(i)):void 0;const n=r&&t?ts.factory.createIdentifier(t):void 0,c=ts.factory.createImportClause(!1,n,e);return ts.factory.updateImportDeclaration(s,s.modifiers,c,s.moduleSpecifier,s.assertClause)}return s}if((ts.isFunctionDeclaration(s)||ts.isClassDeclaration(s))&&s.name&&ts.isIdentifier(s.name))return l.has(s.name.text)?ts.factory.createNotEmittedStatement(s):s;if(ts.isVariableStatement(s)){const e=[];s.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!l.has(e))?s:ts.factory.createNotEmittedStatement(s)}return ts.visitEachChild(s,t,e)};return e=>ts.visitNode(e,t)},n,s)}async function preProcessPluginParser(e,t,s){if(e.length)for(const i of e){const e="function"==typeof i?i():i;"pre-process"===e.type&&(t=e.async?await e.func(t,s):e.func(t,s))}return t}async function preProcessHooksParser(e,t){if(preProcessHooks.length)for(const s of preProcessHooks)e=s.async?await s.func(e,t):s.func(e,t);return e}async function bundler(e){const t="."===e.exportPath?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Bundled")} -> ${tcolor.brightCyan(t)} ${tcolor.cyan("export path")}`);let s=e.depFiles;const i=e.rename,n=e.tsOptions.default,r=e.plugins;let a=[];s=await anonymousHandler(s,n);const o=await removeHandlers(a,n);s=s.map(o[0]);const c=s.slice(0,-1).map(o[1]),l=s.slice(-1),p=/["']((?!\.\/|\.\.\/)[^"']+)["']/;a=a.filter(e=>p.test(e)),a=mergeImportsStatement(a);let m=`${a.join("\n").trim()}\n${c.map(e=>`${`//${path.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${l.map(e=>`${`//${path.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return m=m.replace(/^s*;\s*$/gm,"").trim(),i&&(m=duplicates(m,e.fileName,n)),m=clearUnusedCode(m,e.fileName,n),m=await preProcessPluginParser(r,m),await utilities.wait(1e3),m=await preProcessHooksParser(m),await utilities.wait(1e3),console.timeEnd(`${tcolor.cyan("Bundled")} -> ${tcolor.brightCyan(t)} ${tcolor.cyan("export path")}`),{bundledContent:m,...e}}async function bundle(e){const t=[];for(const s of e.points){const e=await bundler(s);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const s={},i={getSourceFile:(s,i)=>{if(s===t)return ts.createSourceFile(s,e,i)},writeFile:(e,t)=>{s[e]=t},getDefaultLibFileName:e=>ts.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:s=>s===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:s,host:i}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${path.relative(process.cwd(),e.esmTypes)}`,default:`./${path.relative(process.cwd(),e.esm)}`},require:{types:`./${path.relative(process.cwd(),e.commonjsTypes)}`,default:`./${path.relative(process.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${path.relative(process.cwd(),e.commonjsTypes)}`,default:`./${path.relative(process.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${path.relative(process.cwd(),e.esmTypes)}`,default:`./${path.relative(process.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let s=!0;"."!==t&&(s=!1);const i=ts.sys.resolvePath("package.json"),n=fs.readFileSync(i,"utf8"),r=JSON.parse(n);let{name:a,version:o,description:c,main:l,module:p,type:m,types:f,exports:d,...u}=r;await utilities.wait(500),m="module";let y={},g={},h={},x={};if(s)y=e.main?{main:path.relative(process.cwd(),e.main)}:{},g=e.module?{module:path.relative(process.cwd(),e.module)}:{},h=e.types?{types:path.relative(process.cwd(),e.types)}:{},x={exports:{...getExports(e,t)}};else{y=l?{main:l}:{},g=p?{module:p}:{},h=f?{types:f}:{};x={exports:{...d&&"object"==typeof d&&!Array.isArray(d)?{...d}:{},...getExports(e,t)}}}await utilities.wait(1e3);const w={name:a,version:o,description:c,type:m,...y,...h,...g,...x,...u};utilities.writeCompileFile(i,JSON.stringify(w,null,2))}class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath,s=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Compiled CJS")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`);const i=e.fileName,n=e.bundledContent,r=e.format,a=e.plugins,o=e.tsOptions.cjs,c=createHost(n,i),l=c.createdFiles,p=c.host;ts.createProgram([i],o,p).emit(),Object.entries(l).map(async([e,s])=>{if(".js"===path.extname(e)&&a.length)for(let t of a)t="function"==typeof t?t():t,"post-process"===t.type&&(s=t.async?await t.func(s,e):t.func(s,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.commonjs=e.replace(/.js/g,".cjs")),e.match(/.d.ts/g)&&(this.files.commonjsTypes=e.replace(/.d.ts/g,".d.cts")),!t||"both"!==r&&"commonjs"!==r||(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),e=(e=(e=e.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),await utilities.wait(500),"commonjs"===r&&await utilities.clearFolder(path.dirname(e)),await utilities.writeCompileFile(e,s)}),console.timeEnd(`${tcolor.cyan("Compiled CJS")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`)}async _esm(e){const t="."===e.exportPath,s=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Compiled ESM")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`);const i=e.fileName,n=e.bundledContent,r=e.format,a=e.plugins,o=e.tsOptions.esm,c=createHost(n,i),l=c.createdFiles,p=c.host;ts.createProgram([i],o,p).emit(),Object.entries(l).map(async([e,s])=>{if(".js"===path.extname(e)&&a.length)for(let t of a)t="function"==typeof t?t():t,"post-process"===t.type&&(s=t.async?await t.func(s,e):t.func(s,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.esm=e.replace(/.js/g,".mjs")),e.match(/.d.ts/g)&&(this.files.esmTypes=e.replace(/.d.ts/g,".d.mts")),t&&"both"===r&&this.files.esm&&(this.files.module=this.files.esm)),e=(e=(e=e.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utilities.wait(500),"commonjs"!==r&&await utilities.clearFolder(path.dirname(e)),await utilities.writeCompileFile(e,s)}),console.timeEnd(`${tcolor.cyan("Compiled ESM")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`)}async compile(){for(const e of this.object.points){switch(await utilities.wait(500),e.format){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"both":await this._esm(e),await utilities.wait(1e3),await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}await utilities.wait(500)}}}async function susee(){console.info(`${tcolor.cyan("Susee Started")} : `),console.time(`${tcolor.cyan("Susee Done")}`);const e=await initializer();await utilities.wait(1e3);const t=await bundle(e);await utilities.wait(1e3);const s=new Compiler(t);await s.compile(),console.timeEnd(`${tcolor.cyan("Susee Done")}`)}export{susee};
|
|
8
|
+
import TsConfig from"@suseejs/tsconfig";import fs from"node:fs";import mhaehko from"mhaehko";import path from"node:path";import resolves from"@phothinmaung/resolves";import tcolor from"@suseejs/tcolor";import transformFunction from"@suseejs/transformer";import ts from"typescript";import{Buffer}from"node:buffer";const depHooks=[],preProcessHooks=[];var utilities;!function(e){e.splitCamelCase=function(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(_|-|\/)([a-z] || [A-Z])/g," ").replace(/([A-Z])/g,e=>e.toLowerCase()).replace(/^([a-z])/,e=>e.toUpperCase())},e.wait=e=>new Promise(t=>setTimeout(t,e)),e.checkModuleType=(e,t)=>{let s=0,i=0,n=0;try{let t=!1,n=!1;!function s(i){if((ts.isImportDeclaration(i)||ts.isImportEqualsDeclaration(i)||ts.isExportDeclaration(i)||ts.isExportSpecifier(i)||ts.isExportAssignment(i))&&(t=!0),(ts.isVariableStatement(i)||ts.isFunctionDeclaration(i)||ts.isInterfaceDeclaration(i)||ts.isTypeAliasDeclaration(i)||ts.isEnumDeclaration(i)||ts.isClassDeclaration(i))&&i.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)&&(t=!0),ts.isCallExpression(i)&&ts.isIdentifier(i.expression)&&"require"===i.expression.text&&i.arguments.length>0&&(n=!0),ts.isPropertyAccessExpression(i)){const t=i.getText(e);(t.startsWith("module.exports")||t.startsWith("exports."))&&(n=!0)}ts.forEachChild(i,s)}(e),t&&!n?s++:n&&!t?i++:t&&n&&s++}catch(e){console.error(tcolor.magenta(`Error checking module format for ${t} : \n ${e}`)),n++}return n>0&&(console.error(tcolor.magenta("Error checking module format.")),ts.sys.exit(1)),{isCommonJs:i>0,isEsm:s>0}},e.isJsxContent=function(e){const t=ts.createSourceFile("file.tsx",e,ts.ScriptTarget.Latest,!0,ts.ScriptKind.TSX);let s=!1;return function e(t){ts.isJsxElement(t)||ts.isJsxSelfClosingElement(t)||ts.isJsxFragment(t)?s=!0:ts.forEachChild(t,e)}(t),s},e.writeCompileFile=async function(t,s){const i=ts.sys.resolvePath(t),n=path.dirname(i);ts.sys.directoryExists(n)||await fs.promises.mkdir(n,{recursive:!0}),await e.wait(500),await fs.promises.writeFile(i,s)},e.isInsideNamespace=e=>{let t=e.parent;for(;t;){if(ts.isModuleDeclaration(t)&&t.flags===ts.NodeFlags.Namespace)return!0;t=t.parent}return!1},e.clearFolder=async function(e){e=path.resolve(process.cwd(),e);try{const t=await fs.promises.readdir(e,{withFileTypes:!0});await Promise.all(t.map(t=>fs.promises.rm(path.join(e,t.name),{recursive:!0})))}catch(e){if("ENOENT"!==e.code)throw e}}}(utilities||(utilities={}));const getConfigPath=()=>{const e=["susee.config.ts","susee.config.js","susee.config.mjs"];let t;for(const s of e){const e=ts.sys.resolvePath(s);if(ts.sys.fileExists(e)){t=e;break}}return t};function checkEntries(e){e.length<1&&(console.error(tcolor.magenta("No entry found in susee.config file, at least one entry required")),ts.sys.exit(1));const t={},s=[];for(const i of e){const e=i.exportPath;t[e]?s.push(`"${e}"`):t[e]=!0}s.length>0&&(console.error(tcolor.magenta(`Duplicate export paths/path (${s.join(",")}) found in your susee.config file , that will error for bundled output`)),ts.sys.exit(1));for(const t of e)ts.sys.fileExists(ts.sys.resolvePath(t.entry))||(console.error(tcolor.magenta(`Entry file ${t.entry} dose not exists.`)),ts.sys.exit(1))}async function finalSuseeConfig(){const e=getConfigPath();void 0===e&&(console.error(tcolor.magenta('No susee.config file ("susee.config.ts", "susee.config.js", "susee.config.mjs") found')),ts.sys.exit(1));const t=(await import(e)).default,s=resolves([[checkEntries,t.entryPoints]]);await s.series(),await utilities.wait(1e3);const i=t.outDir??"dist",n=[];for(const e of t.entryPoints){const t={entry:e.entry,exportPath:e.exportPath,format:e.format??"esm",tsconfigFilePath:e.tsconfigFilePath??void 0,renameDuplicates:e.renameDuplicates??!0,outDirPath:"."===e.exportPath?i:`${i}${e.exportPath.slice(1)}`};n.push(t)}return{points:n,plugins:t.plugins??[],allowUpdatePackageJson:t.allowUpdatePackageJson??!0,outDir:i}}class CompilerOptions{constructor(e){this._point=e,this._options={}}__init(){const e=new TsConfig(this._point.tsconfigFilePath);e.removeCompilerOption("rootDir"),e.removeCompilerOption("module"),e.editCompilerOptions({moduleResolution:ts.ModuleResolutionKind.NodeNext,outDir:this._point.outDirPath,allowJs:!0}),this._options=e.getCompilerOptions()}__init2(){this.__init();let{types:e,lib:t,...s}=this._options;return e?e.includes("node")||(e=["node",...e]):e=["node"],t=t?[...new Set(["ESNext",...t])]:["ESNext"],{types:e,lib:t,...s}}get commonjs(){const e=this.__init2(),{module:t,...s}=e;return{module:ts.ModuleKind.CommonJS,...s}}get esm(){const e=this.__init2(),{module:t,...s}=e;return{module:ts.ModuleKind.ES2020,...s}}get default(){return this.__init2()}}function compilerOptions(e){return new CompilerOptions(e)}async function fileSizes(e){const t=await fs.promises.stat(e);return{logical:t.size,allocated:null!==t.blocks?512*t.blocks:null}}const checkExport=(e,t)=>!!(e.match(/export default .*/gm)||e.match(/export = .*/gm)&&t.match(/.cts/g));async function generateDependencies(e){const t=(await mhaehko(e)).sort(),s=[];for(const e of t){const t=ts.sys.resolvePath(e),i=await fs.promises.readFile(t,"utf8"),n=path.extname(t),r=await fileSizes(t),a=i.length,o=checkExport(i,t),c=ts.createSourceFile(t,i,ts.ScriptTarget.Latest,!0),l=utilities.checkModuleType(c,t).isCommonJs?"cjs":"esm",p={file:t,content:i,length:a,includeDefExport:o,size:{logical:r.logical,allocated:r.allocated,utf8:(new TextEncoder).encode(i).length,buffBytes:Buffer.byteLength(i,"utf8")},moduleType:l,fileExt:n,isJsx:utilities.isJsxContent(i)};s.push(p)}return s}function _typesCheck(e,t){if(!t.noCheck){const s=e.map(e=>e.file);let i=!1;const n=ts.createProgram(s,t);for(const e of s){const t=n.getSourceFile(e);t||(console.error(tcolor.magenta(`File not found: ${e}`)),ts.sys.exit(1));const s=[...n.getSyntacticDiagnostics(t),...n.getSemanticDiagnostics(t),...n.getDeclarationDiagnostics(t)];if(s.length>0){const e={getCurrentDirectory:()=>process.cwd(),getCanonicalFileName:e=>e,getNewLine:()=>ts.sys.newLine};console.error(ts.formatDiagnosticsWithColorAndContext(s,e)),i=!0}}if(!i)return!0;ts.sys.exit(1)}}async function typeCheck(e,t){const s=resolves([[_typesCheck,e,t]]);return(await s.series())[0]}async function depPluginParser(e,t,s){if(t.length)for(const i of t){const t="function"==typeof i?i():i;"dependency"===t.type&&(e=t.async?await t.func(e,s):t.func(e,s))}return e}async function depHookParser(e,t){if(depHooks.length)for(const s of depHooks)e=s.async?await s.func(e,t):s.func(e,t);return e}async function initializer(){console.time(`${tcolor.cyan("Collected Data")}`);const e=await finalSuseeConfig(),t=e.points,s=e.plugins,i=[];for(const e of t){const t=compilerOptions(e);let n=await generateDependencies(e.entry);await typeCheck(n,t.esm)||ts.sys.exit(1),n=await depPluginParser(n,s,t.default),await utilities.wait(1e3),n=await depHookParser(n,t.default),await utilities.wait(1e3);const r={fileName:e.entry,exportPath:e.exportPath,format:e.format,rename:e.renameDuplicates,outDir:e.outDirPath,tsOptions:{cjs:t.commonjs,esm:t.esm,default:t.default},depFiles:n,plugins:s};i.push(r)}return console.timeEnd(`${tcolor.cyan("Collected Data")}`),{points:i,allowUpdatePackageJson:e.allowUpdatePackageJson}}function uniqueName(){const e=new Map,t={setPrefix({key:s,value:i}){if(e.has(s))throw console.warn(`${s} already exist`),new Error;return e.set(s,[i,0]),t},getName(t,s){const[i,n]=e.get(t)||[],r=i?`${i}${s}_${(n??0)+1}`:`$nyein${s}_${(n??0)+1}`;return e.set(t,[i??"$nyein",(n??0)+1]),r},getPrefix(t){const[s]=e.get(t)||[];return s}};return t}const exportDefaultExportNameMap=[],exportDefaultImportNameMap=[],prefixKey="AnonymousName",genName=uniqueName().setPrefix({key:prefixKey,value:"__anonymous__"});function anonymousCallExpressionHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=n=>{if(ts.isCallExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateCallExpression(n,s.createIdentifier(i.newName),n.typeArguments,n.arguments)}}else if(ts.isPropertyAccessExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updatePropertyAccessExpression(n,s.createIdentifier(i.newName),n.name)}}else if(ts.isNewExpression(n)){if(ts.isIdentifier(n.expression)){const e=n.expression.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateNewExpression(n,s.createIdentifier(i.newName),n.typeArguments,n.arguments)}}else if(ts.isExportSpecifier(n)&&ts.isIdentifier(n.name)){const e=n.name.text,i=exportDefaultImportNameMap.find(s=>s.base===e&&s.file===t);if(i)return s.updateExportSpecifier(n,n.isTypeOnly,n.propertyName,s.createIdentifier(i.newName))}return ts.visitEachChild(n,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}function anonymousExportHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=r=>{const a=path.basename(t).split(".")[0];if((ts.isFunctionDeclaration(r)||ts.isClassDeclaration(r))&&void 0===r.name){let e=!1,t=!1;if(r.modifiers?.forEach(s=>{s.kind===ts.SyntaxKind.ExportKeyword&&(e=!0),s.kind===ts.SyntaxKind.DefaultKeyword&&(t=!0)}),e&&t){const e=genName.getName(prefixKey,a);if(exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),ts.isFunctionDeclaration(r))return s.updateFunctionDeclaration(r,r.modifiers,r.asteriskToken,s.createIdentifier(e),r.typeParameters,r.parameters,r.type,r.body);if(ts.isClassDeclaration(r))return s.updateClassDeclaration(r,r.modifiers,s.createIdentifier(e),r.typeParameters,r.heritageClauses,r.members)}}else if(ts.isExportAssignment(r)&&!r.name&&!r.isExportEquals){if(ts.isArrowFunction(r.expression)){const e=genName.getName(prefixKey,a),t=s.createArrowFunction(r.expression.modifiers,r.expression.typeParameters,r.expression.parameters,r.expression.type,r.expression.equalsGreaterThanToken,r.expression.body),i=s.createVariableDeclaration(s.createIdentifier(e),r.expression.exclamationToken,r.expression.type,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(r.expression.modifiers,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isObjectLiteralExpression(r.expression)){const e=genName.getName(prefixKey,a),t=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,r.expression),i=s.createVariableDeclarationList([t],ts.NodeFlags.Const),o=s.createVariableStatement(void 0,i),c=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[o,c],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isArrayLiteralExpression(r.expression)){const e=genName.getName(prefixKey,a),t=s.createArrayLiteralExpression(r.expression.elements,!0),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isStringLiteral(r.expression)){const e=genName.getName(prefixKey,a),t=s.createStringLiteral(r.expression.text),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}if(ts.isNumericLiteral(r.expression)){const e=genName.getName(prefixKey,a),t=s.createNumericLiteral(r.expression.text),i=s.createVariableDeclaration(s.createIdentifier(e),void 0,void 0,t),o=s.createVariableDeclarationList([i],ts.NodeFlags.Const),c=s.createVariableStatement(void 0,o),l=s.createExportAssignment(void 0,void 0,s.createIdentifier(e));return exportDefaultExportNameMap.push({base:e,file:a,newName:e,isEd:!0}),s.updateSourceFile(n,[c,l],n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives)}}return ts.visitEachChild(r,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}function anonymousImportHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0),r=transformFunction(e=>{const{factory:s}=e,i=r=>{if(ts.isImportDeclaration(r)){const e=r.moduleSpecifier.getText(n),i=path.basename(e).split(".")[0].trim();if(r.importClause?.name&&ts.isIdentifier(r.importClause.name)){const e=r.importClause.name.text.trim(),n=exportDefaultExportNameMap.find(e=>e.file===i);if(n){exportDefaultImportNameMap.push({base:e,file:t,newName:n.newName,isEd:!0});const i=s.updateImportClause(r.importClause,r.importClause.phaseModifier,s.createIdentifier(n.newName),r.importClause.namedBindings);return s.updateImportDeclaration(r,r.modifiers,i,r.moduleSpecifier,r.attributes)}}}return ts.visitEachChild(r,i,e)};return e=>ts.visitNode(e,i)},n,e);return{file:t,content:r,...i}}}const anonymousHandler=async(e,t)=>{const s=resolves([[anonymousExportHandler,t],[anonymousImportHandler,t],[anonymousCallExpressionHandler,t]]),i=await s.concurrent();for(const t of i)e=e.map(t);return e};function duplicates(e,t,s){const i=ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0),n=new Map;for(const e of i.statements){if(!ts.isImportDeclaration(e)||!e.importClause)continue;const t=e.importClause;if(t.name&&ts.isIdentifier(t.name)){const e=t.name.text;n.set(e,(n.get(e)||[]).concat({name:e,node:t}))}else if(t.namedBindings&&ts.isNamespaceImport(t.namedBindings)&&ts.isIdentifier(t.namedBindings.name)){const e=t.namedBindings.name.text;n.set(e,(n.get(e)||[]).concat({name:e,node:t.namedBindings}))}else if(t.namedBindings&&ts.isNamedImports(t.namedBindings))for(const e of t.namedBindings.elements)if(ts.isIdentifier(e.name)){const t=e.name.text;n.set(t,(n.get(t)||[]).concat({name:t,node:e}))}}const r=new Map,a=uniqueName();a.setPrefix({key:"DuplicateImport",value:"__dup__"});for(const[e,t]of n.entries())if(t.length>1)for(let s=1;s<t.length;s++){const t=a.getName("DuplicateImport",`${e}_`);r.set(`${e}::${s}`,t),r.set(`${e}::occurrence_${s}`,t)}const o=new Map;for(const[e,t]of n.entries())if(t.length>1)for(let s=1;s<t.length;s++){const i=t[s];i?.node&&o.set(i.node.pos,r.get(`${e}::${s}`))}return transformFunction(e=>{const{factory:t}=e,s=i=>{if(ts.isImportDeclaration(i)&&i.importClause){const e=i.importClause;let s=!1,n=e;if(e.name&&ts.isIdentifier(e.name)){e.pos;const i=o.get(e.pos);i&&(n=t.updateImportClause(e,e.isTypeOnly,t.createIdentifier(i),e.namedBindings),s=!0)}if(e.namedBindings&&ts.isNamespaceImport(e.namedBindings)&&ts.isIdentifier(e.namedBindings.name)){const i=o.get(e.namedBindings.pos);if(i){const e=t.createNamespaceImport(t.createIdentifier(i));n=t.updateImportClause(n,n.isTypeOnly,n.name,e),s=!0}}if(e.namedBindings&&ts.isNamedImports(e.namedBindings)){const i=e.namedBindings.elements.map(e=>{if(ts.isIdentifier(e.name)){const i=o.get(e.pos);if(i)return s=!0,t.updateImportSpecifier(e,e.isTypeOnly,e.propertyName,t.createIdentifier(i))}return e});if(s){const e=t.createNamedImports(i);n=t.updateImportClause(n,n.isTypeOnly,n.name,e)}}if(s)return t.updateImportDeclaration(i,i.modifiers,n,i.moduleSpecifier,i.assertClause)}if(ts.isIdentifier(i)){const e=i.text;if(!(e=>{const t=e.parent;if(!t)return!1;switch(t.kind){case ts.SyntaxKind.ImportSpecifier:case ts.SyntaxKind.NamespaceImport:case ts.SyntaxKind.ImportClause:case ts.SyntaxKind.VariableDeclaration:case ts.SyntaxKind.FunctionDeclaration:case ts.SyntaxKind.ClassDeclaration:case ts.SyntaxKind.InterfaceDeclaration:case ts.SyntaxKind.TypeAliasDeclaration:case ts.SyntaxKind.EnumDeclaration:case ts.SyntaxKind.Parameter:case ts.SyntaxKind.PropertyDeclaration:case ts.SyntaxKind.MethodDeclaration:case ts.SyntaxKind.BindingElement:return!0;default:return!1}})(i)){if(i.parent&&ts.isPropertyAccessExpression(i.parent)&&i.parent.name===i)return i;const s=n.get(e);if(s&&s.length>1)for(let i=1;i<s.length;i++){const s=r.get(`${e}::occurrence_${i}`)||r.get(`${e}::${i}`);if(s)return t.createIdentifier(s)}}}return ts.visitEachChild(i,s,e)};return e=>ts.visitNode(e,s)},i,s)}function mergeImportsStatement(e){const t=new Map,s=new Map,i=new Map,n=new Map,r=new Map;for(const a of e){const e=a.match(/import\s+(?:type\s+)?(?:(.*?)\s+from\s+)?["']([^"']+)["'];?/);if(!e)continue;const[,o,c]=e,l=a.includes("import type"),p=c;if(!o){const e=a.match(/import\s+(?:type\s+)?(\w+)/);if(e){const t=e[1],s=l?n:i;s.has(p)||s.set(p,new Set),s.get(p)?.add(t)}continue}if(o.startsWith("{")){const e=l?s:t;e.has(p)||e.set(p,new Set);o.replace(/[{}]/g,"").split(",").map(e=>e.trim()).filter(Boolean).forEach(t=>e.get(p)?.add(t))}else if(o.startsWith("* as")){const e=o.match(/\*\s+as\s+(\w+)/);if(e){const t=e[1];r.has(p)||r.set(p,new Set),r.get(p)?.add(t)}}else{const e=l?n:i;e.has(p)||e.set(p,new Set),e.get(p)?.add(o.trim())}}const a=[];for(const[e,i]of t){const t=s.get(e)||new Set,n=new Set([...i]);for(const e of t)i.has(e)||n.add(e);if(n.size>0){const t=Array.from(n).sort().join(", ");a.push(`import { ${t} } from "${e}";`)}}for(const[e,i]of s)if(!t.has(e)&&i.size>0){const t=Array.from(i).sort().join(", ");a.push(`import type { ${t} } from "${e}";`)}for(const[e,t]of i){const s=n.get(e)||new Set,i=new Set([...t]);for(const e of s)t.has(e)||i.add(e);if(i.size>0){const t=Array.from(i).join(", ");a.push(`import ${t} from "${e}";`)}}for(const[e,t]of n)if(!i.has(e)&&t.size>0){const s=Array.from(t).join(", ");a.push(`import type ${s} from "${e}";`)}for(const[e,t]of r)if(t.size>0){const s=Array.from(t).join(", ");a.push(`import * as ${s} from "${e}";`)}return a.sort()}function esmExportRemoveHandler(e){return({file:t,content:s,...i})=>{const n=ts.createSourceFile(t,s,ts.ScriptTarget.Latest,!0);return{file:t,content:transformFunction(e=>{const{factory:t}=e,s=i=>{if(!utilities.isInsideNamespace(i)&&(ts.isFunctionDeclaration(i)||ts.isClassDeclaration(i)||ts.isInterfaceDeclaration(i)||ts.isTypeAliasDeclaration(i)||ts.isEnumDeclaration(i)||ts.isVariableStatement(i))){const e=i.modifiers?.filter(e=>e.kind!==ts.SyntaxKind.ExportKeyword&&e.kind!==ts.SyntaxKind.DefaultKeyword);if(e?.length!==i.modifiers?.length){if(ts.isFunctionDeclaration(i))return t.updateFunctionDeclaration(i,e,i.asteriskToken,i.name,i.typeParameters,i.parameters,i.type,i.body);if(ts.isClassDeclaration(i))return t.updateClassDeclaration(i,e,i.name,i.typeParameters,i.heritageClauses,i.members);if(ts.isInterfaceDeclaration(i))return t.updateInterfaceDeclaration(i,e,i.name,i.typeParameters,i.heritageClauses,i.members);if(ts.isTypeAliasDeclaration(i))return t.updateTypeAliasDeclaration(i,e,i.name,i.typeParameters,i.type);if(ts.isEnumDeclaration(i))return t.updateEnumDeclaration(i,e,i.name,i.members);if(ts.isVariableStatement(i))return t.updateVariableStatement(i,e,i.declarationList)}}if(ts.isExportDeclaration(i))return t.createEmptyStatement();if(ts.isExportAssignment(i)){const e=i.expression;if(ts.isIdentifier(e))return t.createEmptyStatement()}return ts.visitEachChild(i,s,e)};return e=>ts.visitNode(e,s)},n,e),...i}}}let properties=[];const typeObj={},typesNames=[];function findProperty(e){const t=[];return ts.isPropertyAccessExpression(e)&&ts.isIdentifier(e.expression)&&t.push(e.expression.text),e.forEachChild(e=>findProperty(e)),t}function importAllRemoveHandler(e,t){return({file:s,content:i,...n})=>{const r=ts.createSourceFile(s,i,ts.ScriptTarget.Latest,!0),a=new Set;for(const e of r.statements)if(ts.isImportEqualsDeclaration(e)&&e.isTypeOnly){const t=e.moduleReference;ts.isExternalModuleReference(t)&&ts.isStringLiteral(t.expression)&&a.add(e.name.text)}const o=transformFunction(t=>{const{factory:i}=t,n=o=>{properties=[...properties,...findProperty(o)];const c={isNamespace:!1,isTypeOnly:!1,isTypeNamespace:!1,source:"",importedString:void 0,importedObject:void 0};if(ts.isTypeReferenceNode(o)&&ts.isQualifiedName(o.typeName)&&ts.isIdentifier(o.typeName.left)&&ts.isIdentifier(o.typeName.right)){const e=o.typeName.left.text,t=o.typeName.right.text;if(typesNames.push(e),e in typeObj?typeObj[e]?.push(t):typeObj[e]=[t],utilities.checkModuleType(r,s).isCommonJs&&"ts"!==e&&!a.has(e))return i.updateTypeReferenceNode(o,i.createIdentifier(t),void 0)}if(ts.isImportDeclaration(o)){const t=o.getText(r);return e.push(t),i.createEmptyStatement()}if(ts.isImportEqualsDeclaration(o)){const t=o.name.text,s=o.moduleReference;let n;if(o.isTypeOnly&&(c.isTypeOnly=!0),c.importedString=t,c.isTypeOnly||properties.includes(t)&&(c.isNamespace=!0),ts.isExternalModuleReference(s)&&ts.isStringLiteral(s.expression)&&(c.source=s.expression.text),c.importedString&&!c.importedObject&&(n=c.isTypeOnly?a.has(c.importedString)?`import type * as ${c.importedString} from "${c.source}";`:typesNames.includes(c.importedString)?`import type { ${typeObj[c.importedString]?.join(",")} } from "${c.source}";`:`import type ${c.importedString} from "${c.source}";`:c.isNamespace&&c.source&&"typescript"!==c.source?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(n=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),n)return e.push(n),i.createEmptyStatement()}if(ts.isVariableStatement(o)){const t=o.declarationList.declarations;if(1===t.length){const s=t[0];if(s.initializer&&ts.isCallExpression(s.initializer)&&ts.isIdentifier(s.initializer.expression)&&"require"===s.initializer.expression.escapedText){const t=s.initializer.arguments[0];if(ts.isStringLiteral(t)&&(c.source=t.text),ts.isIdentifier(s.name)){const e=s.name.text;c.importedString=e,properties.includes(e)&&(c.isNamespace=!0)}else if(ts.isObjectBindingPattern(s.name)){const e=[];for(const t of s.name.elements)ts.isIdentifier(t.name)&&e.push(t.name.text);e.length>0&&(c.importedObject=e)}let n;if(c.importedString&&!c.importedObject&&(n=c.isNamespace?`import * as ${c.importedString} from "${c.source}";`:`import ${c.importedString} from "${c.source}";`),!c.importedString&&c.importedObject&&(n=`import { ${c.importedObject.join(", ")} } from "${c.source}";`),n)return e.push(n),i.createEmptyStatement()}}}return ts.visitEachChild(o,n,t)};return e=>ts.visitNode(e,n)},r,t);return{file:s,content:o,...n}}}const removeHandlers=async(e,t)=>{const s=resolves([[importAllRemoveHandler,e,t],[esmExportRemoveHandler,t]]);return await s.series()};function collectBindingNames(e,t){ts.isIdentifier(e)?t.push(e.text):(ts.isObjectBindingPattern(e)||ts.isArrayBindingPattern(e))&&e.elements.forEach(e=>{ts.isBindingElement(e)&&e.name&&collectBindingNames(e.name,t)})}function clearUnusedCode(e,t,s,i={treatExportsAsUsed:!0}){const n=ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0),r=new Map,a=new Set,o=(e,t=!1)=>{const s=r.get(e);r.set(e,{exported:!!s?.exported||t})},c=e=>{if(ts.isImportDeclaration(e)&&e.importClause){const t=e.importClause;t.name&&ts.isIdentifier(t.name)&&o(t.name.text,!1),t.namedBindings&&(ts.isNamedImports(t.namedBindings)?t.namedBindings.elements.forEach(e=>{ts.isImportSpecifier(e)&&ts.isIdentifier(e.name)&&o(e.name.text,!1)}):ts.isNamespaceImport(t.namedBindings)&&ts.isIdentifier(t.namedBindings.name)&&o(t.namedBindings.name.text,!1))}else if(ts.isImportEqualsDeclaration(e)&&ts.isIdentifier(e.name))o(e.name.text,!1);else if(ts.isVariableStatement(e)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;e.declarationList.declarations.forEach(e=>{collectBindingNames(e.name,[]);const s=[];collectBindingNames(e.name,s),s.forEach(e=>o(e,t))})}else if(ts.isFunctionDeclaration(e)&&e.name&&ts.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}else if(ts.isClassDeclaration(e)&&e.name&&ts.isIdentifier(e.name)){const t=e.modifiers?.some(e=>e.kind===ts.SyntaxKind.ExportKeyword)??!1;o(e.name.text,t)}if(ts.isIdentifier(e)){const t=e.parent;ts.isVariableDeclaration(t)&&t.name===e||ts.isFunctionDeclaration(t)&&t.name===e||ts.isClassDeclaration(t)&&t.name===e||ts.isImportClause(t)&&t.name===e||ts.isImportSpecifier(t)&&t.name===e||ts.isNamespaceImport(t)&&t.name===e||ts.isBindingElement(t)&&t.name===e||ts.isParameter(t)&&t.name===e||a.add(e.text)}ts.forEachChild(e,c)};c(n);const l=new Set;r.forEach((e,t)=>{a.has(t)||i.treatExportsAsUsed&&e.exported||l.add(t)});return transformFunction(e=>{const t=s=>{if(ts.isImportDeclaration(s)&&s.importClause){const e=s.importClause,t=e.name&&ts.isIdentifier(e.name)?e.name.text:void 0;let i;const n=[];e.namedBindings&&(ts.isNamedImports(e.namedBindings)?e.namedBindings.elements.forEach(e=>{ts.isImportSpecifier(e)&&ts.isIdentifier(e.name)&&n.push(e)}):ts.isNamespaceImport(e.namedBindings)&&ts.isIdentifier(e.namedBindings.name)&&(i=e.namedBindings.name.text));const r=!!t&&!l.has(t),a=!!i&&!l.has(i),o=n.filter(e=>!l.has(e.name.text));if(!r&&!a&&0===o.length)return ts.factory.createNotEmittedStatement(s);if(!r&&!!e.name||void 0!==i&&!a||o.length!==n.length){let e;e=o.length>0?ts.factory.createNamedImports(o):a&&i?ts.factory.createNamespaceImport(ts.factory.createIdentifier(i)):void 0;const n=r&&t?ts.factory.createIdentifier(t):void 0,c=ts.factory.createImportClause(!1,n,e);return ts.factory.updateImportDeclaration(s,s.modifiers,c,s.moduleSpecifier,s.assertClause)}return s}if((ts.isFunctionDeclaration(s)||ts.isClassDeclaration(s))&&s.name&&ts.isIdentifier(s.name))return l.has(s.name.text)?ts.factory.createNotEmittedStatement(s):s;if(ts.isVariableStatement(s)){const e=[];s.declarationList.declarations.forEach(t=>collectBindingNames(t.name,e));return e.some(e=>!l.has(e))?s:ts.factory.createNotEmittedStatement(s)}return ts.visitEachChild(s,t,e)};return e=>ts.visitNode(e,t)},n,s)}async function preProcessPluginParser(e,t,s){if(e.length)for(const i of e){const e="function"==typeof i?i():i;"pre-process"===e.type&&(t=e.async?await e.func(t,s):e.func(t,s))}return t}async function preProcessHooksParser(e,t){if(preProcessHooks.length)for(const s of preProcessHooks)e=s.async?await s.func(e,t):s.func(e,t);return e}async function bundler(e){const t="."===e.exportPath?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Bundled")} -> ${tcolor.brightCyan(t)} ${tcolor.cyan("export path")}`);let s=e.depFiles;const i=e.rename,n=e.tsOptions.default,r=e.plugins;let a=[];s=await anonymousHandler(s,n);const o=await removeHandlers(a,n);s=s.map(o[0]);const c=s.slice(0,-1).map(o[1]),l=s.slice(-1),p=/["']((?!\.\/|\.\.\/)[^"']+)["']/;a=a.filter(e=>p.test(e)),a=mergeImportsStatement(a);let m=`${a.join("\n").trim()}\n${c.map(e=>`${`//${path.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}\n${l.map(e=>`${`//${path.relative(process.cwd(),e.file)}`}\n${e.content}`).join("\n").trim()}`;return m=m.replace(/^s*;\s*$/gm,"").trim(),i&&(m=duplicates(m,e.fileName,n)),m=clearUnusedCode(m,e.fileName,n),m=await preProcessPluginParser(r,m),await utilities.wait(1e3),m=await preProcessHooksParser(m),await utilities.wait(1e3),console.timeEnd(`${tcolor.cyan("Bundled")} -> ${tcolor.brightCyan(t)} ${tcolor.cyan("export path")}`),{bundledContent:m,...e}}async function bundle(e){const t=[];for(const s of e.points){const e=await bundler(s);t.push(e)}return{points:t,allowUpdatePackageJson:e.allowUpdatePackageJson}}function createHost(e,t){const s={},i={getSourceFile:(s,i)=>{if(s===t)return ts.createSourceFile(s,e,i)},writeFile:(e,t)=>{s[e]=t},getDefaultLibFileName:e=>ts.getDefaultLibFilePath(e),getCurrentDirectory:()=>"",getDirectories:()=>[],fileExists:e=>e===t,readFile:s=>s===t?e:void 0,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getNewLine:()=>"\n"};return{createdFiles:s,host:i}}const isCjs=e=>e.commonjs&&e.commonjsTypes,isEsm=e=>e.esm&&e.esmTypes;function getExports(e,t){return isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${path.relative(process.cwd(),e.esmTypes)}`,default:`./${path.relative(process.cwd(),e.esm)}`},require:{types:`./${path.relative(process.cwd(),e.commonjsTypes)}`,default:`./${path.relative(process.cwd(),e.commonjs)}`}}}:isCjs(e)&&!isEsm(e)?{[t]:{require:{types:`./${path.relative(process.cwd(),e.commonjsTypes)}`,default:`./${path.relative(process.cwd(),e.commonjs)}`}}}:!isCjs(e)&&isEsm(e)?{[t]:{import:{types:`./${path.relative(process.cwd(),e.esmTypes)}`,default:`./${path.relative(process.cwd(),e.esm)}`}}}:{}}async function writePackage(e,t){let s=!0;"."!==t&&(s=!1);const i=ts.sys.resolvePath("package.json"),n=fs.readFileSync(i,"utf8"),r=JSON.parse(n);let{name:a,version:o,description:c,main:l,module:p,type:m,types:f,exports:d,...u}=r;await utilities.wait(500),m="module";let y={},g={},h={},x={};if(s)y=e.main?{main:path.relative(process.cwd(),e.main)}:{},g=e.module?{module:path.relative(process.cwd(),e.module)}:{},h=e.types?{types:path.relative(process.cwd(),e.types)}:{},x={exports:{...getExports(e,t)}};else{y=l?{main:l}:{},g=p?{module:p}:{},h=f?{types:f}:{};x={exports:{...d&&"object"==typeof d&&!Array.isArray(d)?{...d}:{},...getExports(e,t)}}}await utilities.wait(1e3);const w={name:a,version:o,description:c,type:m,...y,...h,...g,...x,...u};utilities.writeCompileFile(i,JSON.stringify(w,null,2))}class Compiler{constructor(e){this.object=e,this.files={commonjs:void 0,commonjsTypes:void 0,esm:void 0,esmTypes:void 0,main:void 0,module:void 0,types:void 0}}_isUpdate(){return this.object.allowUpdatePackageJson}async _commonjs(e){const t="."===e.exportPath,s=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Compiled CJS")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`);const i=e.fileName,n=e.bundledContent,r=e.format,a=e.plugins,o=e.tsOptions.cjs,c=createHost(n,i),l=c.createdFiles,p=c.host;ts.createProgram([i],o,p).emit(),Object.entries(l).map(async([e,s])=>{if(".js"===path.extname(e)&&a.length)for(let t of a)t="function"==typeof t?t():t,"post-process"===t.type&&(s=t.async?await t.func(s,e):t.func(s,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.commonjs=e.replace(/.js/g,".cjs")),e.match(/.d.ts/g)&&(this.files.commonjsTypes=e.replace(/.d.ts/g,".d.cts")),!t||"both"!==r&&"commonjs"!==r||(this.files.commonjs&&(this.files.main=this.files.commonjs),this.files.commonjsTypes&&(this.files.types=this.files.commonjsTypes))),e=(e=(e=e.replace(/.js/g,".cjs")).replace(/.map.js/g,".map.cjs")).replace(/.d.ts/g,".d.cts"),await utilities.wait(500),"commonjs"===r&&await utilities.clearFolder(path.dirname(e)),await utilities.writeCompileFile(e,s)}),console.timeEnd(`${tcolor.cyan("Compiled CJS")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`)}async _esm(e){const t="."===e.exportPath,s=t?"Main":utilities.splitCamelCase(e.exportPath.slice(2));console.time(`${tcolor.cyan("Compiled ESM")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`);const i=e.fileName,n=e.bundledContent,r=e.format,a=e.plugins,o=e.tsOptions.esm,c=createHost(n,i),l=c.createdFiles,p=c.host;ts.createProgram([i],o,p).emit(),Object.entries(l).map(async([e,s])=>{if(".js"===path.extname(e)&&a.length)for(let t of a)t="function"==typeof t?t():t,"post-process"===t.type&&(s=t.async?await t.func(s,e):t.func(s,e));this._isUpdate()&&(e.match(/.js/g)&&(this.files.esm=e.replace(/.js/g,".mjs")),e.match(/.d.ts/g)&&(this.files.esmTypes=e.replace(/.d.ts/g,".d.mts")),t&&"both"===r&&this.files.esm&&(this.files.module=this.files.esm)),e=(e=(e=e.replace(/.js/g,".mjs")).replace(/.map.js/g,".map.mjs")).replace(/.d.ts/g,".d.mts"),await utilities.wait(500),"commonjs"!==r&&await utilities.clearFolder(path.dirname(e)),await utilities.writeCompileFile(e,s)}),console.timeEnd(`${tcolor.cyan("Compiled ESM")} -> ${tcolor.brightCyan(s)} ${tcolor.cyan("export path")}`)}async compile(){for(const e of this.object.points){switch(await utilities.wait(500),e.format){case"commonjs":await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"esm":await this._esm(e),this._isUpdate()&&await writePackage(this.files,e.exportPath);break;case"both":await this._esm(e),await utilities.wait(1e3),await this._commonjs(e),this._isUpdate()&&await writePackage(this.files,e.exportPath)}await utilities.wait(500)}}}async function susee(){console.info(`${tcolor.cyan("Susee Started")} : `),console.time(`${tcolor.cyan("Susee Done")}`);const e=await initializer();await utilities.wait(1e3);const t=await bundle(e);await utilities.wait(1e3);const s=new Compiler(t);await s.compile(),console.timeEnd(`${tcolor.cyan("Susee Done")}`)}export{susee};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|