@jsenv/prettier-check-project
Version:
Format staged or project files with prettier.
1 lines • 62.9 kB
Source Map (JSON)
{"version":3,"file":"main.cjs","sources":["../../node_modules/@jsenv/core/src/internal/bundling/import-meta-commonjs.js","../../node_modules/@jsenv/url-meta/src/internal/assertUrlLike.js","../../node_modules/@jsenv/url-meta/src/applySpecifierPatternMatching.js","../../node_modules/@jsenv/url-meta/src/internal/isPlainObject.js","../../node_modules/@jsenv/url-meta/src/metaMapToSpecifierMetaMap.js","../../node_modules/@jsenv/url-meta/src/internal/assertSpecifierMetaMap.js","../../node_modules/@jsenv/url-meta/src/normalizeSpecifierMetaMap.js","../../node_modules/@jsenv/url-meta/src/urlCanContainsMetaMatching.js","../../node_modules/@jsenv/url-meta/src/urlToMeta.js","../../node_modules/@jsenv/util/src/internal/ensureUrlTrailingSlash.js","../../node_modules/@jsenv/util/src/isFileSystemPath.js","../../node_modules/@jsenv/util/src/fileSystemPathToUrl.js","../../node_modules/@jsenv/util/src/assertAndNormalizeDirectoryUrl.js","../../node_modules/@jsenv/util/src/assertAndNormalizeFileUrl.js","../../node_modules/@jsenv/util/src/internal/statsToType.js","../../node_modules/@jsenv/util/src/urlToFileSystemPath.js","../../node_modules/@jsenv/util/src/internal/permissions.js","../../node_modules/@jsenv/util/src/writeFileSystemNodePermissions.js","../../node_modules/@jsenv/util/src/readFileSystemNodeStat.js","../../node_modules/@jsenv/util/node_modules/@jsenv/cancellation/src/createCancellationToken.js","../../node_modules/@jsenv/util/node_modules/@jsenv/cancellation/src/operation/createOperation.js","../../node_modules/@jsenv/util/node_modules/@jsenv/cancellation/src/cancelError.js","../../node_modules/@jsenv/util/node_modules/@jsenv/cancellation/src/internal/arrayHelper.js","../../node_modules/@jsenv/util/node_modules/@jsenv/cancellation/src/createCancellationSource.js","../../node_modules/@jsenv/util/src/internal/getCommandArgument.js","../../node_modules/@jsenv/util/src/wrapExternalFunction.js","../../node_modules/@jsenv/util/src/catchCancellation.js","../../node_modules/@jsenv/util/src/readDirectory.js","../../node_modules/@jsenv/util/src/internal/getCommonPathname.js","../../node_modules/@jsenv/util/src/internal/pathnameToDirectoryPathname.js","../../node_modules/@jsenv/util/src/urlToRelativeUrl.js","../../node_modules/@jsenv/util/src/comparePathnames.js","../../node_modules/@jsenv/util/src/collectFiles.js","../../node_modules/@jsenv/util/src/writeDirectory.js","../../node_modules/@jsenv/util/src/resolveUrl.js","../../node_modules/@jsenv/util/src/ensureParentDirectories.js","../../node_modules/@jsenv/util/src/ensureWindowsDriveLetter.js","../../node_modules/@jsenv/util/src/writeSymbolicLink.js","../../node_modules/@jsenv/node-signals/src/SIGUPSignal.js","../../node_modules/@jsenv/node-signals/src/SIGINTSignal.js","../../node_modules/@jsenv/node-signals/src/SIGTERMSignal.js","../../node_modules/@jsenv/node-signals/src/beforeExitSignal.js","../../node_modules/@jsenv/node-signals/src/exitSignal.js","../../node_modules/@jsenv/node-signals/src/teardownSignal.js","../../node_modules/@jsenv/util/src/createCancellationTokenForProcess.js","../../node_modules/@jsenv/util/src/readFile.js","../../node_modules/@jsenv/util/src/internal/createWatcher.js","../../node_modules/@jsenv/util/src/registerDirectoryLifecycle.js","../../node_modules/@jsenv/util/src/writeFile.js","../../node_modules/@jsenv/logger/src/LOG_LEVELS.js","../../node_modules/@jsenv/logger/src/createLogger.js","../../src/internal/STATUS.js","../../src/internal/style.js","../../src/internal/log.js","../../src/internal/collectStagedFiles.js","../../src/internal/collectProjectFiles.js","../../src/jsenvProjectFilesConfig.js","../../src/internal/generatePrettierReportForFile.js","../../src/formatWithPrettier.js"],"sourcesContent":null,"names":["nodeRequire","require","filenameContainsBackSlashes","__filename","indexOf","url","replace","assertUrlLike","value","name","TypeError","isWindowsPathnameSpecifier","hasScheme","specifier","firstChar","test","secondChar","thirdChar","applySpecifierPatternMatching","rest","Object","keys","length","Error","applyPatternMatching","pattern","string","patternIndex","index","remainingPattern","remainingString","pass","fail","slice","skipResult","skipUntilMatch","matched","slashIndex","skippablePredicate","bestMatch","matchAttempt","skippable","Math","max","isPlainObject","Array","isArray","metaMapToSpecifierMetaMap","metaMap","specifierMetaMap","forEach","metaKey","specifierValueMap","metaValue","meta","assertSpecifierMetaMap","checkComposition","plainObject","key","normalizeSpecifierMetaMap","specifierMetaMapNormalized","specifierResolved","String","URL","urlCanContainsMetaMatching","predicate","endsWith","fullMatchMeta","someFullMatch","partialMatchMetaArray","push","Boolean","some","partialMatchMeta","urlToMeta","reduce","previousMeta","ensureUrlTrailingSlash","isFileSystemPath","startsWithWindowsDriveLetter","fileSystemPathToUrl","pathToFileURL","assertAndNormalizeDirectoryUrl","urlString","href","e","startsWith","assertAndNormalizeFileUrl","baseUrl","statsToType","stats","isFile","isDirectory","isSymbolicLink","isFIFO","isSocket","isCharacterDevice","isBlockDevice","undefined","urlToFileSystemPath","fileUrl","fileSystemPath","fileURLToPath","S_IRUSR","S_IWUSR","S_IXUSR","S_IRGRP","S_IWGRP","S_IXGRP","S_IROTH","S_IWOTH","S_IXOTH","permissionsToBinaryFlags","owner","group","others","binaryFlags","read","write","execute","writeFileSystemNodePermissions","source","permissions","sourceUrl","sourcePath","getPermissionOrComputeDefault","chmodNaive","Promise","resolve","reject","chmod","error","actionLevels","subjectLevels","action","subject","subjectPermissions","actionLevel","actionFallback","find","actionFallbackCandidate","subjectLevel","subjectFallback","subjectFallbackCandidate","isWindows","process","platform","readFileSystemNodeStat","nullIfNotFound","followLink","handleNotFoundOption","handleNotFoundError","readStat","handlePermissionDeniedError","nodeMethod","stat","lstat","statsObject","code","createCancellationToken","register","callback","unregister","throwIfRequested","cancellationRequested","createOperation","cancellationToken","start","unknownArgumentNames","promise","cancelPromise","cancelRegistration","cancelError","then","operationPromise","race","createCancelError","reason","isCancelError","arrayWithout","array","item","arrayWithoutItem","i","createCancellationSource","requested","registrationArray","cancel","registrationArrayCopy","registration","existingRegistration","token","getCommandArgument","argv","arg","wrapExternalFunction","fn","catchCancellation","unhandledRejectionStrict","previousFn","uninstall","installUnhandledRejectionStrict","setTimeout","unhandledRejectionArg","execArgv","onUnhandledRejection","once","removeListener","asyncFn","readDirectory","emfileMaxWait","directoryUrl","directoryPath","startMs","Date","now","attemptCount","attempt","readdirNaive","handleTooManyFilesOpenedError","nowMs","timeSpentWaiting","readdir","names","getCommonPathname","pathname","otherPathname","firstDifferentCharacterIndex","findFirstDifferentCharacterIndex","commonString","charAt","firstDifferentSlashIndex","lastIndexOf","otherString","maxCommonLength","min","char","otherChar","pathnameToDirectoryPathname","slashLastIndex","urlToRelativeUrl","urlArg","baseUrlArg","protocol","username","password","host","hash","search","basePathname","commonPathname","specificPathname","baseSpecificPathname","baseSpecificDirectoryPathname","relativeDirectoriesNotation","relativePathname","comparePathnames","leftPathame","rightPathname","leftPartArray","split","rightPartArray","leftLength","rightLength","maxLength","leftPartExists","rightPartExists","leftPartIsLast","rightPartIsLast","leftPart","rightPart","comparison","localeCompare","collectFiles","matchingFileOperation","rootDirectoryUrl","matchingFileResultArray","visitDirectory","directoryItems","all","map","directoryItem","directoryChildNodeUrl","directoryChildNodeStats","subDirectoryUrl","relativeUrl","operationResult","fileStats","sort","leftFile","rightFile","mkdir","promises","writeDirectory","destination","recursive","allowUseless","destinationUrl","destinationPath","destinationStats","destinationType","resolveUrl","ensureParentDirectories","destinationParentPath","dirname","baseUrlFallback","cwd","addCallback","triggerHangUpOrDeath","SIGUPSignal","SIGINTSignal","console","warn","triggerTermination","SIGTERMSignal","beforeExitCallbackArray","install","filter","beforeExitCallback","onBeforeExit","previous","beforeExitSignal","collectExceptions","exitCallback","on","getExceptions","stop","trackExceptions","exceptionArray","exception","origin","unhandledRejectionCallback","unhandledRejection","rejectionHandledCallback","uncaughtExceptionCallback","uncaughtException","exitSignal","eventRace","SIGHUP","SIGINT","SIGTERM","beforeExit","exit","eventMap","unregisterMap","unregisterAll","args","teardownSignal","createCancellationTokenForProcess","teardownCancelSource","readFilePromisified","promisify","readFileNode","readFile","filePath","buffer","toString","isLinux","writeFile","writeFileNode","content","LOG_LEVEL_OFF","LOG_LEVEL_DEBUG","LOG_LEVEL_INFO","LOG_LEVEL_WARN","LOG_LEVEL_ERROR","createLogger","logLevel","debug","info","debugDisabled","infoDisabled","warnDisabled","errorDisabled","STATUS_NOT_SUPPORTED","STATUS_IGNORED","STATUS_PRETTY","STATUS_UGLY","STATUS_ERRORED","STATUS_FORMATTED","close","green","red","blue","yellow","magenta","erroredStyle","erroredStyleWithIcon","erroredIcon","notSupportedStyle","notSupportedStyleWithIcon","notSupportedIcon","ignoredStyle","ignoredStyleWithIcon","ignoredIcon","uglyStyle","uglyStyleWithIcon","uglyIcon","prettyStyle","prettyStyleWithIcon","prettyIcon","formattedStyle","formattedStyleWithIcon","formattedIcon","createSummaryLog","totalCount","createSummaryDetails","ignoredCount","notSupportedCount","erroredCount","uglyCount","formattedCount","prettyCount","createMixedDetails","parts","join","createIgnoredFileLog","createNotSupportedFileLog","createErroredFileLog","statusDetail","createUglyFileLog","createFormattedFileLog","createPrettyFileLog","collectStagedFiles","projectDirectoryUrl","gitDiffOutput","runCommand","stagedFiles","trim","relativePath","cmd","exec","stdout","stderr","collectProjectFiles","files","jsenvProjectFilesConfig","createRequire","resolveConfig","getFileInfo","check","generatePrettierReportForFile","prettierIgnoreFileUrl","options","ignorePath","withNodeModules","ignored","inferredParser","status","pretty","filepath","format","formatWithPrettier","jsenvDirectoryRelativeUrl","prettierIgnoreFileRelativeUrl","projectFilesConfig","staged","includes","dryRun","logSummary","updateProcessExitCode","logger","prettify","projectFiles","fileOrigin","report","fileReport","prettierReport","sourceFormatted","summary","summarizeReport","exitCode","catch","fileArray","erroredArray","file","notSupportedArray","ignoredArray","uglyArray","formattedArray","prettyArray"],"mappings":";;;;;;;;;;;;AAAA;AAMA,MAAMA,WAAW,GAAGC,OAApB;AAGA,MAAMC,2BAA2B,GAAGC,UAAU,CAACC,OAAX,CAAmB,IAAnB,IAA2B,CAAC,CAAhE;AAEO,MAAMC,GAAG,GAAGH,2BAA2B,GACzC,WAAUC,UAAU,CAACG,OAAX,CAAmB,KAAnB,EAA0B,GAA1B,CAA+B,EADA,GAEzC,UAASH,UAAW,EAFlB;;ACXA,MAAMI,aAAa,GAAG,CAACC,KAAD,EAAQC,IAAI,GAAG,KAAf,KAAyB;AACpD,MAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAM,IAAIE,SAAJ,CAAe,GAAED,IAAK,8BAA6BD,KAAM,EAAzD,CAAN;AACD;;AACD,MAAIG,0BAA0B,CAACH,KAAD,CAA9B,EAAuC;AACrC,UAAM,IAAIE,SAAJ,CAAe,GAAED,IAAK,yDAAwDD,KAAM,EAApF,CAAN;AACD;;AACD,MAAI,CAACI,SAAS,CAACJ,KAAD,CAAd,EAAuB;AACrB,UAAM,IAAIE,SAAJ,CAAe,GAAED,IAAK,2CAA0CD,KAAM,EAAtE,CAAN;AACD;AACF,CAVM;;AAYP,MAAMG,0BAA0B,GAAIE,SAAD,IAAe;AAChD,QAAMC,SAAS,GAAGD,SAAS,CAAC,CAAD,CAA3B;AACA,MAAI,CAAC,WAAWE,IAAX,CAAgBD,SAAhB,CAAL,EAAiC,OAAO,KAAP;AACjC,QAAME,UAAU,GAAGH,SAAS,CAAC,CAAD,CAA5B;AACA,MAAIG,UAAU,KAAK,GAAnB,EAAwB,OAAO,KAAP;AACxB,QAAMC,SAAS,GAAGJ,SAAS,CAAC,CAAD,CAA3B;AACA,SAAOI,SAAS,KAAK,GAAd,IAAqBA,SAAS,KAAK,IAA1C;AACD,CAPD;;AASA,MAAML,SAAS,GAAIC,SAAD,IAAe,cAAcE,IAAd,CAAmBF,SAAnB,CAAjC;;ACrBA;AAKO,MAAMK,6BAA6B,GAAG,CAAC;AAAEL,EAAAA,SAAF;AAAaR,EAAAA,GAAb;AAAkB,KAAGc;AAArB,IAA8B,EAA/B,KAAsC;AACjFZ,EAAAA,aAAa,CAACM,SAAD,EAAY,WAAZ,CAAb;AACAN,EAAAA,aAAa,CAACF,GAAD,EAAM,KAAN,CAAb;;AACA,MAAIe,MAAM,CAACC,IAAP,CAAYF,IAAZ,EAAkBG,MAAtB,EAA8B;AAC5B,UAAM,IAAIC,KAAJ,CAAW;;EAEnBH,MAAM,CAACC,IAAP,CAAYF,IAAZ,CAAkB;;eAFV,CAAN;AAKD;;AACD,SAAOK,oBAAoB,CAACX,SAAD,EAAYR,GAAZ,CAA3B;AACD,CAXM;;AAaP,MAAMmB,oBAAoB,GAAG,CAACC,OAAD,EAAUC,MAAV,KAAqB;AAChD,MAAIC,YAAY,GAAG,CAAnB;AACA,MAAIC,KAAK,GAAG,CAAZ;AACA,MAAIC,gBAAgB,GAAGJ,OAAvB;AACA,MAAIK,eAAe,GAAGJ,MAAtB,CAJgD;;AAOhD,SAAO,IAAP,EAAa;AACX;AACA,QAAIG,gBAAgB,KAAK,EAArB,IAA2BC,eAAe,KAAK,EAAnD,EAAuD;AACrD;AACA,aAAOC,IAAI,CAAC;AACVJ,QAAAA,YADU;AAEVC,QAAAA;AAFU,OAAD,CAAX;AAID,KARU;;;AAWX,QAAIC,gBAAgB,KAAK,EAArB,IAA2BC,eAAe,KAAK,EAAnD,EAAuD;AACrD;AACA,aAAOE,IAAI,CAAC;AACVL,QAAAA,YADU;AAEVC,QAAAA;AAFU,OAAD,CAAX;AAID,KAjBU;AAqBX;;;AACA,QAAIE,eAAe,KAAK,EAAxB,EAA4B;AAC1B;AACA,UAAID,gBAAgB,KAAK,IAAzB,EAA+B;AAC7B,eAAOE,IAAI,CAAC;AACVJ,UAAAA,YAAY,EAAEA,YAAY,GAAG,CADnB;AAEVC,UAAAA;AAFU,SAAD,CAAX;AAID,OAPyB;;;AAS1B,aAAOI,IAAI,CAAC;AACVL,QAAAA,YADU;AAEVC,QAAAA;AAFU,OAAD,CAAX;AAID,KAnCU;AAuCX;;;AACA,QAAIC,gBAAgB,KAAK,GAAzB,EAA8B;AAC5B;AACA,UAAIC,eAAe,CAAC,CAAD,CAAf,KAAuB,GAA3B,EAAgC;AAC9B,eAAOC,IAAI,CAAC;AACVJ,UAAAA,YAAY,EAAEA,YAAY,GAAG,CADnB;AAEVC,UAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,SAAD,CAAX;AAID;;AAED,aAAOU,IAAI,CAAC;AACVL,QAAAA,YADU;AAEVC,QAAAA;AAFU,OAAD,CAAX;AAID,KArDU;;;AAwDX,QAAIC,gBAAgB,KAAK,IAAzB,EAA+B;AAC7B;AACA,aAAOE,IAAI,CAAC;AACVJ,QAAAA,YAAY,EAAEA,YAAY,GAAG,CADnB;AAEVC,QAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,OAAD,CAAX;AAID,KA9DU;;;AAiEX,QAAIO,gBAAgB,CAACI,KAAjB,CAAuB,CAAvB,EAA0B,CAA1B,MAAiC,IAArC,EAA2C;AACzC;AACAJ,MAAAA,gBAAgB,GAAGA,gBAAgB,CAACI,KAAjB,CAAuB,CAAvB,CAAnB;AACAN,MAAAA,YAAY,IAAI,CAAhB;;AACA,UAAIE,gBAAgB,CAAC,CAAD,CAAhB,KAAwB,GAA5B,EAAiC;AAC/B;AACAA,QAAAA,gBAAgB,GAAGA,gBAAgB,CAACI,KAAjB,CAAuB,CAAvB,CAAnB;AACAN,QAAAA,YAAY,IAAI,CAAhB;AACD,OARwC;;;AAWzC,UAAIE,gBAAgB,KAAK,EAAzB,EAA6B;AAC3B,eAAOE,IAAI,CAAC;AACVJ,UAAAA,YADU;AAEVC,UAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,SAAD,CAAX;AAID;;AAED,YAAMY,UAAU,GAAGC,cAAc,CAAC;AAAEV,QAAAA,OAAO,EAAEI,gBAAX;AAA6BH,QAAAA,MAAM,EAAEI;AAArC,OAAD,CAAjC;;AAEA,UAAI,CAACI,UAAU,CAACE,OAAhB,EAAyB;AACvB,eAAOJ,IAAI,CAAC;AACVL,UAAAA,YAAY,EAAEA,YAAY,GAAGO,UAAU,CAACP,YAD9B;AAEVC,UAAAA,KAAK,EAAEA,KAAK,GAAGM,UAAU,CAACN;AAFhB,SAAD,CAAX;AAID;;AAED,aAAOG,IAAI,CAAC;AACVJ,QAAAA,YAAY,EAAEF,OAAO,CAACH,MADZ;AAEVM,QAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,OAAD,CAAX;AAID;;AAED,QAAIO,gBAAgB,CAAC,CAAD,CAAhB,KAAwB,GAA5B,EAAiC;AAC/B;AACAA,MAAAA,gBAAgB,GAAGA,gBAAgB,CAACI,KAAjB,CAAuB,CAAvB,CAAnB;AACAN,MAAAA,YAAY,IAAI,CAAhB,CAH+B;AAM/B;;AACA,UAAIE,gBAAgB,KAAK,EAAzB,EAA6B;AAC3B,cAAMQ,UAAU,GAAGP,eAAe,CAAC1B,OAAhB,CAAwB,GAAxB,CAAnB;;AACA,YAAIiC,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACnB,iBAAOL,IAAI,CAAC;AACVL,YAAAA,YADU;AAEVC,YAAAA,KAAK,EAAEA,KAAK,GAAGS;AAFL,WAAD,CAAX;AAID;;AACD,eAAON,IAAI,CAAC;AACVJ,UAAAA,YADU;AAEVC,UAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,SAAD,CAAX;AAID,OAnB8B;AAsB/B;;;AACA,UAAIO,gBAAgB,CAAC,CAAD,CAAhB,KAAwBC,eAAe,CAAC,CAAD,CAA3C,EAAgD;AAC9C,eAAOE,IAAI,CAAC;AACVL,UAAAA,YAAY,EAAEA,YAAY,GAAG,IAAIL,MADvB;AAEVM,UAAAA;AAFU,SAAD,CAAX;AAID;;AAED,YAAMM,UAAU,GAAGC,cAAc,CAAC;AAChCV,QAAAA,OAAO,EAAEI,gBADuB;AAEhCH,QAAAA,MAAM,EAAEI,eAFwB;AAGhCQ,QAAAA,kBAAkB,EAAGR,eAAD,IAAqBA,eAAe,CAAC,CAAD,CAAf,KAAuB;AAHhC,OAAD,CAAjC;;AAMA,UAAI,CAACI,UAAU,CAACE,OAAhB,EAAyB;AACvB,eAAOJ,IAAI,CAAC;AACVL,UAAAA,YAAY,EAAEA,YAAY,GAAGO,UAAU,CAACP,YAD9B;AAEVC,UAAAA,KAAK,EAAEA,KAAK,GAAGM,UAAU,CAACN;AAFhB,SAAD,CAAX;AAID;;AAED,aAAOG,IAAI,CAAC;AACVJ,QAAAA,YAAY,EAAEF,OAAO,CAACH,MADZ;AAEVM,QAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,OAAD,CAAX;AAID;;AAED,QAAIO,gBAAgB,CAAC,CAAD,CAAhB,KAAwBC,eAAe,CAAC,CAAD,CAA3C,EAAgD;AAC9C,aAAOE,IAAI,CAAC;AACVL,QAAAA,YADU;AAEVC,QAAAA;AAFU,OAAD,CAAX;AAID,KAxJU;;;AA2JXC,IAAAA,gBAAgB,GAAGA,gBAAgB,CAACI,KAAjB,CAAuB,CAAvB,CAAnB;AACAH,IAAAA,eAAe,GAAGA,eAAe,CAACG,KAAhB,CAAsB,CAAtB,CAAlB;AACAN,IAAAA,YAAY,IAAI,CAAhB;AACAC,IAAAA,KAAK,IAAI,CAAT;AACA;AACD;AACF,CAxKD;;AA0KA,MAAMO,cAAc,GAAG,CAAC;AAAEV,EAAAA,OAAF;AAAWC,EAAAA,MAAX;AAAmBY,EAAAA,kBAAkB,GAAG,MAAM;AAA9C,CAAD,KAA0D;AAC/E,MAAIV,KAAK,GAAG,CAAZ;AACA,MAAIE,eAAe,GAAGJ,MAAtB;AACA,MAAIa,SAAS,GAAG,IAAhB,CAH+E;;AAM/E,SAAO,IAAP,EAAa;AACX,UAAMC,YAAY,GAAGhB,oBAAoB,CAACC,OAAD,EAAUK,eAAV,CAAzC;;AAEA,QAAIU,YAAY,CAACJ,OAAjB,EAA0B;AACxBG,MAAAA,SAAS,GAAGC,YAAZ;AACA;AACD;;AAED,UAAMC,SAAS,GAAGH,kBAAkB,CAACR,eAAD,CAApC;AAEAS,IAAAA,SAAS,GAAGP,IAAI,CAAC;AACfL,MAAAA,YAAY,EAAEY,SAAS,GACnBG,IAAI,CAACC,GAAL,CAASJ,SAAS,CAACZ,YAAnB,EAAiCa,YAAY,CAACb,YAA9C,CADmB,GAEnBa,YAAY,CAACb,YAHF;AAIfC,MAAAA,KAAK,EAAEA,KAAK,GAAGY,YAAY,CAACZ;AAJb,KAAD,CAAhB;;AAOA,QAAI,CAACa,SAAL,EAAgB;AACd;AACD,KAnBU;;;AAsBXX,IAAAA,eAAe,GAAGA,eAAe,CAACG,KAAhB,CAAsBO,YAAY,CAACZ,KAAb,GAAqB,CAA3C,CAAlB;AACAA,IAAAA,KAAK,IAAIY,YAAY,CAACZ,KAAb,GAAqB,CAA9B;;AACA,QAAIE,eAAe,KAAK,EAAxB,EAA4B;AAC1BS,MAAAA,SAAS,GAAG,EACV,GAAGA,SADO;AAEVX,QAAAA,KAAK,EAAEF,MAAM,CAACJ;AAFJ,OAAZ;AAIA;AACD;;AAED;AACD;;AAED,SAAOiB,SAAP;AACD,CA1CD;;AA4CA,MAAMR,IAAI,GAAG,CAAC;AAAEJ,EAAAA,YAAF;AAAgBC,EAAAA;AAAhB,CAAD,KAA6B;AACxC,SAAO;AACLQ,IAAAA,OAAO,EAAE,IADJ;AAELR,IAAAA,KAFK;AAGLD,IAAAA;AAHK,GAAP;AAKD,CAND;;AAQA,MAAMK,IAAI,GAAG,CAAC;AAAEL,EAAAA,YAAF;AAAgBC,EAAAA;AAAhB,CAAD,KAA6B;AACxC,SAAO;AACLQ,IAAAA,OAAO,EAAE,KADJ;AAELR,IAAAA,KAFK;AAGLD,IAAAA;AAHK,GAAP;AAKD,CAND;;AChPO,MAAMiB,aAAa,GAAIpC,KAAD,IAAW;AACtC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAClB,WAAO,KAAP;AACD;;AACD,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,QAAIqC,KAAK,CAACC,OAAN,CAActC,KAAd,CAAJ,EAA0B;AACxB,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD,CAXM;;ACEA,MAAMuC,yBAAyB,GAAG,CAACC,OAAD,EAAU,GAAG7B,IAAb,KAAsB;AAC7D,MAAI,CAACyB,aAAa,CAACI,OAAD,CAAlB,EAA6B;AAC3B,UAAM,IAAItC,SAAJ,CAAe,uCAAsCsC,OAAQ,EAA7D,CAAN;AACD;;AACD,MAAI7B,IAAI,CAACG,MAAT,EAAiB;AACf,UAAM,IAAIC,KAAJ,CAAW;;EAEnB,IAAIJ,IAAI,CAACG,MAAO;;EAFR,CAAN;AAKD;;AAED,QAAM2B,gBAAgB,GAAG,EAAzB;AAEA7B,EAAAA,MAAM,CAACC,IAAP,CAAY2B,OAAZ,EAAqBE,OAArB,CAA8BC,OAAD,IAAa;AACxC,UAAMC,iBAAiB,GAAGJ,OAAO,CAACG,OAAD,CAAjC;;AACA,QAAI,CAACP,aAAa,CAACQ,iBAAD,CAAlB,EAAuC;AACrC,YAAM,IAAI1C,SAAJ,CACH,2CAA0C0C,iBAAkB,QAAOD,OAAQ,EADxE,CAAN;AAGD;;AACD/B,IAAAA,MAAM,CAACC,IAAP,CAAY+B,iBAAZ,EAA+BF,OAA/B,CAAwCrC,SAAD,IAAe;AACpD,YAAMwC,SAAS,GAAGD,iBAAiB,CAACvC,SAAD,CAAnC;AACA,YAAMyC,IAAI,GAAG;AAAE,SAACH,OAAD,GAAWE;AAAb,OAAb;AACAJ,MAAAA,gBAAgB,CAACpC,SAAD,CAAhB,GACEA,SAAS,IAAIoC,gBAAb,GAAgC,EAAE,GAAGA,gBAAgB,CAACpC,SAAD,CAArB;AAAkC,WAAGyC;AAArC,OAAhC,GAA8EA,IADhF;AAED,KALD;AAMD,GAbD;AAeA,SAAOL,gBAAP;AACD,CA9BM;;ACCA,MAAMM,sBAAsB,GAAG,CAAC/C,KAAD,EAAQgD,gBAAgB,GAAG,IAA3B,KAAoC;AACxE,MAAI,CAACZ,aAAa,CAACpC,KAAD,CAAlB,EAA2B;AACzB,UAAM,IAAIE,SAAJ,CAAe,gDAA+CF,KAAM,EAApE,CAAN;AACD;;AAED,MAAIgD,gBAAJ,EAAsB;AACpB,UAAMC,WAAW,GAAGjD,KAApB;AACAY,IAAAA,MAAM,CAACC,IAAP,CAAYoC,WAAZ,EAAyBP,OAAzB,CAAkCQ,GAAD,IAAS;AACxCnD,MAAAA,aAAa,CAACmD,GAAD,EAAM,sBAAN,CAAb;AACA,YAAMlD,KAAK,GAAGiD,WAAW,CAACC,GAAD,CAAzB;;AACA,UAAIlD,KAAK,KAAK,IAAV,IAAkB,CAACoC,aAAa,CAACpC,KAAD,CAApC,EAA6C;AAC3C,cAAM,IAAIE,SAAJ,CACH,8DAA6DF,KAAM,cAAakD,GAAI,EADjF,CAAN;AAGD;AACF,KARD;AASD;AACF,CAjBM;;ACAA,MAAMC,yBAAyB,GAAG,CAACV,gBAAD,EAAmB5C,GAAnB,EAAwB,GAAGc,IAA3B,KAAoC;AAC3EoC,EAAAA,sBAAsB,CAACN,gBAAD,EAAmB,KAAnB,CAAtB;AACA1C,EAAAA,aAAa,CAACF,GAAD,EAAM,KAAN,CAAb;;AACA,MAAIc,IAAI,CAACG,MAAT,EAAiB;AACf,UAAM,IAAIC,KAAJ,CAAW;;EAEnB,IAAIJ,IAAI,CAACG,MAAO;;EAFR,CAAN;AAKD;;AAED,QAAMsC,0BAA0B,GAAG,EAAnC;AACAxC,EAAAA,MAAM,CAACC,IAAP,CAAY4B,gBAAZ,EAA8BC,OAA9B,CAAuCrC,SAAD,IAAe;AACnD,UAAMgD,iBAAiB,GAAGC,MAAM,CAAC,IAAIC,GAAJ,CAAQlD,SAAR,EAAmBR,GAAnB,CAAD,CAAhC;AACAuD,IAAAA,0BAA0B,CAACC,iBAAD,CAA1B,GAAgDZ,gBAAgB,CAACpC,SAAD,CAAhE;AACD,GAHD;AAIA,SAAO+C,0BAAP;AACD,CAjBM;;ACCA,MAAMI,0BAA0B,GAAG,CAAC;AAAE3D,EAAAA,GAAF;AAAO4C,EAAAA,gBAAP;AAAyBgB,EAAAA,SAAzB;AAAoC,KAAG9C;AAAvC,CAAD,KAAmD;AAC3FZ,EAAAA,aAAa,CAACF,GAAD,EAAM,KAAN,CAAb,CAD2F;;AAG3F,MAAI,CAACA,GAAG,CAAC6D,QAAJ,CAAa,GAAb,CAAL,EAAwB;AACtB,UAAM,IAAI3C,KAAJ,CAAW,8BAA6BlB,GAAI,EAA5C,CAAN;AACD;;AACDkD,EAAAA,sBAAsB,CAACN,gBAAD,CAAtB;;AACA,MAAI,OAAOgB,SAAP,KAAqB,UAAzB,EAAqC;AACnC,UAAM,IAAIvD,SAAJ,CAAe,qCAAoCuD,SAAU,EAA7D,CAAN;AACD;;AACD,MAAI7C,MAAM,CAACC,IAAP,CAAYF,IAAZ,EAAkBG,MAAtB,EAA8B;AAC5B,UAAM,IAAIC,KAAJ,CAAW;;EAEnBH,MAAM,CAACC,IAAP,CAAYF,IAAZ,CAAkB;;iCAFV,CAAN;AAKD,GAhB0F;;;AAmB3F,MAAIgD,aAAa,GAAG,EAApB;AACA,MAAIC,aAAa,GAAG,KAApB,CApB2F;AAsB3F;;AACA,QAAMC,qBAAqB,GAAG,EAA9B;AAEAjD,EAAAA,MAAM,CAACC,IAAP,CAAY4B,gBAAZ,EAA8BC,OAA9B,CAAuCrC,SAAD,IAAe;AACnD,UAAMyC,IAAI,GAAGL,gBAAgB,CAACpC,SAAD,CAA7B;AACA,UAAM;AAAEuB,MAAAA,OAAF;AAAWR,MAAAA;AAAX,QAAqBV,6BAA6B,CAAC;AACvDL,MAAAA,SADuD;AAEvDR,MAAAA;AAFuD,KAAD,CAAxD;;AAIA,QAAI+B,OAAJ,EAAa;AACXgC,MAAAA,aAAa,GAAG,IAAhB;AACAD,MAAAA,aAAa,GAAG,EACd,GAAGA,aADW;AAEd,WAAGb;AAFW,OAAhB;AAID,KAND,MAMO,IAAIc,aAAa,KAAK,KAAlB,IAA2BxC,KAAK,IAAIvB,GAAG,CAACiB,MAA5C,EAAoD;AACzD+C,MAAAA,qBAAqB,CAACC,IAAtB,CAA2BhB,IAA3B;AACD;AACF,GAfD;;AAiBA,MAAIc,aAAJ,EAAmB;AACjB,WAAOG,OAAO,CAACN,SAAS,CAACE,aAAD,CAAV,CAAd;AACD;;AAED,SAAOE,qBAAqB,CAACG,IAAtB,CAA4BC,gBAAD,IAAsBR,SAAS,CAACQ,gBAAD,CAA1D,CAAP;AACD,CA/CM;;ACAA,MAAMC,SAAS,GAAG,CAAC;AAAErE,EAAAA,GAAF;AAAO4C,EAAAA,gBAAP;AAAyB,KAAG9B;AAA5B,IAAqC,EAAtC,KAA6C;AACpEZ,EAAAA,aAAa,CAACF,GAAD,CAAb;AACAkD,EAAAA,sBAAsB,CAACN,gBAAD,CAAtB;;AACA,MAAI7B,MAAM,CAACC,IAAP,CAAYF,IAAZ,EAAkBG,MAAtB,EAA8B;AAC5B,UAAM,IAAIC,KAAJ,CAAW;;EAEnBH,MAAM,CAACC,IAAP,CAAYF,IAAZ,CAAkB;;sBAFV,CAAN;AAKD;;AAED,SAAOC,MAAM,CAACC,IAAP,CAAY4B,gBAAZ,EAA8B0B,MAA9B,CAAqC,CAACC,YAAD,EAAe/D,SAAf,KAA6B;AACvE,UAAM;AAAEuB,MAAAA;AAAF,QAAclB,6BAA6B,CAAC;AAChDL,MAAAA,SADgD;AAEhDR,MAAAA;AAFgD,KAAD,CAAjD;;AAIA,QAAI+B,OAAJ,EAAa;AACX,aAAO,EACL,GAAGwC,YADE;AAEL,WAAG3B,gBAAgB,CAACpC,SAAD;AAFd,OAAP;AAID;;AACD,WAAO+D,YAAP;AACD,GAZM,EAYJ,EAZI,CAAP;AAaD,CAxBM;;ACJA,MAAMC,sBAAsB,GAAIxE,GAAD,IAAS;AAC7C,SAAOA,GAAG,CAAC6D,QAAJ,CAAa,GAAb,IAAoB7D,GAApB,GAA2B,GAAEA,GAAI,GAAxC;AACD,CAFM;;ACAA,MAAMyE,gBAAgB,GAAItE,KAAD,IAAW;AACzC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAM,IAAIE,SAAJ,CAAe,oDAAmDF,KAAM,EAAxE,CAAN;AACD;;AAED,MAAIA,KAAK,CAAC,CAAD,CAAL,KAAa,GAAjB,EAAsB,OAAO,IAAP;AACtB,SAAOuE,4BAA4B,CAACvE,KAAD,CAAnC;AACD,CAPM;;AASP,MAAMuE,4BAA4B,GAAIrD,MAAD,IAAY;AAC/C,QAAMZ,SAAS,GAAGY,MAAM,CAAC,CAAD,CAAxB;AACA,MAAI,CAAC,WAAWX,IAAX,CAAgBD,SAAhB,CAAL,EAAiC,OAAO,KAAP;AAEjC,QAAME,UAAU,GAAGU,MAAM,CAAC,CAAD,CAAzB;AACA,MAAIV,UAAU,KAAK,GAAnB,EAAwB,OAAO,KAAP;AAExB,SAAO,IAAP;AACD,CARD;;ACNO,MAAMgE,mBAAmB,GAAIxE,KAAD,IAAW;AAC5C,MAAI,CAACsE,gBAAgB,CAACtE,KAAD,CAArB,EAA8B;AAC5B,UAAM,IAAIe,KAAJ,CAAW,iDAAgDf,KAAM,EAAjE,CAAN;AACD;;AACD,SAAOsD,MAAM,CAACmB,mBAAa,CAACzE,KAAD,CAAd,CAAb;AACD,CALM;;ACCA,MAAM0E,8BAA8B,GAAI1E,KAAD,IAAW;AACvD,MAAI2E,SAAJ;;AAEA,MAAI3E,KAAK,YAAYuD,GAArB,EAA0B;AACxBoB,IAAAA,SAAS,GAAG3E,KAAK,CAAC4E,IAAlB;AACD,GAFD,MAEO,IAAI,OAAO5E,KAAP,KAAiB,QAArB,EAA+B;AACpC,QAAIsE,gBAAgB,CAACtE,KAAD,CAApB,EAA6B;AAC3B2E,MAAAA,SAAS,GAAGH,mBAAmB,CAACxE,KAAD,CAA/B;AACD,KAFD,MAEO;AACL,UAAI;AACF2E,QAAAA,SAAS,GAAGrB,MAAM,CAAC,IAAIC,GAAJ,CAAQvD,KAAR,CAAD,CAAlB;AACD,OAFD,CAEE,OAAO6E,CAAP,EAAU;AACV,cAAM,IAAI3E,SAAJ,CAAe,8CAA6CF,KAAM,EAAlE,CAAN;AACD;AACF;AACF,GAVM,MAUA;AACL,UAAM,IAAIE,SAAJ,CAAe,qDAAoDF,KAAM,EAAzE,CAAN;AACD;;AAED,MAAI,CAAC2E,SAAS,CAACG,UAAV,CAAqB,SAArB,CAAL,EAAsC;AACpC,UAAM,IAAI/D,KAAJ,CAAW,mDAAkDf,KAAM,EAAnE,CAAN;AACD;;AAED,SAAOqE,sBAAsB,CAACM,SAAD,CAA7B;AACD,CAxBM;;ACDA,MAAMI,yBAAyB,GAAG,CAAC/E,KAAD,EAAQgF,OAAR,KAAoB;AAC3D,MAAIL,SAAJ;;AAEA,MAAI3E,KAAK,YAAYuD,GAArB,EAA0B;AACxBoB,IAAAA,SAAS,GAAG3E,KAAK,CAAC4E,IAAlB;AACD,GAFD,MAEO,IAAI,OAAO5E,KAAP,KAAiB,QAArB,EAA+B;AACpC,QAAIsE,gBAAgB,CAACtE,KAAD,CAApB,EAA6B;AAC3B2E,MAAAA,SAAS,GAAGH,mBAAmB,CAACxE,KAAD,CAA/B;AACD,KAFD,MAEO;AACL,UAAI;AACF2E,QAAAA,SAAS,GAAGrB,MAAM,CAAC,IAAIC,GAAJ,CAAQvD,KAAR,EAAegF,OAAf,CAAD,CAAlB;AACD,OAFD,CAEE,OAAOH,CAAP,EAAU;AACV,cAAM,IAAI3E,SAAJ,CAAe,yCAAwCF,KAAM,EAA7D,CAAN;AACD;AACF;AACF,GAVM,MAUA;AACL,UAAM,IAAIE,SAAJ,CAAe,gDAA+CF,KAAM,EAApE,CAAN;AACD;;AAED,MAAI,CAAC2E,SAAS,CAACG,UAAV,CAAqB,SAArB,CAAL,EAAsC;AACpC,UAAM,IAAI/D,KAAJ,CAAW,8CAA6Cf,KAAM,EAA9D,CAAN;AACD;;AAED,SAAO2E,SAAP;AACD,CAxBM;;ACHA,MAAMM,WAAW,GAAIC,KAAD,IAAW;AACpC,MAAIA,KAAK,CAACC,MAAN,EAAJ,EAAoB,OAAO,MAAP;AACpB,MAAID,KAAK,CAACE,WAAN,EAAJ,EAAyB,OAAO,WAAP;AACzB,MAAIF,KAAK,CAACG,cAAN,EAAJ,EAA4B,OAAO,eAAP;AAC5B,MAAIH,KAAK,CAACI,MAAN,EAAJ,EAAoB,OAAO,MAAP;AACpB,MAAIJ,KAAK,CAACK,QAAN,EAAJ,EAAsB,OAAO,QAAP;AACtB,MAAIL,KAAK,CAACM,iBAAN,EAAJ,EAA+B,OAAO,kBAAP;AAC/B,MAAIN,KAAK,CAACO,aAAN,EAAJ,EAA2B,OAAO,cAAP;AAC3B,SAAOC,SAAP;AACD,CATM;;ACEA,MAAMC,mBAAmB,GAAIC,OAAD,IAAa;AAC9C,MAAIA,OAAO,CAACA,OAAO,CAAC9E,MAAR,GAAiB,CAAlB,CAAP,KAAgC,GAApC,EAAyC;AACvC;AACA;AACA8E,IAAAA,OAAO,GAAGA,OAAO,CAACnE,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,CAAV;AACD;;AACD,QAAMoE,cAAc,GAAGC,mBAAa,CAACF,OAAD,CAApC;AACA,SAAOC,cAAP;AACD,CARM;;ACFP;AACA;AACA;AAEA;AACA,MAAME,OAAO,GAAG,GAAhB;AAAoB;;AACpB,MAAMC,OAAO,GAAG,GAAhB;AAAoB;;AACpB,MAAMC,OAAO,GAAG,EAAhB;AAAmB;;AACnB,MAAMC,OAAO,GAAG,EAAhB;AAAmB;;AACnB,MAAMC,OAAO,GAAG,EAAhB;AAAmB;;AACnB,MAAMC,OAAO,GAAG,CAAhB;AAAkB;;AAClB,MAAMC,OAAO,GAAG,CAAhB;AAAkB;;AAClB,MAAMC,OAAO,GAAG,CAAhB;AAAkB;;AAClB,MAAMC,OAAO,GAAG,CAAhB;AA6CO,MAAMC,wBAAwB,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,KAAT;AAAgBC,EAAAA;AAAhB,CAAD,KAA8B;AACpE,MAAIC,WAAW,GAAG,CAAlB;AAEA,MAAIH,KAAK,CAACI,IAAV,EAAgBD,WAAW,IAAIb,OAAf;AAChB,MAAIU,KAAK,CAACK,KAAV,EAAiBF,WAAW,IAAIZ,OAAf;AACjB,MAAIS,KAAK,CAACM,OAAV,EAAmBH,WAAW,IAAIX,OAAf;AAEnB,MAAIS,KAAK,CAACG,IAAV,EAAgBD,WAAW,IAAIV,OAAf;AAChB,MAAIQ,KAAK,CAACI,KAAV,EAAiBF,WAAW,IAAIT,OAAf;AACjB,MAAIO,KAAK,CAACK,OAAV,EAAmBH,WAAW,IAAIR,OAAf;AAEnB,MAAIO,MAAM,CAACE,IAAX,EAAiBD,WAAW,IAAIP,OAAf;AACjB,MAAIM,MAAM,CAACG,KAAX,EAAkBF,WAAW,IAAIN,OAAf;AAClB,MAAIK,MAAM,CAACI,OAAX,EAAoBH,WAAW,IAAIL,OAAf;AAEpB,SAAOK,WAAP;AACD,CAhBM;;ACrDA,MAAMI,8BAA8B,GAAG,OAAOC,MAAP,EAAeC,WAAf,KAA+B;AAC3E,QAAMC,SAAS,GAAGpC,yBAAyB,CAACkC,MAAD,CAA3C;AACA,QAAMG,UAAU,GAAGzB,mBAAmB,CAACwB,SAAD,CAAtC;AAEA,MAAIP,WAAJ;;AACA,MAAI,OAAOM,WAAP,KAAuB,QAA3B,EAAqC;AACnCA,IAAAA,WAAW,GAAG;AACZT,MAAAA,KAAK,EAAE;AACLI,QAAAA,IAAI,EAAEQ,6BAA6B,CAAC,MAAD,EAAS,OAAT,EAAkBH,WAAlB,CAD9B;AAELJ,QAAAA,KAAK,EAAEO,6BAA6B,CAAC,OAAD,EAAU,OAAV,EAAmBH,WAAnB,CAF/B;AAGLH,QAAAA,OAAO,EAAEM,6BAA6B,CAAC,SAAD,EAAY,OAAZ,EAAqBH,WAArB;AAHjC,OADK;AAMZR,MAAAA,KAAK,EAAE;AACLG,QAAAA,IAAI,EAAEQ,6BAA6B,CAAC,MAAD,EAAS,OAAT,EAAkBH,WAAlB,CAD9B;AAELJ,QAAAA,KAAK,EAAEO,6BAA6B,CAAC,OAAD,EAAU,OAAV,EAAmBH,WAAnB,CAF/B;AAGLH,QAAAA,OAAO,EAAEM,6BAA6B,CAAC,SAAD,EAAY,OAAZ,EAAqBH,WAArB;AAHjC,OANK;AAWZP,MAAAA,MAAM,EAAE;AACNE,QAAAA,IAAI,EAAEQ,6BAA6B,CAAC,MAAD,EAAS,QAAT,EAAmBH,WAAnB,CAD7B;AAENJ,QAAAA,KAAK,EAAEO,6BAA6B,CAAC,OAAD,EAAU,QAAV,EAAoBH,WAApB,CAF9B;AAGNH,QAAAA,OAAO,EAAEM,6BAA6B,CAAC,SAAD,EAAY,QAAZ,EAAsBH,WAAtB;AAHhC;AAXI,KAAd;AAiBAN,IAAAA,WAAW,GAAGJ,wBAAwB,CAACU,WAAD,CAAtC;AACD,GAnBD,MAmBO;AACLN,IAAAA,WAAW,GAAGM,WAAd;AACD;;AAED,SAAOI,UAAU,CAACF,UAAD,EAAaR,WAAb,CAAjB;AACD,CA7BM;;AA+BP,MAAMU,UAAU,GAAG,CAACzB,cAAD,EAAiBe,WAAjB,KAAiC;AAClD,SAAO,IAAIW,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCC,IAAAA,QAAK,CAAC7B,cAAD,EAAiBe,WAAjB,EAA+Be,KAAD,IAAW;AAC5C,UAAIA,KAAJ,EAAW;AACTF,QAAAA,MAAM,CAACE,KAAD,CAAN;AACD,OAFD,MAEO;AACLH,QAAAA,OAAO;AACR;AACF,KANI,CAAL;AAOD,GARM,CAAP;AASD,CAVD;;AAYA,MAAMI,YAAY,GAAG;AAAEf,EAAAA,IAAI,EAAE,CAAR;AAAWC,EAAAA,KAAK,EAAE,CAAlB;AAAqBC,EAAAA,OAAO,EAAE;AAA9B,CAArB;AACA,MAAMc,aAAa,GAAG;AAAElB,EAAAA,MAAM,EAAE,CAAV;AAAaD,EAAAA,KAAK,EAAE,CAApB;AAAuBD,EAAAA,KAAK,EAAE;AAA9B,CAAtB;;AAEA,MAAMY,6BAA6B,GAAG,CAACS,MAAD,EAASC,OAAT,EAAkBb,WAAlB,KAAkC;AACtE,MAAIa,OAAO,IAAIb,WAAf,EAA4B;AAC1B,UAAMc,kBAAkB,GAAGd,WAAW,CAACa,OAAD,CAAtC;;AACA,QAAID,MAAM,IAAIE,kBAAd,EAAkC;AAChC,aAAOA,kBAAkB,CAACF,MAAD,CAAzB;AACD;;AAED,UAAMG,WAAW,GAAGL,YAAY,CAACE,MAAD,CAAhC;AACA,UAAMI,cAAc,GAAGtH,MAAM,CAACC,IAAP,CAAY+G,YAAZ,EAA0BO,IAA1B,CACpBC,uBAAD,IACER,YAAY,CAACQ,uBAAD,CAAZ,GAAwCH,WAAxC,IACAG,uBAAuB,IAAIJ,kBAHR,CAAvB;;AAKA,QAAIE,cAAJ,EAAoB;AAClB,aAAOF,kBAAkB,CAACE,cAAD,CAAzB;AACD;AACF;;AAED,QAAMG,YAAY,GAAGR,aAAa,CAACE,OAAD,CAAlC,CAlBsE;AAoBtE;;AACA,QAAMO,eAAe,GAAG1H,MAAM,CAACC,IAAP,CAAYgH,aAAZ,EAA2BM,IAA3B,CACrBI,wBAAD,IACEV,aAAa,CAACU,wBAAD,CAAb,GAA0CF,YAA1C,IACAE,wBAAwB,IAAIrB,WAHR,CAAxB;;AAKA,MAAIoB,eAAJ,EAAqB;AACnB,UAAMN,kBAAkB,GAAGd,WAAW,CAACoB,eAAD,CAAtC;AACA,WAAOR,MAAM,IAAIE,kBAAV,GACHA,kBAAkB,CAACF,MAAD,CADf,GAEHT,6BAA6B,CAACS,MAAD,EAASQ,eAAT,EAA0BpB,WAA1B,CAFjC;AAGD;;AAED,SAAO,KAAP;AACD,CAlCD;;AC9CA,MAAMsB,SAAS,GAAGC,OAAO,CAACC,QAAR,KAAqB,OAAvC;AAEO,MAAMC,sBAAsB,GAAG,OACpC1B,MADoC,EAEpC;AAAE2B,EAAAA,cAAc,GAAG,KAAnB;AAA0BC,EAAAA,UAAU,GAAG;AAAvC,IAAgD,EAFZ,KAGjC;AACH,MAAI5B,MAAM,CAACvD,QAAP,CAAgB,GAAhB,CAAJ,EAA0BuD,MAAM,GAAGA,MAAM,CAACxF,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAT;AAE1B,QAAM0F,SAAS,GAAGpC,yBAAyB,CAACkC,MAAD,CAA3C;AACA,QAAMG,UAAU,GAAGzB,mBAAmB,CAACwB,SAAD,CAAtC;AAEA,QAAM2B,oBAAoB,GAAGF,cAAc,GACvC;AACEG,IAAAA,mBAAmB,EAAE,MAAM;AAD7B,GADuC,GAIvC,EAJJ;AAMA,SAAOC,QAAQ,CAAC5B,UAAD,EAAa;AAC1ByB,IAAAA,UAD0B;AAE1B,OAAGC,oBAFuB;AAG1B,QAAIN,SAAS,GACT;AACE;AACAS,MAAAA,2BAA2B,EAAE,MAAOtB,KAAP,IAAiB;AAC5C;AACA;AACA;AACA,YAAI;AACF,gBAAMX,8BAA8B,CAACG,SAAD,EAAY,KAAZ,CAApC;AACA,gBAAMjC,KAAK,GAAG,MAAM8D,QAAQ,CAAC5B,UAAD,EAAa;AACvCyB,YAAAA,UADuC;AAEvC,eAAGC,oBAFoC;AAGvC;AACAG,YAAAA,2BAA2B,EAAE,MAAM;AACjC,oBAAMtB,KAAN;AACD;AANsC,WAAb,CAA5B;AAQA,iBAAOzC,KAAP;AACD,SAXD,CAWE,OAAOL,CAAP,EAAU;AACV;AACA,gBAAM8C,KAAN;AACD;AACF;AArBH,KADS,GAwBT,EAxBJ;AAH0B,GAAb,CAAf;AA6BD,CA5CM;;AA8CP,MAAMqB,QAAQ,GAAG,CACf5B,UADe,EAEf;AAAEyB,EAAAA,UAAF;AAAcE,EAAAA,mBAAmB,GAAG,IAApC;AAA0CE,EAAAA,2BAA2B,GAAG;AAAxE,IAAiF,EAFlE,KAGZ;AACH,QAAMC,UAAU,GAAGL,UAAU,GAAGM,OAAH,GAAUC,QAAvC;AAEA,SAAO,IAAI7B,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtCyB,IAAAA,UAAU,CAAC9B,UAAD,EAAa,CAACO,KAAD,EAAQ0B,WAAR,KAAwB;AAC7C,UAAI1B,KAAJ,EAAW;AACT,YAAIsB,2BAA2B,KAAKtB,KAAK,CAAC2B,IAAN,KAAe,OAAf,IAA0B3B,KAAK,CAAC2B,IAAN,KAAe,QAA9C,CAA/B,EAAwF;AACtF9B,UAAAA,OAAO,CAACyB,2BAA2B,CAACtB,KAAD,CAA5B,CAAP;AACD,SAFD,MAEO,IAAIoB,mBAAmB,IAAIpB,KAAK,CAAC2B,IAAN,KAAe,QAA1C,EAAoD;AACzD9B,UAAAA,OAAO,CAACuB,mBAAmB,CAACpB,KAAD,CAApB,CAAP;AACD,SAFM,MAEA;AACLF,UAAAA,MAAM,CAACE,KAAD,CAAN;AACD;AACF,OARD,MAQO;AACLH,QAAAA,OAAO,CAAC6B,WAAD,CAAP;AACD;AACF,KAZS,CAAV;AAaD,GAdM,CAAP;AAeD,CArBD;;ACrDO,MAAME,uBAAuB,GAAG,MAAM;AAC3C,QAAMC,QAAQ,GAAIC,QAAD,IAAc;AAC7B,QAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;AAClC,YAAM,IAAI1I,KAAJ,CAAW,oCAAmC0I,QAAS,EAAvD,CAAN;AACD;;AAED,WAAO;AACLA,MAAAA,QADK;AAELC,MAAAA,UAAU,EAAE,MAAM;AAFb,KAAP;AAID,GATD;;AAWA,QAAMC,gBAAgB,GAAG,MAAMjE,SAA/B;;AAEA,SAAO;AACL8D,IAAAA,QADK;AAELI,IAAAA,qBAAqB,EAAE,KAFlB;AAGLD,IAAAA;AAHK,GAAP;AAKD,CAnBM;;ACEA,MAAME,eAAe,GAAG,CAAC;AAC9BC,EAAAA,iBAAiB,GAAGP,uBAAuB,EADb;AAE9BQ,EAAAA,KAF8B;AAG9B,KAAGpJ;AAH2B,CAAD,KAIzB;AACJ,QAAMqJ,oBAAoB,GAAGpJ,MAAM,CAACC,IAAP,CAAYF,IAAZ,CAA7B;;AACA,MAAIqJ,oBAAoB,CAAClJ,MAAzB,EAAiC;AAC/B,UAAM,IAAIC,KAAJ,CAAW;;EAEnBiJ,oBAAqB;;;MAFb,CAAN;AAMD;;AAEDF,EAAAA,iBAAiB,CAACH,gBAAlB;AACA,QAAMM,OAAO,GAAG,IAAI1C,OAAJ,CAAaC,OAAD,IAAa;AACvCA,IAAAA,OAAO,CAACuC,KAAK,EAAN,CAAP;AACD,GAFe,CAAhB;AAGA,QAAMG,aAAa,GAAG,IAAI3C,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACrD,UAAM0C,kBAAkB,GAAGL,iBAAiB,CAACN,QAAlB,CAA4BY,WAAD,IAAiB;AACrED,MAAAA,kBAAkB,CAACT,UAAnB;AACAjC,MAAAA,MAAM,CAAC2C,WAAD,CAAN;AACD,KAH0B,CAA3B;AAIAH,IAAAA,OAAO,CAACI,IAAR,CAAaF,kBAAkB,CAACT,UAAhC,EAA4C,MAAM,EAAlD;AACD,GANqB,CAAtB;AAOA,QAAMY,gBAAgB,GAAG/C,OAAO,CAACgD,IAAR,CAAa,CAACN,OAAD,EAAUC,aAAV,CAAb,CAAzB;AAEA,SAAOI,gBAAP;AACD,CA7BM;;ACFA,MAAME,iBAAiB,GAAIC,MAAD,IAAY;AAC3C,QAAML,WAAW,GAAG,IAAIrJ,KAAJ,CAAW,oBAAmB0J,MAAO,EAArC,CAApB;AACAL,EAAAA,WAAW,CAACnK,IAAZ,GAAmB,cAAnB;AACAmK,EAAAA,WAAW,CAACK,MAAZ,GAAqBA,MAArB;AACA,SAAOL,WAAP;AACD,CALM;AAOA,MAAMM,aAAa,GAAI1K,KAAD,IAAW;AACtC,SAAOA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA1B,IAAsCA,KAAK,CAACC,IAAN,KAAe,cAA5D;AACD,CAFM;;ACPA,MAAM0K,YAAY,GAAG,CAACC,KAAD,EAAQC,IAAR,KAAiB;AAC3C,QAAMC,gBAAgB,GAAG,EAAzB;AACA,MAAIC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGH,KAAK,CAAC9J,MAAjB,EAAyB;AACvB,UAAMd,KAAK,GAAG4K,KAAK,CAACG,CAAD,CAAnB;AACAA,IAAAA,CAAC;;AACD,QAAI/K,KAAK,KAAK6K,IAAd,EAAoB;AAClB;AACD;;AACDC,IAAAA,gBAAgB,CAAChH,IAAjB,CAAsB9D,KAAtB;AACD;;AACD,SAAO8K,gBAAP;AACD,CAZM;;ACAP;AAIO,MAAME,wBAAwB,GAAG,MAAM;AAC5C,MAAIC,SAAS,GAAG,KAAhB;AACA,MAAIb,WAAJ;AACA,MAAIc,iBAAiB,GAAG,EAAxB;;AACA,QAAMC,MAAM,GAAIV,MAAD,IAAY;AACzB,QAAIQ,SAAJ,EAAe;AACfA,IAAAA,SAAS,GAAG,IAAZ;AACAb,IAAAA,WAAW,GAAGI,iBAAiB,CAACC,MAAD,CAA/B;AAEA,UAAMW,qBAAqB,GAAGF,iBAAiB,CAACzJ,KAAlB,EAA9B;AACAyJ,IAAAA,iBAAiB,CAACpK,MAAlB,GAA2B,CAA3B;AACAsK,IAAAA,qBAAqB,CAAC1I,OAAtB,CAA+B2I,YAAD,IAAkB;AAC9CA,MAAAA,YAAY,CAAC5B,QAAb,CAAsBW,WAAtB,EAD8C;AAG/C,KAHD;AAID,GAXD;;AAaA,QAAMZ,QAAQ,GAAIC,QAAD,IAAc;AAC7B,QAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;AAClC,YAAM,IAAI1I,KAAJ,CAAW,oCAAmC0I,QAAS,EAAvD,CAAN;AACD;;AAED,UAAM6B,oBAAoB,GAAGJ,iBAAiB,CAAC/C,IAAlB,CAAwBkD,YAAD,IAAkB;AACpE,aAAOA,YAAY,CAAC5B,QAAb,KAA0BA,QAAjC;AACD,KAF4B,CAA7B,CAL6B;;AAS7B,QAAI6B,oBAAJ,EAA0B;AACxB,aAAOA,oBAAP;AACD;;AAED,UAAMD,YAAY,GAAG;AACnB5B,MAAAA,QADmB;AAEnBC,MAAAA,UAAU,EAAE,MAAM;AAChBwB,QAAAA,iBAAiB,GAAGP,YAAY,CAACO,iBAAD,EAAoBG,YAApB,CAAhC;AACD;AAJkB,KAArB;AAMAH,IAAAA,iBAAiB,GAAG,CAACG,YAAD,EAAe,GAAGH,iBAAlB,CAApB;AAEA,WAAOG,YAAP;AACD,GAtBD;;AAwBA,QAAM1B,gBAAgB,GAAG,MAAM;AAC7B,QAAIsB,SAAJ,EAAe;AACb,YAAMb,WAAN;AACD;AACF,GAJD;;AAMA,SAAO;AACLmB,IAAAA,KAAK,EAAE;AACL/B,MAAAA,QADK;;AAEL,UAAII,qBAAJ,GAA4B;AAC1B,eAAOqB,SAAP;AACD,OAJI;;AAKLtB,MAAAA;AALK,KADF;AAQLwB,IAAAA;AARK,GAAP;AAUD,CAzDM;;ACJA,MAAMK,kBAAkB,GAAG,CAACC,IAAD,EAAOxL,IAAP,KAAgB;AAChD,MAAI8K,CAAC,GAAG,CAAR;;AAEA,SAAOA,CAAC,GAAGU,IAAI,CAAC3K,MAAhB,EAAwB;AACtB,UAAM4K,GAAG,GAAGD,IAAI,CAACV,CAAD,CAAhB;;AAEA,QAAIW,GAAG,KAAKzL,IAAZ,EAAkB;AAChB,aAAO;AACLA,QAAAA,IADK;AAELmB,QAAAA,KAAK,EAAE2J,CAFF;AAGL/K,QAAAA,KAAK,EAAE;AAHF,OAAP;AAKD;;AAED,QAAI0L,GAAG,CAAC5G,UAAJ,CAAgB,GAAE7E,IAAK,GAAvB,CAAJ,EAAgC;AAC9B,aAAO;AACLA,QAAAA,IADK;AAELmB,QAAAA,KAAK,EAAE2J,CAFF;AAGL/K,QAAAA,KAAK,EAAE0L,GAAG,CAACjK,KAAJ,CAAW,GAAExB,IAAK,GAAR,CAAWa,MAArB;AAHF,OAAP;AAKD;;AAEDiK,IAAAA,CAAC;AACF;;AAED,SAAO,IAAP;AACD,CA1BM;;ACGA,MAAMY,oBAAoB,GAAG,CAClCC,EADkC,EAElC;AAAEC,EAAAA,iBAAiB,GAAG,KAAtB;AAA6BC,EAAAA,wBAAwB,GAAG;AAAxD,IAAkE,EAFhC,KAG/B;AACH,MAAID,iBAAJ,EAAuB;AACrB,UAAME,UAAU,GAAGH,EAAnB;;AACAA,IAAAA,EAAE,GAAG,YAAY;AACf,UAAI;AACF,cAAM5L,KAAK,GAAG,MAAM+L,UAAU,EAA9B;AACA,eAAO/L,KAAP;AACD,OAHD,CAGE,OAAO2H,KAAP,EAAc;AACd,YAAI+C,aAAa,CAAC/C,KAAD,CAAjB,EAA0B;AACxB;AACA;AACA;AACA,iBAAOA,KAAP;AACD;;AACD,cAAMA,KAAN;AACD;AACF,KAbD;AAcD;;AAED,MAAImE,wBAAJ,EAA8B;AAC5B,UAAMC,UAAU,GAAGH,EAAnB;;AACAA,IAAAA,EAAE,GAAG,YAAY;AACf,YAAMI,SAAS,GAAGC,+BAA+B,EAAjD;;AACA,UAAI;AACF,cAAMjM,KAAK,GAAG,MAAM+L,UAAU,EAA9B;AACAC,QAAAA,SAAS;AACT,eAAOhM,KAAP;AACD,OAJD,CAIE,OAAO6E,CAAP,EAAU;AACV;AACAqH,QAAAA,UAAU,CAAC,MAAM;AACfF,UAAAA,SAAS;AACV,SAFS,CAAV;AAGA,cAAMnH,CAAN;AACD;AACF,KAbD;AAcD;;AAED,SAAO+G,EAAE,EAAT;AACD,CAzCM;;AA2CP,MAAMK,+BAA+B,GAAG,MAAM;AAC5C,QAAME,qBAAqB,GAAGX,kBAAkB,CAAC/C,OAAO,CAAC2D,QAAT,EAAmB,wBAAnB,CAAhD;AACA,MAAID,qBAAqB,KAAK,QAA9B,EAAwC,OAAO,MAAM,EAAb;;AAExC,QAAME,oBAAoB,GAAI5B,MAAD,IAAY;AACvC,UAAMA,MAAN;AACD,GAFD;;AAGAhC,EAAAA,OAAO,CAAC6D,IAAR,CAAa,oBAAb,EAAmCD,oBAAnC;AACA,SAAO,MAAM;AACX5D,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,oBAAvB,EAA6CF,oBAA7C;AACD,GAFD;AAGD,CAXD;;AC5CO,MAAMR,iBAAiB,GAAIW,OAAD,IAC/Bb,oBAAoB,CAACa,OAAD,EAAU;AAAEX,EAAAA,iBAAiB,EAAE;AAArB,CAAV,CADf;;ACEA,MAAMY,aAAa,GAAG,OAAO5M,GAAP,EAAY;AAAE6M,EAAAA,aAAa,GAAG;AAAlB,IAA2B,EAAvC,KAA8C;AACzE,QAAMC,YAAY,GAAGjI,8BAA8B,CAAC7E,GAAD,CAAnD;AACA,QAAM+M,aAAa,GAAGjH,mBAAmB,CAACgH,YAAD,CAAzC;AACA,QAAME,OAAO,GAAGC,IAAI,CAACC,GAAL,EAAhB;AACA,MAAIC,YAAY,GAAG,CAAnB;;AAEA,QAAMC,OAAO,GAAG,MAAM;AACpB,WAAOC,YAAY,CAACN,aAAD,EAAgB;AACjCO,MAAAA,6BAA6B,EAAE,MAAOxF,KAAP,IAAiB;AAC9CqF,QAAAA,YAAY;AACZ,cAAMI,KAAK,GAAGN,IAAI,CAACC,GAAL,EAAd;AACA,cAAMM,gBAAgB,GAAGD,KAAK,GAAGP,OAAjC;;AACA,YAAIQ,gBAAgB,GAAGX,aAAvB,EAAsC;AACpC,gBAAM/E,KAAN;AACD;;AAED,eAAO,IAAIJ,OAAJ,CAAaC,OAAD,IAAa;AAC9B0E,UAAAA,UAAU,CAAC,MAAM;AACf1E,YAAAA,OAAO,CAACyF,OAAO,EAAR,CAAP;AACD,WAFS,EAEPD,YAFO,CAAV;AAGD,SAJM,CAAP;AAKD;AAdgC,KAAhB,CAAnB;AAgBD,GAjBD;;AAmBA,SAAOC,OAAO,EAAd;AACD,CA1BM;;AA4BP,MAAMC,YAAY,GAAG,CAACN,aAAD,EAAgB;AAAEO,EAAAA,6BAA6B,GAAG;AAAlC,IAA2C,EAA3D,KAAkE;AACrF,SAAO,IAAI5F,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC6F,IAAAA,UAAO,CAACV,aAAD,EAAgB,CAACjF,KAAD,EAAQ4F,KAAR,KAAkB;AACvC,UAAI5F,KAAJ,EAAW;AACT;AACA,YAAIwF,6BAA6B,KAAKxF,KAAK,CAAC2B,IAAN,KAAe,QAAf,IAA2B3B,KAAK,CAAC2B,IAAN,KAAe,QAA/C,CAAjC,EAA2F;AACzF9B,UAAAA,OAAO,CAAC2F,6BAA6B,CAACxF,KAAD,CAA9B,CAAP;AACD,SAFD,MAEO;AACLF,UAAAA,MAAM,CAACE,KAAD,CAAN;AACD;AACF,OAPD,MAOO;AACLH,QAAAA,OAAO,CAAC+F,KAAD,CAAP;AACD;AACF,KAXM,CAAP;AAYD,GAbM,CAAP;AAcD,CAfD;;AChCO,MAAMC,iBAAiB,GAAG,CAACC,QAAD,EAAWC,aAAX,KAA6B;AAC5D,QAAMC,4BAA4B,GAAGC,gCAAgC,CAACH,QAAD,EAAWC,aAAX,CAArE,CAD4D;;AAI5D,MAAIC,4BAA4B,KAAK,CAAC,CAAtC,EAAyC;AACvC,WAAOF,QAAP;AACD;;AAED,QAAMI,YAAY,GAAGJ,QAAQ,CAAChM,KAAT,CAAe,CAAf,EAAkBkM,4BAA4B,GAAG,CAAjD,CAArB,CAR4D;;AAW5D,MAAIF,QAAQ,CAACK,MAAT,CAAgBH,4BAAhB,MAAkD,GAAtD,EAA2D;AACzD,WAAOE,YAAP;AACD;;AAED,MAAIH,aAAa,CAACI,MAAd,CAAqBH,4BAArB,MAAuD,GAA3D,EAAgE;AAC9D,WAAOE,YAAP;AACD;;AAED,QAAME,wBAAwB,GAAGF,YAAY,CAACG,WAAb,CAAyB,GAAzB,CAAjC;AACA,SAAOP,QAAQ,CAAChM,KAAT,CAAe,CAAf,EAAkBsM,wBAAwB,GAAG,CAA7C,CAAP;AACD,CArBM;;AAuBP,MAAMH,gCAAgC,GAAG,CAAC1M,MAAD,EAAS+M,WAAT,KAAyB;AAChE,QAAMC,eAAe,GAAGhM,IAAI,CAACiM,GAAL,CAASjN,MAAM,CAACJ,MAAhB,EAAwBmN,WAAW,CAACnN,MAApC,CAAxB;AACA,MAAIiK,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGmD,eAAX,EAA4B;AAC1B,UAAME,IAAI,GAAGlN,MAAM,CAAC4M,MAAP,CAAc/C,CAAd,CAAb;AACA,UAAMsD,SAAS,GAAGJ,WAAW,CAACH,MAAZ,CAAmB/C,CAAnB,CAAlB;;AACA,QAAIqD,IAAI,KAAKC,SAAb,EAAwB;AACtB,aAAOtD,CAAP;AACD;;AACDA,IAAAA,CAAC;AACF;;AACD,MAAI7J,MAAM,CAACJ,MAAP,KAAkBmN,WAAW,CAACnN,MAAlC,EAA0C;AACxC,WAAO,CAAC,CAAR;AACD,GAb+D;;;AAehE,SAAOoN,eAAP;AACD,CAhBD;;ACvBO,MAAMI,2BAA2B,GAAIb,QAAD,IAAc;AACvD,MAAIA,QAAQ,CAAC/J,QAAT,CAAkB,GAAlB,CAAJ,EAA4B;AAC1B,WAAO+J,QAAP;AACD;;AAED,QAAMc,cAAc,GAAGd,QAAQ,CAACO,WAAT,CAAqB,GAArB,CAAvB;;AACA,MAAIO,cAAc,KAAK,CAAC,CAAxB,EAA2B;AACzB,WAAO,EAAP;AACD;;AAED,SAAOd,QAAQ,CAAChM,KAAT,CAAe,CAAf,EAAkB8M,cAAc,GAAG,CAAnC,CAAP;AACD,CAXM;;ACGA,MAAMC,gBAAgB,GAAG,CAACC,MAAD,EAASC,UAAT,KAAwB;AACtD,QAAM7O,GAAG,GAAG,IAAI0D,GAAJ,CAAQkL,MAAR,CAAZ;AACA,QAAMzJ,OAAO,GAAG,IAAIzB,GAAJ,CAAQmL,UAAR,CAAhB;;AAEA,MAAI7O,GAAG,CAAC8O,QAAJ,KAAiB3J,OAAO,CAAC2J,QAA7B,EAAuC;AACrC,WAAOF,MAAP;AACD;;AAED,MAAI5O,GAAG,CAAC+O,QAAJ,KAAiB5J,OAAO,CAAC4J,QAAzB,IAAqC/O,GAAG,CAACgP,QAAJ,KAAiB7J,OAAO,CAAC6J,QAAlE,EAA4E;AAC1E,WAAOJ,MAAM,CAAChN,KAAP,CAAa5B,GAAG,CAAC8O,QAAJ,CAAa7N,MAA1B,CAAP;AACD;;AAED,MAAIjB,GAAG,CAACiP,IAAJ,KAAa9J,OAAO,CAAC8J,IAAzB,EAA+B;AAC7B,WAAOL,MAAM,CAAChN,KAAP,CAAa5B,GAAG,CAAC8O,QAAJ,CAAa7N,MAA1B,CAAP;AACD;;AAED,QAAM;AAAE2M,IAAAA,QAAF;AAAYsB,IAAAA,IAAZ;AAAkBC,IAAAA;AAAlB,MAA6BnP,GAAnC;;AACA,MAAI4N,QAAQ,KAAK,GAAjB,EAAsB;AACpB,WAAOzI,OAAO,CAACyI,QAAR,CAAiBhM,KAAjB,CAAuB,CAAvB,CAAP;AACD;;AAED,QAAM;AAAEgM,IAAAA,QAAQ,EAAEwB;AAAZ,MAA6BjK,OAAnC;AAEA,QAAMkK,cAAc,GAAG1B,iBAAiB,CAACC,QAAD,EAAWwB,YAAX,CAAxC;;AACA,MAAI,CAACC,cAAL,EAAqB;AACnB,WAAOT,MAAP;AACD;;AAED,QAAMU,gBAAgB,GAAG1B,QAAQ,CAAChM,KAAT,CAAeyN,cAAc,CAACpO,MAA9B,CAAzB;AACA,QAAMsO,oBAAoB,GAAGH,YAAY,CAACxN,KAAb,CAAmByN,cAAc,CAACpO,MAAlC,CAA7B;AACA,QAAMuO,6BAA6B,GAAGf,2BAA2B,CAACc,oBAAD,CAAjE;AACA,QAAME,2BAA2B,GAAGD,6BAA6B,CAACvP,OAA9B,CAAsC,QAAtC,EAAgD,KAAhD,CAApC;AAEA,QAAMyP,gBAAgB,GAAI,GAAED,2BAA4B,GAAEH,gBAAiB,EAA3E;AACA,SAAQ,GAAEI,gBAAiB,GAAEP,MAAO,GAAED,IAAK,EAA3C;AACD,CAnCM;;ACHA,MAAMS,gBAAgB,GAAG,CAACC,WAAD,EAAcC,aAAd,KAAgC;AAC9D,QAAMC,aAAa,GAAGF,WAAW,CAACG,KAAZ,CAAkB,GAAlB,CAAtB;AACA,QAAMC,cAAc,GAAGH,aAAa,CAACE,KAAd,CAAoB,GAApB,CAAvB;AAEA,QAAME,UAAU,GAAGH,aAAa,CAAC7O,MAAjC;AACA,QAAMiP,WAAW,GAAGF,cAAc,CAAC/O,MAAnC;AAEA,QAAMkP,SAAS,GAAG9N,IAAI,CAACC,GAAL,CAAS2N,UAAT,EAAqBC,WAArB,CAAlB;AACA,MAAIhF,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGiF,SAAX,EAAsB;AACpB,UAAMC,cAAc,IAAGlF,CAAC,IAAI4E,aAAR,CAApB;AACA,UAAMO,eAAe,IAAGnF,CAAC,IAAI8E,cAAR,CAArB,CAFoB;;AAIpB,QAAI,CAACI,cAAL,EAAqB,OAAO,CAAC,CAAR;AACrB,QAAI,CAACC,eAAL,EAAsB,OAAO,CAAC,CAAR;AAEtB,UAAMC,cAAc,GAAGpF,CAAC,KAAK4E,aAAa,CAAC7O,MAAd,GAAuB,CAApD;AACA,UAAMsP,eAAe,GAAGrF,CAAC,KAAK8E,cAAc,CAAC/O,MAAf,GAAwB,CAAtD,CARoB;;AAUpB,QAAIqP,cAAc,IAAI,CAACC,eAAvB,EAAwC,OAAO,CAAC,CAAR;AACxC,QAAI,CAACD,cAAD,IAAmBC,eAAvB,EAAwC,OAAO,CAAC,CAAR;AAExC,UAAMC,QAAQ,GAAGV,aAAa,CAAC5E,CAAD,CAA9B;AACA,UAAMuF,SAAS,GAAGT,cAAc,CAAC9E,CAAD,CAAhC;AACAA,IAAAA,CAAC,GAfmB;;AAiBpB,UAAMwF,UAAU,GAAGF,QAAQ,CAACG,aAAT,CAAuBF,SAAvB,CAAnB;AACA,QAAIC,UAAU,KAAK,CAAnB,EAAsB,OAAOA,UAAP;AACvB;;AAED,MAAIT,UAAU,GAAGC,WAAjB,EAA8B,OAAO,CAAC,CAAR;AAC9B,MAAID,UAAU,GAAGC,WAAjB,EAA8B,OAAO,CAAC,CAAR;AAC9B,SAAO,CAAP;AACD,CAjCM;;ACQA,MAAMU,YAAY,GAAG,OAAO;AACjC3G,EAAAA,iBAAiB,GAAGP,uBAAuB,EADV;AAEjCoD,EAAAA,YAFiC;AAGjClK,EAAAA,gBAHiC;AAIjCgB,EAAAA,SAJiC;AAKjCiN,EAAAA,qBAAqB,GAAG,MAAM;AALG,CAAP,KAMtB;AACJ,QAAMC,gBAAgB,GAAGjM,8BAA8B,CAACiI,YAAD,CAAvD;;AACA,MAAI,OAAOlJ,SAAP,KAAqB,UAAzB,EAAqC;AACnC,UAAM,IAAIvD,SAAJ,CAAe,qCAAoCuD,SAAU,EAA7D,CAAN;AACD;;AACD,MAAI,OAAOiN,qBAAP,KAAiC,UAArC,EAAiD;AAC/C,UAAM,IAAIxQ,SAAJ,CAAe,iDAAgDwQ,qBAAsB,EAArF,CAAN;AACD;;AACD,QAAMtN,0BAA0B,GAAGD,yBAAyB,CAACV,gBAAD,EAAmBkO,gBAAnB,CAA5D;AAEA,QAAMC,uBAAuB,GAAG,EAAhC;;AACA,QAAMC,cAAc,GAAG,MAAOlE,YAAP,IAAwB;AAC7C,UAAMmE,cAAc,GAAG,MAAMjH,eAAe,CAAC;AAC3CC,MAAAA,iBAD2C;AAE3CC,MAAAA,KAAK,EAAE,MAAM0C,aAAa,CAACE,YAAD;AAFiB,KAAD,CAA5C;AAKA,UAAMpF,OAAO,CAACwJ,GAAR,CACJD,cAAc,CAACE,GAAf,CAAmB,MAAOC,aAAP,IAAyB;AAC1C,YAAMC,qBAAqB,GAAI,GAAEvE,YAAa,GAAEsE,aAAc,EAA9D;AAEA,YAAME,uBAAuB,GAAG,MAAMtH,eAAe,CAAC;AACpDC,QAAAA,iBADoD;AAEpDC,QAAAA,KAAK,EAAE,MACLpB,sBAAsB,CAACuI,qBAAD,EAAwB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACArI,UAAAA,UAAU,EAAE;AAPgC,SAAxB;AAH4B,OAAD,CAArD;;AAcA,UAAIsI,uBAAuB,CAAC/L,WAAxB,EAAJ,EAA2C;AACzC,cAAMgM,eAAe,GAAI,GAAEF,qBAAsB,GAAjD;;AAEA,YACE,CAAC1N,0BAA0B,CAAC;AAC1B3D,UAAAA,GAAG,EAAEuR,eADqB;AAE1B3O,UAAAA,gBAAgB,EAAEW,0BAFQ;AAG1BK,UAAAA;AAH0B,SAAD,CAD7B,EAME;AACA;AACD;;AAED,cAAMoN,cAAc,CAACO,eAAD,CAApB;AACA;AACD;;AAED,UAAID,uBAAuB,CAAChM,MAAxB,EAAJ,EAAsC;AACpC,cAAMrC,IAAI,GAAGoB,SAAS,CAAC;AACrBrE,UAAAA,GAAG,EAAEqR,qBADgB;AAErBzO,UAAAA,gBAAgB,EAAEW;AAFG,SAAD,CAAtB;AAIA,YAAI,CAACK,SAAS,CAACX,IAAD,CAAd,EAAsB;AAEtB,cAAMuO,WAAW,GAAG7C,gBAAgB,CAAC0C,qBAAD,EAAwBP,gBAAxB,CAApC;AACA,cAAMW,eAAe,GAAG,MAAMzH,eAAe,CAAC;AAC5CC,UAAAA,iBAD4C;AAE5CC,UAAAA,KAAK,EAAE,MACL2G,qBAAqB,CAAC;AACpB5G,YAAAA,iBADoB;AAEpBuH,YAAAA,WAFoB;AAGpBvO,YAAAA,IAHoB;AAIpByO,YAAAA,SAAS,EAAEJ;AAJS,WAAD;AAHqB,SAAD,CAA7C;AAUAP,QAAAA,uBAAuB,CAAC9M,IAAxB,CAA6B;AAC3BuN,UAAAA,WAD2B;AAE3BvO,UAAAA,IAF2B;AAG3ByO,UAAAA,SAAS,EAAEJ,uBAHgB;AAI3BG,UAAAA;AAJ2B,SAA7B;AAMA;AACD;AACF,KA5DD,CADI,CAAN;AA+DD,GArED;;AAsEA,QAAMT,cAAc,CAACF,gBAAD,CAApB,CAjFI;AAoFJ;AACA;AACA;;AACAC,EAAAA,uBAAuB,CAACY,IAAxB,CAA6B,CAACC,QAAD,EAAWC,SAAX,KAAyB;AACpD,WAAOlC,gBAAgB,CAACiC,QAAQ,CAACJ,WAAV,EAAuBK,SAAS,CAACL,WAAjC,CAAvB;AACD,GAFD;AAGA,SAAOT,uBAAP;AACD,CAjGM;;ACDP,MAAM;AAAEe,EAAAA;AAAF,IAAYC,WAAlB;AAEO,MAAMC,cAAc,GAAG,OAC5BC,WAD4B,EAE5B;AAAEC,EAAAA,SAAS,GAAG,IAAd;AAAoBC,EAAAA,YAAY,GAAG;AAAnC,IAA6C,EAFjB,KAGzB;AACH,QAAMC,cAAc,GAAGvN,8BAA8B,CAACoN,WAAD,CAArD;AACA,QAAMI,eAAe,GAAGvM,mBAAmB,CAACsM,cAAD,CAA3C;AAEA,QAAME,gBAAgB,GAAG,MAAMxJ,sBAAsB,CAACsJ,cAAD,EAAiB;AACpErJ,IAAAA,cAAc,EAAE,IADoD;AAEpEC,IAAAA,UAAU,EAAE;AAFwD,GAAjB,CAArD;;AAKA,MAAIsJ,gBAAJ,EAAsB;AACpB,QAAIA,gBAAgB,CAAC/M,WAAjB,EAAJ,EAAoC;AAClC,UAAI4M,YAAJ,EAAkB;AAChB;AACD;;AACD,YAAM,IAAIjR,KAAJ,CAAW,+BAA8BmR,eAAgB,EAAzD,CAAN;AACD;;AAED,UAAME,eAAe,GAAGnN,WAAW,CAACkN,gBAAD,CAAnC;AACA,UAAM,IAAIpR,KAAJ,CACH,6BAA4BmR,eAAgB,uBAAsBE,eAAgB,EAD/E,CAAN;AAGD;;AAED,MAAI;AACF,UAAMT,KAAK,CAACO,eAAD,EAAkB;AAAEH,MAAAA;AAAF,KAAlB,CAAX;AACD,GAFD,CAEE,OAAOpK,KAAP,EAAc;AACd,QAAIqK,YAAY,IAAIrK,KAAK,CAAC2B,IAAN,KAAe,QAAnC,EAA6C;AAC3C;AACD;;AACD,UAAM3B,KAAN;AACD;AACF,CAlCM;;ACTA,MAAM0K,UAAU,GAAG,CAAChS,SAAD,EAAY2E,OAAZ,KAAwB;AAChD,MAAI,OAAOA,OAAP,KAAmB,WAAvB,EAAoC;AAClC,UAAM,IAAI9E,SAAJ,CAAe,8BAA6BG,SAAU,EAAtD,CAAN;AACD;;AAED,SAAOiD,MAAM,CAAC,IAAIC,GAAJ,CAAQlD,SAAR,EAAmB2E,OAAnB,CAAD,CAAb;AACD,CANM;;ACKA,MAAMsN,uBAAuB,GAAG,MAAOR,WAAP,IAAuB;AAC5D,QAAMG,cAAc,GAAGlN,yBAAyB,CAAC+M,WAAD,CAAhD;AACA,QAAMI,eAAe,GAAGvM,mBAAmB,CAACsM,cAAD,CAA3C;AACA,QAAMM,qBAAqB,GAAGC,YAAO,CAACN,eAAD,CAArC;AAEA,SAAOL,cAAc,CAACU,qBAAD,EAAwB;AAAER,IAAAA,SAAS,EAAE,IAAb;AAAmBC,IAAAA,YAAY,EAAE;AAAjC,GAAxB,CAArB;AACD,CANM;;ACHP,MAAMxJ,WAAS,GAAGC,OAAO,CAACC,QAAR,KAAqB,OAAvC;AACA,MAAM+J,eAAe,GAAGjO,mBAAmB,CAACiE,OAAO,CAACiK,GAAR,EAAD,CAA3C;;ACOA,MAAMlK,WAAS,GAAGC,OAAO,CAACC,QAAR,KAAqB,OAAvC;;ACVA,MAAMiK,WAAW,GAAIlJ,QAAD,IAAc;AAChC,QAAMmJ,oBAAoB,GAAG,MAAMnJ,QAAQ,EAA3C,CADgC;;;AAGhChB,EAAAA,OAAO,CAAC6D,IAAR,CAAa,OAAb,EAAsBsG,oBAAtB;AACA,SAAO,MAAM;AACXnK,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,OAAvB,EAAgCqG,oBAAhC;AACD,GAFD;AAGD,CAPD;;AASO,MAAMC,WAAW,GAAG;AACzBF,EAAAA;AADyB,CAApB;;ACTP,MAAMA,aAAW,GAAIlJ,QAAD,IAAc;AAChC;AACA;AACA;AACAhB,EAAAA,OAAO,CAAC6D,IAAR,CAAa,QAAb,EAAuB7C,QAAvB;AACA,SAAO,MAAM;AACXhB,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,QAAvB,EAAiC9C,QAAjC;AACD,GAFD;AAGD,CARD;;AAUO,MAAMqJ,YAAY,GAAG;AAC1BH,eAAAA;AAD0B,CAArB;;ACVP,MAAMA,aAAW,GAAIlJ,QAAD,IAAc;AAChC,MAAIhB,OAAO,CAACC,QAAR,KAAqB,OAAzB,EAAkC;AAChCqK,IAAAA,OAAO,CAACC,IAAR,CAAc,qCAAd;AACA,WAAO,MAAM,EAAb;AACD;;AAED,QAAMC,kBAAkB,GAAG,MAAMxJ,QAAQ,EAAzC,CANgC;;;AAQhChB,EAAAA,OAAO,CAAC6D,IAAR,CAAa,SAAb,EAAwB2G,kBAAxB;AACA,SAAO,MAAM;AACXxK,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,SAAvB,EAAkC0G,kBAAlC;AACD,GAFD;AAGD,CAZD;;AAcO,MAAMC,aAAa,GAAG;AAC3BP,eAAAA;AAD2B,CAAtB;;ACdP,IAAIQ,uBAAuB,GAAG,EAA9B;AACA,IAAInH,SAAJ;;AACA,MAAM2G,aAAW,GAAIlJ,QAAD,IAAc;AAChC,MAAI0J,uBAAuB,CAACrS,MAAxB,KAAmC,CAAvC,EAA0CkL,SAAS,GAAGoH,OAAO,EAAnB;AAC1CD,EAAAA,uBAAuB,GAAG,CAAC,GAAGA,uBAAJ,EAA6B1J,QAA7B,CAA1B;AAEA,SAAO,MAAM;AACX,QAAI0J,uBAAuB,CAACrS,MAAxB,KAAmC,CAAvC,EAA0C;AAC1CqS,IAAAA,uBAAuB,GAAGA,uBAAuB,CAACE,MAAxB,CACvBC,kBAAD,IAAwBA,kBAAkB,KAAK7J,QADvB,CAA1B;AAGA,QAAI0J,uBAAuB,CAACrS,MAAxB,KAAmC,CAAvC,EAA0CkL,SAAS;AACpD,GAND;AAOD,CAXD;;AAaA,MAAMoH,OAAO,GAAG,MAAM;AACpB,QAAMG,YAAY,GAAG,MAAM;AACzB,WAAOJ,uBAAuB,CAAChP,MAAxB,CAA+B,OAAOqP,QAAP,EAAiB/J,QAAjB,KAA8B;AAClE,YAAM+J,QAAN;AACA,aAAO/J,QAAQ,EAAf;AACD,KAHM,EAGJlC,OAAO,CAACC,OAAR,EAHI,CAAP;AAID,GALD;;AAMAiB,EAAAA,OAAO,CAAC6D,IAAR,CAAa,YAAb,EAA2BiH,YAA3B;AACA,SAAO,MAAM;AACX9K,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,YAAvB,EAAqCgH,YAArC;AACD,GAFD;AAGD,CAXD;;AAaO,MAAME,gBAAgB,GAAG;AAC9Bd,eAAAA;AAD8B,CAAzB;;AC5BP,MAAMA,aAAW,GAAG,CAAClJ,QAAD,EAAW;AAAEiK,EAAAA,iBAAiB,GAAG;AAAtB,IAAgC,EAA3C,KAAkD;AACpE,MAAI,CAACA,iBAAL,EAAwB;AACtB,UAAMC,YAAY,GAAG,MAAM;AACzBlK,MAAAA,QAAQ;AACT,KAFD;;AAGAhB,IAAAA,OAAO,CAACmL,EAAR,CAAW,MAAX,EAAmBD,YAAnB;AACA,WAAO,MAAM;AACXlL,MAAAA,OAAO,CAAC8D,cAAR,CAAuB,MAAvB,EAA+BoH,YAA/B;AACD,KAFD;AAGD;;AAED,QAAM;AAAEE,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAA0BC,eAAe,EAA/C;;AACA,QAAMJ,YAAY,GAAG,MAAM;AACzBlL,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,MAAvB,EAA+BoH,YAA/B;AACAG,IAAAA,IAAI;AACJrK,IAAAA,QAAQ,CAAC;AACPuK,MAAAA,cAAc,EAAEH,aAAa,GAAG7C,GAAhB,CAAoB,CAAC;AAAEiD,QAAAA,SAAF;AAAaC,QAAAA;AAAb,OAAD,KAA2B;AAC7D,eAAO;AAAED,UAAAA,SAAF;AAAaC,UAAAA;AAAb,SAAP;AACD,OAFe;AADT,KAAD,CAAR;AAKD,GARD;;AASAzL,EAAAA,OAAO,CAACmL,EAAR,CAAW,MAAX,EAAmBD,YAAnB;AACA,SAAO,MAAM;AACXlL,IAAAA,OAAO,CAAC8D,cAAR,CAAuB,MAAvB,EAA+BoH,YAA/B;AACD,GAFD;AAGD,CAzBD;;AA2BA,MAAMI,eAAe,GAAG,MAAM;AAC5B,MAAIC,cAAc,GAAG,EAArB;;AAEA,QAAMG,0BAA0B,GAAG,CAACC,kBAAD,EAAqBnK,OAArB,KAAiC;AAClE+J,IAAAA,cAAc,GAAG,CACf,GAAGA,cADY,EAEf;AAAEE,MAAAA,MAAM,EAAE,oBAAV;AAAgCD,MAAAA,SAAS,EAAEG,kBAA3C;AAA+DnK,MAAAA;AAA/D,KAFe,CAAjB;AAID,GALD;;AAOA,QAAMoK,wBAAwB,GAAIpK,OAAD,IAAa;AAC5C+J,IAAAA,cAAc,GAAGA,cAAc,CAACX,MAAf,CAAuBW,cAAD,IAAoBA,cAAc,CAAC/J,OAAf,KAA2BA,OAArE,CAAjB;AACD,GAFD;;AAIA,QAAMqK,yBAAyB,GAAG,CAACC,iBAAD,EAAoBL,MAApB,KAA+B;AAC/D;AACA,QAAIA,MAAM,KAAK,oBAAf,EAAqC;AAErCF,IAAAA,cAAc,GAAG,CACf,GAAGA,cADY,EAEf;AAAEE,MAAAA,MAAM,EAAE,mBAAV;AAA+BD,MAAAA,SAAS,EAAEM;AAA1C,KAFe,CAAjB;AAID,GARD;;AAUA9L,EAAAA,OAAO,CAACmL,EAAR,CAAW,oBAAX,EAAiCO,0BAAjC;AACA1L,EAAAA,OAAO,CAACmL,EAAR,CAAW,kBAAX,EAA+BS,wBAA/B;AACA5L,EAAAA,OAAO,CAACmL,EAAR,CAAW,mBAAX,EAAgCU,yBAAhC;AAEA,SAAO;AACLT,IAAAA,aAAa,EAAE,MAAMG,cADhB;AAELF,IAAAA,IAAI,EAAE,MAAM;AACVrL,MAAAA,OAAO,CAAC8D,cAAR,CAAuB,oBAAvB,EAA6C4H,0BAA7C;AACA1L,MAAAA,OAAO,CAAC8D,cAAR,CAAuB,kBAAvB,EAA2C8H,wBAA3C;AACA5L,MAAAA,OAAO,CAAC8D,cAAR,CAAuB,mBAAvB,EAA4C+H,yBAA5C;AACD;AANI,GAAP;AAQD,CApCD;;AAsCO,MAAME,UAAU,GAAG;AACxB7B,eAAAA;AADwB,CAAnB;;AC1DP,MAAMA,aAAW,GAAIlJ,QAAD,IAAc;AAChC,SAAOgL,SAAS,CAAC;AACfC,IAAAA,MAAM,EAAE;AACNlL,MAAAA,QAAQ,EAAEqJ,WAAW,CAACF,WADhB;AAENlJ,MAAAA,QAAQ,EAAE,MAAMA,QAAQ,CAAC,QAAD;AAFlB,KADO;AAKfkL,IAAAA,MAAM,EAAE;AACNnL,MAAAA,QAAQ,EAAEsJ,YAAY,CAACH,WADjB;AAENlJ,MAAAA,QAAQ,EAAE,MAAMA,QAAQ,CAAC,QAAD;AAFlB,KALO;AASf,QAAIhB,OAAO,CAACC,QAAR,KAAqB,OAArB,GACA,EADA,GAEA;AACEkM,MAAAA,OAAO,EAAE;AACPpL,QAAAA,QAAQ,EAAE0J,aAAa,CAACP,WADjB;AAEPlJ,QAAAA,QAAQ,EAAE,MAAMA,QAAQ,CAAC,SAAD;AAFjB;AADX,KAFJ,CATe;AAiBfoL,IAAAA,UAAU,EAAE;AACVrL,MAAAA,QAAQ,EAAEiK,gBAAgB,CAACd,WADjB;AAEVlJ,MAAAA,QAAQ,EAAE,MAAMA,QAAQ,CAAC,YAAD;AAFd,KAjBG;AAqBfqL,IAAAA,IAAI,EAAE;AACJtL,MAAAA,QAAQ,EAAEgL,UAAU,CAAC7B,WADjB;AAEJlJ,MAAAA,QAAQ,EAAE,MAAMA,QAAQ,CAAC,MAAD;AAFpB;AArBS,GAAD,CAAhB;AA0BD,CA3BD;;AA6BA,MAAMgL,SAAS,GAAIM,QAAD,IAAc;AAC9B,QAAMC,aAAa,GAAG,EAAtB;;AAEA,QAAMC,aAAa,GAAIxK,MAAD,IAAY;AAChC,WAAO7J,MAAM,CAACC,IAAP,CAAYmU,aAAZ,EAA2BhE,GAA3B,CAAgC/Q,IAAD,IAAU+U,aAAa,CAAC/U,IAAD,CAAb,CAAoBwK,MAApB,CAAzC,CAAP;AACD,GAFD;;AAIA7J,EAAAA,MAAM,CAACC,IAAP,CAAYkU,QAAZ,EAAsBrS,OAAtB,CAA+BzC,IAAD,IAAU;AACtC,UAAM;AAAEuJ,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAyBsL,QAAQ,CAAC9U,IAAD,CAAvC;AAEA+U,IAAAA,aAAa,CAAC/U,IAAD,CAAb,GAAsBuJ,QAAQ,CAAC,CAAC,GAAG0L,IAAJ,KAAa;AAC1CD,MAAAA,aAAa;AACbxL,MAAAA,QAAQ,CAAC,GAAGyL,IAAJ,CAAR;AACD,KAH6B,CAA9B;AAID,GAPD;AASA,SAAOD,aAAP;AACD,CAjBD;;AAmBO,MAAME,cAAc,GAAG;AAC5BxC,eAAAA;AAD4B,CAAvB;;ACpDA,MAAMyC,iCAAiC,GAAG,MAAM;AACrD,QAAMC,oBAAoB,GAAGrK,wBAAwB,EAArD;AACAmK,EAAAA,cAAc,CAACxC,WAAf,CAA4BlI,MAAD,IAAY4K,oBAAoB,CAAClK,MAArB,CAA6B,WAAUV,MAAO,EAA9C,CAAvC;AACA,SAAO4K,oBAAoB,CAAC9J,KAA5B;AACD,CAJM;;ACEP,MAAM+J,mBAAmB,GAAGC,cAAS,CAACC,WAAD,CAArC;AACO,MAAMC,QAAQ,GAAG,MAAOzV,KAAP,IAAiB;AACvC,QAAM4F,OAAO,GAAGb,yBAAyB,CAAC/E,KAAD,CAAzC;AACA,QAAM0V,QAAQ,GAAG/P,mBAAmB,CAACC,OAAD,CAApC;AACA,QAAM+P,MAAM,GAAG,MAAML,mBAAmB,CAACI,QAAD,CAAxC;AACA,SAAOC,MAAM,CAACC,QAAP,EAAP;AACD,CALM;;ACJP,MAAMpN,WAAS,GAAGC,OAAO,CAACC,QAAR,KAAqB,OAAvC;;ACFA;AAkBA,MAAMmN,OAAO,GAAGpN,OAAO,CAACC,QAAR,KAAqB,OAArC;;ACZA,MAAM;AAAEoN,EAAAA,SAAS,EAAEC;AAAb,IAA+BnE,WAArC;AAEO,MAAMkE,SAAS,GAAG,OAAOhE,WAAP,EAAoBkE,OAAO,GAAG,EAA9B,KAAqC;AAC5D,QAAM/D,cAAc,GAAGlN,yBAAyB,CAAC+M,WAAD,CAAhD;AAEA,QAAMI,eAAe,GAAGvM,mBAAmB,CAACsM,cAAD,CAA3C;;AACA,MAAI;AACF,UAAM8D,aAAa,CAAC7D,eAAD,EAAkB8D,OAAlB,CAAnB;AACD,GAFD,CAEE,OAAOrO,KAAP,EAAc;AACd,QAAIA,KAAK,CAAC2B,IAAN,KAAe,QAAnB,EAA6B;AAC3B,YAAMgJ,uBAAuB,CAACL,cAAD,CAA7B;AACA,YAAM8D,aAAa,CAAC7D,eAAD,EAAkB8D,OAAlB,CAAnB;AACA;AACD;;AACD,UAAMrO,KAAN;AACD;AACF,CAdM;;ACRA,MAAMsO,aAAa,GAAG,KAAtB;AAEA,MAAMC,eAAe,GAAG,OAAxB;AAEA,MAAMC,cAAc,GAAG,MAAvB;AAEA,MAAMC,cAAc,GAAG,MAAvB;AAEA,MAAMC,eAAe,GAAG,OAAxB;;ACAA,MAAMC,YAAY,GAAG,CAAC;AAAEC,EAAAA,QAAQ,GAAGJ;AAAb,IAAgC,EAAjC,KAAwC;AAClE,MAAII,QAAQ,KAAKL,eAAjB,EAAkC;AAChC,WAAO;AACLM,MAAAA,KADK;AAELC,MAAAA,IAFK;AAGLzD,MAAAA,IAHK;AAILrL,MAAAA;AAJK,KAAP;AAMD;;AAED,MAAI4O,QAAQ,KAAKJ,cAAjB,EAAiC;AAC/B,WAAO;AACLK,MAAAA,KAAK,EAAEE,aADF;AAELD,MAAAA,IAFK;AAGLzD,MAAAA,IAHK;AAILrL,MAAA